एक बोतल में बिजली

शुरू करना

हमारी लाइटनिंग नेटवर्क श्रृंखला के भाग दो में, हम अपने अनुभव को लाइटनिंग नेटवर्क और हमारे द्वारा खोजे जा रहे कुछ नुकसानों के बारे में बताएंगे। हमारी श्रृंखला के तीसरे भाग में हम अपना ट्यूटोरियल शुरू करेंगे कि कैसे अपने स्थानीय नोड्स चलाएं, एंड्रॉइड फोन से एक लाइटनिंग नोड और मोबाइल और स्थानीय नोड के बीच एक भुगतान चैनल बना सकते हैं।

अवलोकन

हमने एडब्ल्यूएस क्लाउड में एक बिटकॉइन नोड और लाइटनिंग नोड स्थापित करने, एंड्रॉइड फोन से चलने वाले लाइटनिंग नोड और अंततः दो लाइटनिंग नोड्स के बीच एक भुगतान चैनल स्थापित करने के कार्य को शुरू किया। आरंभ करने के लिए, हम बिटकॉइन टेस्टनेट पर स्थानीय रूप से काम करने वाले सभी चीज़ों को प्राप्त करना चाहते थे, ताकि क्लाउड से चलने वाले नोड्स की कोशिश हो। एंड्रॉइड भाग के लिए, हमने ACINQ के स्काला लाइटनिंग नेटवर्क का उपयोग किया। हम उनके प्रोजेक्ट को ओपन सोर्स करने के लिए और उनके सुस्त चैनल पर अंतहीन समर्थन प्रदान करने के लिए LND टीम को एक बड़ा धन्यवाद देना चाहेंगे!

टूलचिन का इस्तेमाल किया

  • लाइटनिंग नेटवर्क के एक स्काला कार्यान्वयन के साथ एंड्रॉइड जावा
  • LND का लाइटनिंग नेटवर्क का कार्यान्वयन
  • बिटकॉइन के बिटकॉइन प्रोटोकॉल का कार्यान्वयन
  • हमारे नोड्स को कंटेनर में डालने के लिए डॉकटर
  • दुनिया के लिए मेरे स्थानीय बिजली नोड को उजागर करने के लिए सेवा

हमने क्लाउड क्षमताओं के लिए AWS का उपयोग करने का इरादा किया था, लेकिन हमें विकास में उस बिंदु तक पहुंचने से रोकने वाले मुद्दों का एक अच्छा हिस्सा था।

इसे स्थानीय रूप से चलाना

स्थानीय नोड्स

बिटकॉइन और लाइटनिंग नोड्स को प्राप्त करना बहुत मुश्किल है और ज्यादातर बिटकॉइन ब्लॉकचेन को डाउनलोड करने और डाउनलोड करने के लिए सभी सही निर्भरता प्राप्त करना शामिल है। चूंकि हम टेस्टनेट का उपयोग कर रहे थे, इसलिए इसे डाउनलोड करने में केवल 4 घंटे लगे। इसके अलावा, यह सुनिश्चित करना भी महत्वपूर्ण था कि हमारे पास नोड्स के लिए सही झंडे और कॉन्फ़िगरेशन हैं।

एंड्रॉयड

एंड्रॉइड फोन पर चलने वाले लाइटनिंग नेटवर्क को प्राप्त करना काफी अधिक प्रयास था। सबसे पहले, हमें यह समझने के लिए ACINQ के एक्लेयर वॉलेट पर एक नज़र डालनी थी कि लाइटवेट नेटवर्क के अपने स्काला कार्यान्वयन का उपयोग कैसे करें। पहली नज़र में यह काफी जटिल लग रहा था, लेकिन टुकड़ा द्वारा टुकड़ा हमने इसे तोड़ दिया और बुनियादी बॉयलर प्लेट कोड के लिए आवश्यक घटकों को अलग कर दिया।

अतिरिक्त सेटअप

मेरे स्थानीय नोड्स और बाहरी दुनिया के बीच संचार को सुगम बनाने के लिए आवश्यक अंतिम चरण पोर्ट फॉरवर्डिंग के लिए SSH सर्वर के माध्यम से उन्हें उजागर करना था। हमने इसके लिए रेपो का इस्तेमाल किया, लेकिन एनग्रॉक काम भी करता है।

प्रारंभिक चुनौतियां

परीक्षण नोड्स प्राप्त करने और चलाने और भुगतान चैनल बनाने के बारे में सबसे थकाऊ पहलू था। चूंकि हम टेस्टनेट का उपयोग कर रहे थे, हमें अभी भी खनिकों से 6 पुष्टियों का इंतजार करना था और उन्हें पूरा करने में 30 मिनट तक लग सकते थे। जब भी हम ऑफ-चेन लेन-देन के लिए धन का लेन-देन करेंगे, या भुगतान चैनल को बंद और व्यवस्थित करेंगे, तो हम आधे और घंटे के लिए इंतजार कर रहे थे।

हमारे सामने एक और असुविधा यह थी कि इसे खोलने के बाद हम भुगतान चैनल को निधि नहीं दे सकते थे। अनिवार्य रूप से, आपने जिन धनराशि से भुगतान चैनल खोला है, वे सभी धनराशि हैं जिन्हें आपको राज्य में खर्च करने से पहले मुख्य श्रृंखला पर प्रसारित करना होगा। हमारे द्वारा एथेरियम नेटवर्क पर लागू किए गए भुगतान चैनलों के विपरीत, लाइटनिंग नेटवर्क पर भुगतान चैनलों में पते नहीं हैं, या कम से कम उजागर पते हैं जिनके पास धन भेजा जा सकता है।

