Este tutorial aborda a instalação rápida de um nó Lightning utilizando a conexão RPC (Remote Procedure Call), permitindo a abertura dos primeiros canais em menos de 30 minutos. Para acessar este serviço, os membros do BRLN devem realizar o cadastro por meio do bot oficial (https://t.me/brlnbtcserver_bot), utilizando o comando /generate para obter as credenciais de acesso. Este serviço é oferecido separadamente, com condições especiais para os membros do BR⚡️LN.
Passos para instalação: Baixar a imagem do Ubuntu Server: Acesse o site oficial (https://ubuntu.com/download/server) e faça o download da imagem ISO correspondente à última versão do Ubuntu Server. Criar um pendrive de boot: Utilize o Balena Etcher ou outro software de sua preferência para gravar a imagem ISO no pendrive.
Instalação do sistema:
Inicie o computador a partir do pendrive e siga os passos para instalar o Ubuntu Server.
Durante a instalação, certifique-se de marcar a opção [x] OpenSSH Server para habilitar o acesso remoto ao servidor via SSH.
Configuração de credenciais: Quando solicitado a inserir as credenciais de login, use as seguintes informações:
Nome: temp
Nome do servidor: minibolt
Usuário: temp
Senha: Escolha uma senha de sua preferência.
Finalização da instalação:
Após concluir a instalação, realize o reboot e remova o pendrive.
Caso uma mensagem de erro seja exibida no boot, pressione Enter para continuar.
Agora, sem o pendrive conectado, o sistema deve inicializar corretamente.
Para instalar o TailScale VPN, execute o seguinte comando no terminal:
curl -fsSL https://tailscale.com/install.sh | shApós a instalação, inicie o TailScale com o comando:
sudo tailscale upO terminal fornecerá um link. Esse link deve ser transcrito, letra por letra, no navegador de outro dispositivo, preferencialmente no computador que será utilizado para realizar o acesso SSH ao servidor.
Crie uma conta na tailscale e adicione o dispositivo.
Em seguida baixe o tailscale pelo link (https://tailscale.com/download/windows) e faça o login com a sua conta recém criada. Pronto, agora você já pode fazer o acesso via ssh no servidor, digitando no Terminal do Windows o seguinte comando:
ssh temp@ip.do.tailscaleEste ipv4 é o que é fornecido sob o nome de "minibolt" no tailsacale, que se você estiver usando Windows, deve estar na sua barra de icones próximo ao relógio.
Assim você pode acessar qualquer serviço de fora de casa usando o ip do tailscale, ao invés do ip da rede local.
Agora vamos criar o usuário admin, para isso, de o seguinte comando:
sudo adduser --gecos "" adminEle vai te pedir a senha atual, que você escolheu na instalação do sistema e em seguida digite duas vezes a nova senha para o usuário admin, que estamos criando.
Depois copie e cole no terminal:
sudo usermod -a -G sudo,adm,cdrom,dip,plugdev,lxd adminEm seguida faça o logout ou exit para retornar ao usuário temp
Agora que criamos um novo usuário "admin", vamos fazer o login neste novo usuário, novamente e apagar o usuário "temp" anterior.
Mais uma vez faça o comando, agora com o user admin:
ssh admin@ip.do.servidorUma vez logado, de o seguinte comando:
sudo userdel -rf tempVocê receberá uma mensagem de erro de not found, ou algo semelhante.
E depois de o seguinte comando, para copiar o repositório:
git clone https://github.com/pagcoinbtc/miniboltfullauto.gitAgora acesse o diretório copiado, com o seguinte comando:
cd miniboltfullautoAté agora fizemos a parte mais dificil que não pode ser automatizada por scripts, de agora em diante você vai seguir este passo a passo:
Execute o seguinte comando para aplicar as permições necessárias ao programa:
chmod +x miniboltfullauto.sh`Em seguida, execute o programa com o seguinte comando:
./miniboltfullauto.shObserve que você deve responder y sempre que solicitado.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Atenção, no registro das credenciais é onde acontecem a maior parte dos erros, copie os dados ou escreva-os com atenção!!!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
As credenciais que serão solicitadas no próximo script podem ser adquiridas pelo nosso plano mensal de conexão segura por rpc para um bitcoind externo que não exige instalação local da blockchain e reduz drasticamente a alocação de disco de algo em torno de 600/700Gb para algo em torno de 50 Gb na pior das hipoteses. Saiba mais sobre o projeto em: https://services.br-ln.com/
Caso você tenha errado alguma credencial voce pode apertar Ctrl + C e começar novamente ou corrigi-la após a instalação, editando o arquivo de configuração com o seguinte comando:
nano /data/lnd/lnd.confSaia do modo de edição digitando: CTRL + X e se você fez alterações no arquivo, digite Y para salvar.
No próximo passo vamos criar a carteira lightning, pegue um papel e uma caneta para anotar sua frase secreta.
Agora, de o seguinte comando:
lncli --tlscertpath /data/lnd/tls.cert.tmp createDigite duas vezes a mesma senha escolhida no script anterior, para confirmar e pressione n e enter .
Exemplo de resultado esperado:
lnd@minibolt:~$ lncli --tlscertpath /data/lnd/tls.cert.tmp create
Input wallet password:
Confirm password:
Do you have an existing cipher seed mnemonic or extended master root key you want to use?
Enter 'y' to use an existing cipher seed mnemonic, 'x' to use an extended master root key
or 'n' to create a new seed (Enter y/x/n): n
Your cipher seed can optionally be encrypted.
Input your passphrase if you wish to encrypt it (or press enter to proceed without a cipher seed passphrase):
Generating fresh cipher seed...
!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!
---------------BEGIN LND CIPHER SEED---------------
1. absent 2. drive 3. grape 4. inject
5. nut 6. pencil 7. cloud 8. rude
9. stomach 10. decline 11. kidney 12. various
13. spawn 14. harvest 15. wage 16. shield
17. debate 18. boring 19. assist 20. foster
21. slender 22. tent 23. deputy 24. any
---------------END LND CIPHER SEED-----------------
!!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!!
lnd successfully initialized!Veja o estado do service com o seguinte comando:
sudo systemctl status lnd.serviceExemplo de resultado esperado:
admin@minibolt:~$ sudo systemctl status lnd.service
[sudo] password for admin:
● lnd.service - Lightning Network Daemon
Loaded: loaded (/etc/systemd/system/lnd.service; enabled; preset: enabled)
Active: active (running) since Tue 2024-09-10 02:03:49 UTC; 1 week 0 days ago
Main PID: 124698 (lnd)
Status: "Wallet unlocked"
Tasks: 23 (limit: 38229)
Memory: 145.6M (peak: 286.0M)
CPU: 1h 30min 4.458s
CGroup: /system.slice/lnd.service
└─124698 /usr/local/bin/lnd
Sep 17 20:57:49 minibolt lnd[124698]: 2024-09-17 20:57:49.843 [INF] WTCL: (anchor) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
Sep 17 20:58:49 minibolt lnd[124698]: 2024-09-17 20:58:49.844 [INF] WTCL: (legacy) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
Sep 17 20:58:49 minibolt lnd[124698]: 2024-09-17 20:58:49.844 [INF] WTCL: (taproot) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquire>
Sep 17 20:58:49 minibolt lnd[124698]: 2024-09-17 20:58:49.844 [INF] WTCL: (anchor) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
Sep 17 20:59:49 minibolt lnd[124698]: 2024-09-17 20:59:49.843 [INF] WTCL: (legacy) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
Sep 17 20:59:49 minibolt lnd[124698]: 2024-09-17 20:59:49.843 [INF] WTCL: (taproot) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquire>
Sep 17 20:59:49 minibolt lnd[124698]: 2024-09-17 20:59:49.843 [INF] WTCL: (anchor) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
Sep 17 21:00:49 minibolt lnd[124698]: 2024-09-17 21:00:49.843 [INF] WTCL: (taproot) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquire>
Sep 17 21:00:49 minibolt lnd[124698]: 2024-09-17 21:00:49.843 [INF] WTCL: (legacy) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
Sep 17 21:00:49 minibolt lnd[124698]: 2024-09-17 21:00:49.843 [INF] WTCL: (anchor) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired>
lines 1-21/21 (END)Caso sua carteira ainda esteja "locked", você pode tentar verificar estas coisas, antes de precisar começar novamente:
A primeira coisa a se fazer é esperar o lnd sincronizar, de o seguinte comando:
sudo journalctl -xeu lnd- Se a ultima saída for algo como
Started rescan from block 0000000..., aguarde cerca de 2-5 minutos e tente novamente o seguinte comando:
sudo systemctl status lnd.service- Se a situação persistir, verifique o arquivo de configuração para se sertificar se a senha que você acabou de digitar, está correta e caso não esteja, corrija-a. Para isso, utilize o seguinte comando:
nano /data/lnd/lnd.confSaia do modo de edição digitando: CTRL + X e se você fez alterações no arquivo, digite Y para salvar.
- Se a situação persistir, verifique novamente o arquivo de configuração e verifique as credenciais do
[Bitcond], visto que é bastante comum erros na hora de informar estes parâmetros.
nano /data/lnd/lnd.confSaia do modo de edição digitando: CTRL + X e se você fez alterações no arquivo, digite Y para salvar.
Agora vamos reiniciar o serviço do lnd com o seguinte comando:
sudo systemctl restart lndE verificar novamente o status do lnd para verificar se agora a wallet aparece como: unlocked
sudo systemctl status lnd.serviceAgora você já deve estar pronto para ver as informações do seu node com o seguinte comando:
lncli getinfoAgora que seu lnd está pronto vamos instalar uma importante ferramenta de apoio a gestão do seu node, que é o Balance Of Satoshis (BOS). De o seguinte comando para dar as permissões necessárias ao programa:
chmod +x likeabos.sh` e `./likeabos.shSe você receber o seguinte erro (https://postimg.cc/LYMLQxpg) basta checar a conexão com a Internet e rodar novamente o script anterior
Ao final da instalação você precisa recarregar a sessão. Para isso, de o seguinte comando:
. ~/.profileAlternativamente, você pode sair da sessão com exit e logar novamente.
Agora vamos criar um bot (abreviação de "robot") para poder monitorar o movimento do node pelo Telegram.
Primeiramente acesse a loja do seu smartphone e instale o app do Telegram:
- Play store: https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=pt_BR&pli=1
- Apple store: https://apps.apple.com/br/app/telegram-messenger/id686449807
Agora acesse a ferramenta de criação de bots do Telegram no seguinte endereço: (https://t.me/BotFather) e crie um bot com o comando /newbot e siga os passos para a criação de um bot no Telegram, após o término copie o ´ token ´, ele será necessária para o próximo passo.
Agora retorne ao terminal do seu computador e de o comando:
bos telegramCole o token fornecido pelo BotFathter do Telegram e pressione Enter, volte para o bot recém criado no telegram e envie o seguinte comando: ´ /start `.
Ele vai te responder algo como: 🤖 Connection code is: ########
Cole o Connection code no terminal e pressione enter novamente, se tudo estiver correto você vai receber uma resposta 🤖 Connected to <nome do seu node> e você já pode seguir par ao próximo passo.
De o seguinte comando, para aplicar as permissões necessárias ao programa:
chmod +x bos-autostart.shAgora execute o programa com o seguinte comando:
./bos-autostart.shCole o Connection code quando solicitado. Ao final, basta pressionar Ctrl + C para voltar para o terminal.
Pronto o bos está pronto para ser usado no Telegram, mas ele também é uma feramenta de terminal que pode ser usado com o comando bos help
Apesar de muitas ferramentas serem opcionais, elas são imprescindíveis na vida de um node runner, recomendamos a sua intalação. A lightining não é brinquedo, use com responsabilidade. Boas transações!
Por segurança, aos que tiverem conhecimento para, sugiro revisão dos scripts. Aos leigos infelizmente é necessário um pouco de confiança, mas esta instalação é livre de malwares e com uma capacidade de te fornecer uma gama de possibilidades, se feita corretamente. Para mais informações sobre o projeto de emancipação pelo bitcoin, acesse: https://br-ln.com/ e faça sua associação para o nosso clube lightning do Brasil hoje mesmo!