Lightning नोड आपको पेमेंट चैनलों के ज़रिए Bitcoin भुगतान भेजने और पाने देता है, और वह तभी काम का है जब ऑनलाइन रहे। इसलिए VPS उसके लिए स्वाभाविक जगह है। यह गाइड Ubuntu या Debian पर LND (Lightning Network Daemon) सेट करती है, और उसी सर्वर पर Bitcoin Core नोड को बैकएंड के रूप में उपयोग करती है।
पहले अपना Bitcoin बैकएंड चुनें
LND अपने आप Bitcoin को वैलिडेट नहीं करता। उसे तीन में से एक बैकएंड चाहिए:
- उसी VPS पर Bitcoin Core। सबसे निजी और भरोसेमंद विकल्प। LND के लिए प्रून्ड नोड काफ़ी है, जिससे डिस्क छोटी रहती है। इंस्टॉल की जानकारी हमारी Bitcoin नोड गाइड में है।
- Neutrino। एक लाइट-क्लाइंट मोड जिसे लगभग डिस्क नहीं चाहिए, लेकिन वह ब्लॉक फ़िल्टर के लिए दूसरे पीयर पर निर्भर करता है और कम मज़बूत है।
- कोई रिमोट नोड जिस पर आप भरोसा करते हैं। अगर आप पहले से कहीं और एक चला रहे हैं तो ठीक है। असली फ़ंड वाले नोड के लिए LND को कभी ऐसे नोड की ओर न इंगित करें जो आपके नियंत्रण में नहीं है।
ज़्यादातर लोगों के लिए उसी सर्वर पर प्रून्ड Bitcoin Core और LND सबसे आसान और मज़बूत सेटअप है। दोनों प्रोग्राम 4 से 8 GB RAM वाले 2 से 4 vCPU प्लान पर साथ-साथ चलते हैं। आकार की जानकारी हमारे Lightning नोड होस्टिंग पेज पर देखें।
चरण 1: सर्वर तैयार करें
नए Ubuntu या Debian VPS से शुरू करें और नए 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 डाउनलोड करें
GitHub पर आधिकारिक lightningnetwork/lnd रिलीज़ पेज से अपने CPU के लिए रिलीज़ लें। कुछ भी चलाने से पहले सिग्नेचर और चेकसम फ़ाइल सत्यापित करें, जैसा कि रिलीज़ नोट्स में बताया गया है।
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: सीड और चैनल बैकअप की सुरक्षा करें
lncli create 24 शब्दों का सीड फ़्रेज़ प्रिंट करता है। इसे कागज़ पर लिखें और ऑफ़लाइन रखें। सीड सिर्फ़ आपके ऑन-चेन फ़ंड वापस लाता है। चैनल की स्टेट अलग होती है, इसलिए channel.backup (~/.lnd/data/chain/bitcoin/mainnet/ में) की एक कॉपी भी सर्वर से बाहर कहीं रखें और हर चैनल बदलाव के बाद उसे ताज़ा करें। पूरे डेटाबेस की पुरानी कॉपी कभी रीस्टोर न करें, क्योंकि इससे पेनल्टी लग सकती है।
फ़ायरवॉल
अगर आप चाहते हैं कि दूसरे नोड आपसे जुड़ें, तो सिर्फ़ पोर्ट 9735 खोलें। 10009 और 8080 को इंटरनेट के लिए बंद रखें। बाकी बुनियादी बातों के लिए सुरक्षा गाइड पढ़ें।