Um nó Lightning permite enviar e receber pagamentos em Bitcoin por canais de pagamento, e só compensa se ficar online. Isso faz de uma VPS um lugar natural para ele. Este guia configura o LND (Lightning Network Daemon) no Ubuntu ou Debian, usando um nó Bitcoin Core no mesmo servidor como backend.
Escolha primeiro seu backend Bitcoin
O LND não valida o Bitcoin por conta própria. Ele precisa de um de três backends:
- Bitcoin Core na mesma VPS. A escolha mais privada e confiável. Um nó podado basta para o LND, o que mantém o disco pequeno. Nosso guia do nó Bitcoin cobre a instalação.
- Neutrino. Um modo de cliente leve que quase não usa disco, mas depende de outros peers para os filtros de blocos e é menos robusto.
- Um nó remoto em que você confia. Serve se você já roda um em outro lugar. Nunca aponte o LND para um nó que você não controla quando o nó guarda fundos reais.
Para a maioria das pessoas, um Bitcoin Core podado no mesmo servidor mais o LND é a configuração sólida mais simples. Os dois programas convivem em um plano de 2 a 4 vCPU com 4 a 8 GB de RAM. Veja o dimensionamento na nossa página de hospedagem de nó Lightning.
Passo 1: prepare o servidor
Comece com uma VPS Ubuntu ou Debian nova e siga como proteger uma VPS nova. Crie um usuário normal para o nó e não rode o LND como root.
sudo adduser --disabled-password --gecos "" lnd
sudo usermod -aG bitcoin lnd # lets LND read the bitcoind cookie file
Passo 2: deixe o Bitcoin Core conversar com o LND
O LND lê blocos e transações do Bitcoin Core via ZeroMQ. Adicione estas linhas ao bitcoin.conf e reinicie o bitcoind:
server=1
prune=20000
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
Aguarde o nó Bitcoin terminar a primeira sincronização antes de continuar. O LND não funciona com um nó que ainda está se atualizando.
Passo 3: baixe o LND
Obtenha a versão para a sua CPU na página oficial de releases do lightningnetwork/lnd no GitHub. Verifique a assinatura e o arquivo de checksum antes de executar qualquer coisa, como explicam as notas da versão.
cd /tmp
wget https://github.com/lightningnetwork/lnd/releases/download/vVERSION/lnd-linux-amd64-vVERSION.tar.gz
tar xzf lnd-linux-amd64-vVERSION.tar.gz
sudo install -m 0755 lnd-linux-amd64-vVERSION/lnd lnd-linux-amd64-vVERSION/lncli /usr/local/bin/
Substitua VERSION pela versão que você verificou.
Passo 4: configure o LND
Crie /home/lnd/.lnd/lnd.conf:
[Application Options]
alias=my-node
listen=0.0.0.0:9735
rpclisten=127.0.0.1:10009
restlisten=127.0.0.1:8080
maxpendingchannels=5
[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=bitcoind
[Bitcoind]
bitcoind.rpchost=127.0.0.1:8332
bitcoind.rpccookie=/home/bitcoin/.bitcoin/.cookie
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
Ajuste o caminho do cookie para onde o seu usuário Bitcoin o guarda. As portas gRPC e REST ficam vinculadas ao localhost de propósito.
Passo 5: execute-o como serviço
[Unit]
Description=LND
After=bitcoind.service
Requires=bitcoind.service
[Service]
User=lnd
ExecStart=/usr/local/bin/lnd
Restart=on-failure
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target
Salve-o como /etc/systemd/system/lnd.service e execute sudo systemctl enable --now lnd. Crie a carteira uma única vez com lncli create.
Passo 6: proteja a seed e o backup dos canais
O lncli create exibe uma seed phrase de 24 palavras. Anote-a no papel e guarde offline. A seed restaura apenas seus fundos on-chain. O estado dos canais é separado, então guarde também uma cópia do channel.backup (em ~/.lnd/data/chain/bitcoin/mainnet/) fora do servidor e atualize-a após cada mudança de canal. Nunca restaure uma cópia antiga do banco de dados completo, pois isso pode acionar uma penalidade.
Firewall
Abra apenas a porta 9735 se quiser que outros nós se conectem a você. Mantenha 10009 e 8080 fechadas para a internet. Leia o guia de proteção para o restante do básico.