نود Lightning به شما امکان میدهد پرداختهای Bitcoin را از طریق کانالهای پرداخت ارسال و دریافت کنید و فقط وقتی ارزش دارد که آنلاین بماند. همین VPS را جای طبیعی آن میکند. این راهنما LND (Lightning Network Daemon) را روی Ubuntu یا Debian راهاندازی میکند و از یک نود Bitcoin Core روی همان سرور بهعنوان بکاند استفاده میکند.
ابتدا بکاند Bitcoin را انتخاب کنید
LND بهتنهایی Bitcoin را اعتبارسنجی نمیکند. به یکی از سه بکاند نیاز دارد:
- Bitcoin Core روی همان VPS. خصوصیترین و قابلاعتمادترین انتخاب. نود هرسشده برای LND کافی است و دیسک را کوچک نگه میدارد. راهنمای نود Bitcoin ما نصب آن را توضیح میدهد.
- Neutrino. حالت کلاینت سبک که تقریباً به دیسک نیاز ندارد، اما برای فیلترهای بلوک به همتاهای دیگر وابسته است و استحکام کمتری دارد.
- یک نود راه دور مورد اعتماد. اگر قبلاً جای دیگری یکی دارید، مشکلی نیست. هرگز برای نودی که پول واقعی دارد، LND را به نودی که کنترل نمیکنید وصل نکنید.
برای بیشتر افراد، Bitcoin Core هرسشده روی همان سرور بهعلاوهٔ LND سادهترین و مطمئنترین پیکربندی است. هر دو برنامه کنار هم روی پلن 2 تا 4 vCPU با 4 تا 8 GB RAM اجرا میشوند. اندازهها را در صفحهٔ هاستینگ نود Lightning ما ببینید.
گام ۱: آمادهسازی سرور
با یک VPS تازهٔ Ubuntu یا Debian شروع کنید و راهنمای ایمنسازی یک VPS جدید را دنبال کنید. یک کاربر عادی برای نود بسازید و LND را با root اجرا نکنید.
sudo adduser --disabled-password --gecos "" lnd
sudo usermod -aG bitcoin lnd # lets LND read the bitcoind cookie file
مرحله 2: اتصال Bitcoin Core به LND
LND بلوکها و تراکنشها را از طریق ZeroMQ از Bitcoin Core میخواند. این خطها را به bitcoin.conf اضافه کنید و 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
پیش از ادامه صبر کنید نود Bitcoin همگامسازی اول را تمام کند. LND با نودی که هنوز در حال رسیدن به زنجیره است کار نمیکند.
مرحله 3: دانلود LND
نسخهٔ مناسب CPU خود را از صفحهٔ انتشار رسمی lightningnetwork/lnd در GitHub بگیرید. همانطور که یادداشتهای انتشار توضیح میدهند، پیش از اجرای هر چیزی امضا و فایل چکسام را بررسی کنید.
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/
VERSION را با نسخهای که تأیید کردهاید جایگزین کنید.
مرحله 4: پیکربندی LND
فایل /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
مسیر cookie را به هر جایی که کاربر Bitcoin شما آن را نگه میدارد تغییر دهید. پورتهای gRPC و REST عمداً به localhost متصل شدهاند.
مرحله 5: آن را بهصورت سرویس اجرا کنید
[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
آن را بهصورت /etc/systemd/system/lnd.service ذخیره کنید، سپس sudo systemctl enable --now lnd را اجرا کنید. کیف پول را یک بار با lncli create بسازید.
مرحله 6: محافظت از seed و پشتیبان کانال
lncli create یک عبارت seed با 24 کلمه چاپ میکند. آن را روی کاغذ بنویسید و آفلاین نگه دارید. seed فقط داراییهای on-chain شما را بازیابی میکند. وضعیت کانال جداست، بنابراین یک نسخه از channel.backup (در ~/.lnd/data/chain/bitcoin/mainnet/) را هم جایی بیرون از سرور نگه دارید و پس از هر تغییر کانال آن را بهروز کنید. هرگز نسخهٔ قدیمی کل پایگاه داده را بازیابی نکنید، چون ممکن است جریمه ایجاد کند.
فایروال
اگر میخواهید نودهای دیگر به شما وصل شوند، فقط پورت 9735 را باز کنید. پورتهای 10009 و 8080 را برای اینترنت بسته نگه دارید. برای بقیهٔ مبانی، راهنمای مقاومسازی را بخوانید.