OffshoreVps
Tutoriais19 out. 20267 min de leituraPor a equipe da OffshoreVps

Como executar um nó Lightning (LND) em um VPS

Instale o LND no Ubuntu com o Bitcoin Core como backend: configuração, serviço systemd, backup da carteira e dos canais, regras de firewall e o que proteger.

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.

Janela de terminal em um VPS mostrando os comandos usados para executar um nó Lightning com o LND, começando com “sudo adduser --disabled-password --gecos "" lnd”
O tipo de comandos que você executará no servidor neste guia.

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.

Os passos deste guia em ordem: 1. Escolha primeiro o seu backend Bitcoin; 2. prepare o servidor; 3. baixe o LND; 4. configure o LND; 5. proteja a seed e o backup dos canais; 6. Firewall
Os passos deste guia, em ordem.

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.