Un nodo Lightning ti permette di inviare e ricevere pagamenti Bitcoin tramite canali di pagamento, e ha senso solo se resta online. Questo rende un VPS la casa naturale per un nodo del genere. Questa guida configura LND (Lightning Network Daemon) su Ubuntu o Debian, usando come backend un nodo Bitcoin Core sullo stesso server.
Scegli prima il tuo backend Bitcoin
LND non convalida Bitcoin da solo. Ha bisogno di uno di tre backend:
- Bitcoin Core sullo stesso VPS. La scelta più privata e affidabile. Per LND basta un nodo pruned, che mantiene piccolo il disco. La nostra guida al nodo Bitcoin copre l'installazione.
- Neutrino. Una modalità light client che richiede quasi nessun disco, ma si affida ad altri peer per i filtri dei blocchi ed è meno robusta.
- Un nodo remoto di cui ti fidi. Va bene se ne gestisci già uno altrove. Non puntare mai LND a un nodo che non controlli se il tuo nodo custodisce fondi reali.
Per la maggior parte delle persone, un Bitcoin Core pruned sullo stesso server più LND è la configurazione solida più semplice. I due programmi convivono su un piano da 2-4 vCPU con 4-8 GB di RAM. Vedi i dimensionamenti nella nostra pagina hosting di nodi Lightning.
Passo 1: prepara il server
Parti da un VPS Ubuntu o Debian appena creato e segui come proteggere un nuovo VPS. Crea un utente normale per il nodo e non eseguire LND come root.
sudo adduser --disabled-password --gecos "" lnd
sudo usermod -aG bitcoin lnd # lets LND read the bitcoind cookie file
Passo 2: fai parlare Bitcoin Core con LND
LND legge blocchi e transazioni da Bitcoin Core tramite ZeroMQ. Aggiungi queste righe a bitcoin.conf e riavvia 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
Aspetta che il nodo Bitcoin finisca la prima sincronizzazione prima di continuare. LND non funziona con un nodo che sta ancora recuperando.
Passo 3: scarica LND
Scarica la release per la tua CPU dalla pagina ufficiale delle release lightningnetwork/lnd su GitHub. Verifica la firma e il file dei checksum prima di eseguire qualsiasi cosa, come spiegano le note di rilascio.
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/
Sostituisci VERSION con la release che hai verificato.
Passo 4: configura LND
Crea /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
Modifica il percorso del cookie in base a dove lo conserva il tuo utente Bitcoin. Le porte gRPC e REST sono associate a localhost di proposito.
Passo 5: eseguilo come servizio
[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
Salvala come /etc/systemd/system/lnd.service, poi esegui sudo systemctl enable --now lnd. Crea il wallet una sola volta con lncli create.
Passo 6: proteggi il seed e il backup dei canali
lncli create stampa una seed phrase di 24 parole. Scrivila su carta e conservala offline. Il seed ripristina solo i tuoi fondi on-chain. Lo stato dei canali è separato, quindi conserva anche una copia di channel.backup (in ~/.lnd/data/chain/bitcoin/mainnet/) fuori dal server e aggiornala dopo ogni modifica ai canali. Non ripristinare mai una vecchia copia dell'intero database, perché può far scattare una penalità.
Firewall
Apri solo la porta 9735 se vuoi che altri nodi si colleghino a te. Tieni chiuse 10009 e 8080 verso internet. Leggi la guida all'hardening per il resto delle basi.