नेटवर्क की सामान्य अप्रत्याशितता लाइटनिंग नेटवर्क के हमारे शोध के दौरान एक मुख्य विषय थी। कई बार हम एक यादृच्छिक नोड के साथ एक भुगतान चैनल खोलने की कोशिश करेंगे जो हम जुड़े हुए हैं और हमें निम्न त्रुटि के साथ स्वागत किया जाएगा:

त्रुटि हमें बता रही है कि शुरुआती लेन-देन को निधि देने के लिए हमारे वॉलेट में पर्याप्त सतोषियां नहीं हैं। हमने 20000 सतोषियों के साथ चैनल को निधि देने की कोशिश की, यदि शुल्क 485281 है, तो जैसा कि त्रुटि में कहा गया है, तो वह है कुल 505281 सतोषी। हमारे वॉलेट में हमारे पास 41173093, लेन-देन के लिए पर्याप्त धनराशि है।

अंत में, जब आप लाइटनिंग नेटवर्क पर ऑफ-चेन लेन-देन करते हैं तब भी आप एक शुल्क का भुगतान करते हैं यदि आपके लेन-देन को एक से अधिक नोड से गुजरना पड़ता है! लाइटनिंग नेटवर्क के निर्माता अनुमान लगाते हैं कि शुल्क प्रति नोड 1 सिटोशी या छोटा होना चाहिए। शुल्क नाममात्र है, लेकिन फिर भी आपको इथेरियम भुगतान चैनलों के विपरीत, जहां से कोई शुल्क नहीं है, वहां अभी भी आपके पास से गुजरने वाले नोड्स को शुल्क का भुगतान करना होगा।

  1. एक सटोशी एक बिटकॉइन का सबसे कम मूल्यवर्ग है। इसका मूल्य एक बिटकॉइन का एक सौ मिलियनवां हिस्सा है। सीधे शब्दों में कहें, 1BTC = 10⁸ सतोषी।

बादलों में नोड्स

हमारे नोड्स को डॉकटराइज़ करना

डॉकर एक ऐसा सॉफ्टवेयर है जो आपको अपने सर्वर को कंटेनरीज़ करने और इमेज बनाने में सक्षम बनाता है जिससे आपके कई सर्वरों को इंस्टेंट किया जा सकता है। यह अक्सर AWS के साथ जंक्शन में उपयोग किया जाता है ताकि आपके सर्वर को समझाया जा सके और स्पिन करना आसान हो।

एलएनडी के जीथब के माध्यम से स्थानांतरण करने से हमें डॉकटर छवियां मिलीं और एलएनडी टीम द्वारा पहले से निर्मित स्क्रिप्ट शुरू करें, इसलिए हमने उन्हें एक कोशिश देने का फैसला किया। छवियों को बनाने की कोशिश करते हुए हम जल्दी से कई त्रुटियों में भाग गए और हमने यह भी देखा कि चित्र डॉकर लिंक के माध्यम से जुड़े हुए थे। डॉकर लिंक को हटा दिया गया है, इसलिए हमारा अगला कदम हमारी खुद की छवियों का निर्माण करना और उन्हें डॉकर नेटवर्क का उपयोग करके कनेक्ट करना था। छवियों का निर्माण करना काफी सरल था, अब हमें बस इतना करना था कि बिटकॉइन नोड और लाइटनिंग नोड के बीच एक वॉल्यूम का उपयोग करके आरपीसी सर्टिफिकेट साझा करें ... या इसलिए हमने सोचा।

नोड्स के बीच आरपीसी प्रमाणपत्र साझा करने और यह सत्यापित करने के बावजूद कि वे दोनों कंटेनरों में मौजूद हैं, लाइटनिंग नोड बिटकॉइन नोड के साथ संबंध बनाने में असमर्थ था। हमने यह सुनिश्चित करने के लिए कि दोनों कंटेनरों पर सभी सही बंदरगाहों को उजागर किया है, हालांकि हमने अभी भी इसके साथ कोई भाग्य नहीं दिखाया है।

  1. डॉकर लिंक एक सुरक्षित चैनल के माध्यम से कंटेनरों को जोड़ने का एक तरीका है, ताकि उनके बीच संचार को सक्षम किया जा सके। इसके बजाय डॉकर नेटवर्क का उपयोग करते समय, डॉकर एक वर्चुअल नेटवर्क बनाता है जहां कंटेनरों के अपने सबनेट आईपी पते होते हैं।

निष्कर्ष के तौर पर

लाइटनिंग नेटवर्क के साथ हमारा अनुभव दिलचस्प, मजेदार और ज्ञानवर्धक था। हमने लाइटनिंग प्रोटोकॉल के बारे में और तकनीक द्वारा धारण की जाने वाली क्षमता के बारे में बहुत कुछ सीखा है। दुर्भाग्य से, प्रौद्योगिकी अभी भी अस्थिर और अल्पविकसित है जिसे एक स्केलेबल उत्पादन स्तर समाधान में उपयोग किया जा सकता है। हम निश्चित रूप से अपनी आँखें छीलने के लिए देखेंगे कि तकनीक कहाँ जाती है।

हमारे ब्लॉग को पढ़ने के लिए धन्यवाद, हमें उम्मीद है कि आपने लाइटनिंग नेटवर्क के साथ हमारे अनुभव से थोड़ा सीखा। भाग 3 के लिए बने रहना सुनिश्चित करें, जहां हम आपको दिखाते हैं कि कैसे अपने खुद के नोड्स को स्पिन करें, एंड्रॉइड फोन पर एक नोड, और उनके बीच एक भुगतान चैनल बनाएं!