हालांकि मुख्य अवधारणा पिछली गर्मियों में सिद्ध हुई थी जब प्रमुख डेवलपर्स विटालिक ब्यूटिरिन, गेविन वुड और जेफरी विल्के ने पायथन, सी ++ और गो में पीओसी (प्रूफ-ऑफ-कॉन्सेप्ट) श्रृंखला शुरू की थी, इन कार्यान्वयनों को मजबूत करने के लिए बहुत सारे इंजीनियरिंग प्रयास किए गए हैं। . हम सभी एक स्थिर कमांड लाइन क्लाइंट जारी करने के लिए उत्सुक हैं और बाहरी ऑडिट में फ़्लैग किए गए मुद्दों को उजागर किए जाने पर हल किया जा रहा है। जैसे ही यह प्रक्रिया पूरी हो जाती है, एक सामान्य रिलीज कोने के आसपास होनी चाहिए। इस बीच, शेष पारिस्थितिकी तंत्र अधिक परिष्कृत संस्करणों के लिए विकसित होना जारी है।
इस दायरे और जटिलता की एक परियोजना के साथ चुनौतियों में से एक बस किसी विशेष बात पर सहमत होना है। मानव सार को कोड में अनुवाद करना एक कठिन कार्य है, जैसा कि यहां तक कि हमारे द्वारा चुने गए शब्द भी कोड के साथ विचारों को व्यक्त करने के विभिन्न तरीकों को प्रभावित करता है। जैसा कि हम इन मूल विचारों के आसपास और अधिक बनाते हैं और वास्तव में अनुभव करते हैं कि वास्तविकता सिद्धांत से कैसे मिलती है, हम अस्पष्टता को दूर करने के लिए अंतर्निहित विनिर्देशों को परिष्कृत करने में सक्षम हैं। यह सब भुगतान करता है क्योंकि टीम एक साफ और अच्छी तरह से समझी गई दृष्टि साझा करती है जिसे अलग-अलग विषयों के अन्य डेवलपर्स के लिए प्रभावी ढंग से अनुवाद करना चाहिए।
समय के साथ गिट की संख्या
इसे लागू करते हुए, विभिन्न प्रकार के परीक्षण सूट आत्मविश्वास का एक महत्वपूर्ण स्तर जोड़ते हैं कि विभिन्न कार्यान्वयन एक विनिर्देश का पालन करते हैं। सर्वसम्मति के मोर्चे पर, हमने ज्ञात परिणामों का अनुकरण करने के लिए वीएम और राज्य परीक्षणों की एक श्रृंखला का उपयोग किया है और इस परीक्षण स्थान को बढ़ाने के लिए यादृच्छिककरण और फ़ज़िंग को जोड़ा है। सिस्टम और नेटवर्किंग परीक्षणों की एक श्रृंखला भी चलाई जा रही है, यह सुनिश्चित करते हुए कि ग्राहक अपेक्षित तरीके से संवाद करते हैं या कुछ नेटवर्किंग परिदृश्यों पर अनुमानित रूप से प्रतिक्रिया करते हैं।
न केवल सफलता के लिए डिज़ाइन किए गए परीक्षण हैं, बल्कि सभी प्रकार की त्रुटि स्थितियों को परीक्षण सूट में फीड किया जाता है ताकि यह सुनिश्चित किया जा सके कि ज्ञात त्रुटियां (जैसे गैस से बाहर निकलना या किसी सहकर्मी से अचानक डिस्कनेक्ट हो जाना) सही ढंग से रिपोर्ट की जाती हैं। इसका मतलब यह है कि जब ग्राहकों के व्यवहार में बदलाव किए जाते हैं, तो निर्णय सिद्धांत और आंत की भावनाओं के बजाय डेटा और मेट्रिक्स द्वारा संचालित होता है।
ग्राफिंग नोड कनेक्टिविटी हमें नेटवर्क के स्वास्थ्य का नेत्रहीन निरीक्षण करने की अनुमति देती है
मुख्य घटकों के परीक्षण से परे, हमने यह सुनिश्चित करने के लिए बाहरी परतों पर परीक्षण लागू करना शुरू कर दिया है कि ग्राहक आसानी से उपभोज्य JSON के साथ उसी तरह से अंतर्निहित सिस्टम पर कॉल का जवाब देते हैं। ये विनिर्देश जुड़े हुए हैं विकी में और विविध टीमों में कार्यान्वयन और संचार को संचालित करें। इससे यह सुनिश्चित करने में मदद मिलती है कि हमारे दिमाग में जो है वह मज़बूती से कोड में अनुवादित है, और यह कि इन सभी का परीक्षण और लेखापरीक्षा की जाती है।
ये सभी सुधार ओवरलेइंग पारिस्थितिकी तंत्र के स्वास्थ्य के लिए महत्वपूर्ण हैं और अन्यथा बहुत ही सूक्ष्म समस्याओं पर रोशनी डालने में मदद करते हैं। कोर वर्चुअल मशीन और क्रमांकन परतों को परिष्कृत करने के अलावा, विकेंद्रीकरण और क्रिप्टोग्राफ़िक तकनीकों में अनुभवी तृतीय-पक्ष फर्म के साथ सुरक्षा ऑडिट शुरू किए गए थे।
विकास के प्रयासों का एक मोटा चित्र।
तो यह सब अंतर्निहित टेक्नोबैबल खुद को सामान्य उपयोगकर्ता के सामने कैसे प्रकट करता है? फ्रंटियर रोलआउट के लिए, हम प्रमुख ऑपरेटिंग सिस्टम (मैक, विंडोज, लिनक्स) पर स्थिर बायनेरिज़ जारी करने का लक्ष्य बना रहे हैं। मुख्य इंटरफेस में मुख्य रूप से कमांड-लाइन क्लाइंट, इंटरैक्टिव जावास्क्रिप्ट कंसोल और JSON-RPC शामिल होंगे। गो-एथेरियम में, हमने हाल ही में इस ग्राहक का नाम बदलकर “गेथ” कर दिया है, जो दोनों के लिए एक संकेत है सामूहिक असर और पुरानी अंग्रेज़ी.
कमांड-लाइन क्लाइंट का उपयोग करना बहुतों के लिए एक परिचित प्रक्रिया होगी। उदाहरण के लिए, आप एक नया खाता बना सकते हैं नया खाता प्राप्त करें, जिस बिंदु पर प्रोग्राम आपको खाते को सुरक्षित करने के लिए पासवर्ड के लिए संकेत देगा। एक खनिक के रूप में गेट शुरू करना इसे एक पैरामीटर के साथ कॉल करके किया जा सकता है, जैसे: जाओ – मेरा. यह सिस्टम के साथ बातचीत शुरू करने का एक शानदार तरीका है, लेकिन इसकी अपनी सीमाएँ हैं। उदाहरण के लिए, एक बार खनन शुरू करने के बाद, कोई इसे कैसे रोक सकता है?
गेथ के इंटरैक्टिव जावास्क्रिप्ट कंसोल का उपयोग करना
कार्यक्रम को नियंत्रित करने के अधिक उपयोगी तरीके के लिए, गेथ के पास एक जावास्क्रिप्ट कंसोल है जो a द्वारा समर्थित है जावास्क्रिप्ट एपीआई. इसे एक साधारण कमांड से शुरू करें: कंसोल प्राप्त करें. गेथ के साथ, यह शुरू होता है इंटरैक्टिव कंसोल, उपयोगकर्ताओं को टर्मिनल से सिस्टम को नियंत्रित करने के लिए जावास्क्रिप्ट स्क्रिप्टिंग की परिचितता प्रदान करता है। उदाहरण के लिए, स्थानीय नोड के बारे में कुछ और जानने के लिए, दौड़ें admin.nodeInfo ().
यह नियंत्रण आंशिक रूप से संचालित है एथेरियम.जेएस, एक JavaScript लाइब्रेरी जो न केवल कंसोल, बल्कि DApps को भी एक अनुकूल इंटरफ़ेस प्रदान करने में मदद करती है। यह एक अच्छी तरह से प्रलेखित पर निर्भर करता है जेएसओएन-आरपीसी मौजूदा बुनियादी ढांचे में स्वचालित प्रसंस्करण या एकीकरण के लिए इंटरफ़ेस। इन घटकों में से कई पर काम चल रहा है क्योंकि यह सुनिश्चित करने के लिए कठोर प्रयास किए जा रहे हैं कि कार्यान्वयन समान भाषा बोलते हैं और यथासंभव संगत हैं।
निर्माण स्थिति का एक त्वरित दृश्य
बेशक, यह सब GitHub पर सार्वजनिक रूप से बनाया गया है और इसमें विभिन्न निरंतर एकीकरण पहलू शामिल हैं जैसे स्वचालित बिल्ड और प्रमुख प्लेटफार्मों पर रिपोर्टिंग। यह एक युक्ति को परिभाषित करने वाला कार्यक्रम नहीं है—यह एक युक्ति है जिसे दुनिया भर में फैली मशीनों और मनुष्यों के बीच कार्यान्वित और क्रॉस टेस्ट किया गया है।
समवर्ती रूप से, मिस्ट (डीएपी ब्राउज़र) और मिक्स (आईडीई) के लिए जीयूआई इंटरफेस सहित पारिस्थितिकी तंत्र के कई अन्य घटकों पर काम चल रहा है। हम जिन उपकरणों का उपयोग करते हैं और जिन पर निर्माण करते हैं, उनमें से कई नए हैं और कभी-कभी यह सुनिश्चित करने के लिए अपस्ट्रीम पैचिंग की आवश्यकता होती है कि सब कुछ अपेक्षित रूप से काम करता है। यह सभी खुले स्रोत के विकास के लिए एक बड़ा लाभ है, और वास्तव में इंजीनियरिंग सॉफ्टवेयर में बिताए गए सभी घंटों के कई सकारात्मक उपोत्पादों में से एक है। हालांकि प्रतीक्षा लंबी लग सकती है, प्रगति और पूरे सिस्टम में जारी विश्वास लगातार बढ़ रहा है।
विकास की तकनीकी बारीकियों से परे, हमारी संचार टीम ने ट्यूटोरियल और वीडियो जैसी सार्वजनिक शिक्षा सामग्री तैयार करने के लिए समुदाय के साथ बातचीत करना जारी रखा है। इसके अलावा, हमारे व्यवस्थापक कर्मचारी भुगतान की प्रक्रिया में मदद करते हैं और रोजगार कर जैसी थकाऊ चीजों सहित विभिन्न स्थानीय कानूनों का पालन करते हैं।
एथेरियम परियोजना का हिस्सा होना उत्साह से भरा एक असाधारण अनुभव रहा है। क्या के रूप में ही शुरू कर दिया एक आइडिया एक साल से भी कम समय पहले एक क्रांतिकारी विकेंद्रीकृत एप्लिकेशन प्लेटफॉर्म बनाने के लिए आवश्यक सभी आवश्यक बुनियादी ढांचे को लागू करने वाले पेशेवरों के नेतृत्व में एक असाधारण इंजीनियरिंग प्रयास शुरू हुआ है।
जब नेटफ्लिक्स की शुरुआत हुई अराजकता बंदरउन्होंने दावा किया, “हमने पाया है कि बड़ी अप्रत्याशित विफलताओं के खिलाफ सबसे अच्छा बचाव अक्सर विफल होना है। बार-बार विफलताओं के कारण, हम अपनी सेवाओं को इस तरह से बनाने के लिए बाध्य करते हैं जो अधिक लचीला हो ”. एथेरियम के विकास की प्रक्रिया में, हमने प्रत्यक्ष रूप से उन लाभों का अनुभव किया है जो इससे आते हैं एक प्रणाली को लगातार तनाव देना.
और जिस मंच के बारे में आप सपने देखते हैं, उसे तैयार करने का काम सौंपा जाना एक बड़ा सम्मान है, हम इसे इसलिए बनाते हैं क्योंकि हम चाहते हैं कि यह अस्तित्व में रहे। आपके धैर्य के लिए धन्यवाद जैसे हम सोचते हैं, सोते हैं, खाते हैं, और कुत्ते का भोजन प्लेटफ़ॉर्म। हम किसी की तरह यह देखने के लिए उत्सुक हैं कि मेननेट के लाइव होने के बाद किस प्रकार के DAapp लॉन्च होंगे!