Node Lightning memungkinkan kamu mengirim dan menerima pembayaran Bitcoin melalui payment channel, dan baru bermanfaat jika tetap online. Itu menjadikan VPS tempat yang alami untuknya. Panduan ini menyiapkan LND (Lightning Network Daemon) di Ubuntu atau Debian, dengan node Bitcoin Core di server yang sama sebagai backend.
Pilih backend Bitcoin terlebih dahulu
LND tidak memvalidasi Bitcoin sendiri. LND membutuhkan salah satu dari tiga backend:
- Bitcoin Core di VPS yang sama. Pilihan paling privat dan andal. Node pruned sudah cukup untuk LND, sehingga disk tetap kecil. Panduan node Bitcoin kami membahas instalasinya.
- Neutrino. Mode light client yang hampir tidak membutuhkan disk, tetapi bergantung pada peer lain untuk filter blok dan kurang tangguh.
- Node jarak jauh yang kamu percaya. Tidak masalah jika kamu sudah menjalankannya di tempat lain. Jangan pernah mengarahkan LND ke node yang tidak kamu kendalikan untuk node yang menyimpan dana sungguhan.
Bagi kebanyakan orang, Bitcoin Core pruned di server yang sama ditambah LND adalah pengaturan solid yang paling sederhana. Kedua program berjalan berdampingan pada paket 2 hingga 4 vCPU dengan RAM 4 hingga 8 GB. Lihat ukurannya di halaman hosting node Lightning kami.
Langkah 1: siapkan server
Mulailah dari VPS Ubuntu atau Debian yang baru dan ikuti cara mengamankan VPS baru. Buat pengguna biasa untuk node dan jangan jalankan LND sebagai root.
sudo adduser --disabled-password --gecos "" lnd
sudo usermod -aG bitcoin lnd # lets LND read the bitcoind cookie file
Langkah 2: biarkan Bitcoin Core berkomunikasi dengan LND
LND membaca blok dan transaksi dari Bitcoin Core melalui ZeroMQ. Tambahkan baris berikut ke bitcoin.conf dan restart 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
Tunggu hingga node Bitcoin selesai sinkronisasi pertamanya sebelum melanjutkan. LND tidak akan berfungsi dengan node yang masih mengejar ketertinggalan.
Langkah 3: unduh LND
Ambil rilis untuk CPU-mu dari halaman rilis lightningnetwork/lnd resmi di GitHub. Verifikasi tanda tangan dan file checksum sebelum menjalankan apa pun, seperti dijelaskan dalam catatan rilis.
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/
Ganti VERSION dengan rilis yang sudah kamu verifikasi.
Langkah 4: konfigurasi LND
Buat /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
Sesuaikan path cookie dengan tempat pengguna Bitcoin-mu menyimpannya. Port gRPC dan REST sengaja diikat ke localhost.
Langkah 5: jalankan sebagai layanan
[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
Simpan sebagai /etc/systemd/system/lnd.service, lalu jalankan sudo systemctl enable --now lnd. Buat dompet satu kali dengan lncli create.
Langkah 6: lindungi seed dan cadangan channel
lncli create mencetak seed phrase 24 kata. Tulis di kertas dan simpan secara offline. Seed hanya memulihkan dana on-chain-mu. Status channel terpisah, jadi simpan juga salinan channel.backup (di ~/.lnd/data/chain/bitcoin/mainnet/) di tempat di luar server dan perbarui setelah setiap perubahan channel. Jangan pernah memulihkan salinan lama dari seluruh database, karena dapat memicu penalti.
Firewall
Buka hanya port 9735 jika kamu ingin node lain terhubung kepadamu. Biarkan 10009 dan 8080 tertutup dari internet. Baca panduan hardening untuk dasar-dasar lainnya.