OffshoreVps
آموزش‌ها19 اکتبر 20267 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

چگونه یک نود Lightning (LND) را روی VPS اجرا کنیم

LND را روی Ubuntu با Bitcoin Core به‌عنوان بک‌اند نصب کنید: پیکربندی، سرویس systemd، پشتیبان‌گیری از کیف پول و کانال‌ها، قواعد فایروال و آنچه باید محافظت شود.

نود Lightning به شما امکان می‌دهد پرداخت‌های Bitcoin را از طریق کانال‌های پرداخت ارسال و دریافت کنید و فقط وقتی ارزش دارد که آنلاین بماند. همین VPS را جای طبیعی آن می‌کند. این راهنما LND (Lightning Network Daemon) را روی Ubuntu یا Debian راه‌اندازی می‌کند و از یک نود Bitcoin Core روی همان سرور به‌عنوان بک‌اند استفاده می‌کند.

پنجره‌ی ترمینال روی یک VPS که دستورهای اجرای نود Lightning با LND را نشان می‌دهد، با «sudo adduser --disabled-password --gecos "" lnd» شروع می‌شود
نوع دستورهایی که در این راهنما روی سرور خود اجرا می‌کنید.

ابتدا بک‌اند 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 را با نسخه‌ای که تأیید کرده‌اید جایگزین کنید.

گام‌های این راهنما به ترتیب: ۱. ابتدا بک‌اند Bitcoin خود را انتخاب کنید؛ ۲. آماده‌سازی سرور؛ ۳. دانلود LND؛ ۴. پیکربندی LND؛ ۵. محافظت از seed و پشتیبان کانال؛ ۶. فایروال
گام‌های این راهنما به ترتیب.

مرحله 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 را برای اینترنت بسته نگه دارید. برای بقیهٔ مبانی، راهنمای مقاوم‌سازی را بخوانید.