इथेरियम आर्काइव्ह नोड
पृष्ठ अखेरचे अद्यतन: २३ फेब्रुवारी, २०२६
आर्काइव्ह नोड हा इथेरियम क्लायंटचा एक इन्स्टन्स आहे जो सर्व ऐतिहासिक स्टेट्सचा आर्काइव्ह तयार करण्यासाठी कॉन्फिगर केलेला असतो. हे काही विशिष्ट वापरासाठी एक उपयुक्त साधन आहे परंतु पूर्ण नोडपेक्षा चालवण्यासाठी अधिक अवघड असू शकते.
पूर्वतयारी
तुम्ही इथेरियम नोडची संकल्पना, त्याची रचना, सिंक करण्याची धोरणे, तो चालवण्याच्या आणि वापरण्याच्या पद्धती समजून घेतल्या पाहिजेत.
आर्काइव्ह नोड म्हणजे काय
आर्काइव्ह नोडचे महत्त्व समजून घेण्यासाठी, चला "स्टेट" ही संकल्पना स्पष्ट करूया. इथेरियमला ट्रान्झॅक्शन-आधारित स्टेट मशीन म्हणून संबोधले जाऊ शकते. यात खाती आणि ॲप्लिकेशन्स असतात जे व्यवहार कार्यान्वित करून त्यांची स्टेट बदलतात. प्रत्येक खाते आणि कराराबद्दलच्या माहितीसह असलेला जागतिक डेटा, स्टेट नावाच्या ट्राय डेटाबेसमध्ये संग्रहित केला जातो. हे एक्झिक्युशन लेअर (EL) क्लायंटद्वारे हाताळले जाते आणि त्यात समाविष्ट आहे:
- खात्यातील शिल्लक आणि नॉन्स
- कराराचा कोड आणि स्टोरेज
- कन्सेंसस-संबंधित डेटा, उदा., स्टेकिंग डिपॉझिट कॉन्ट्रॅक्ट
नेटवर्कशी संवाद साधण्यासाठी, नवीन ब्लॉक्सची पडताळणी करण्यासाठी आणि तयार करण्यासाठी, इथेरियम क्लायंट्सना सर्वात अलीकडील बदलांसह (चेनचे टोक) आणि म्हणूनच वर्तमान स्टेटसह अद्ययावत रहावे लागते. पूर्ण नोड म्हणून कॉन्फिगर केलेला एक्झिक्युशन लेअर क्लायंट नेटवर्कच्या नवीनतम स्टेटची पडताळणी करतो आणि त्याचे अनुसरण करतो, पण तो फक्त मागील काही स्टेट्स कॅशे करतो, उदा., शेवटच्या 128 ब्लॉक्सशी संबंधित स्टेट, जेणेकरून तो चेन रिऑर्ग्स हाताळू शकेल आणि अलीकडील डेटामध्ये जलद प्रवेश प्रदान करू शकेल. येणारे व्यवहार सत्यापित करण्यासाठी आणि नेटवर्क वापरण्यासाठी सर्व क्लायंट्सना अलीकडील स्टेटची आवश्यकता असते.
तुम्ही स्टेटची कल्पना एका दिलेल्या ब्लॉकवरील नेटवर्कच्या क्षणिक स्नॅपशॉट म्हणून आणि आर्काइव्हची कल्पना इतिहासाच्या रिप्ले म्हणून करू शकता.
ऐतिहासिक स्टेट्स सुरक्षितपणे काढून टाकल्या जाऊ शकतात, कारण त्या नेटवर्क चालवण्यासाठी आवश्यक नाहीत आणि क्लायंटने सर्व कालबाह्य डेटा ठेवणे अनावश्यकपणे निरर्थक ठरेल. काही अलीकडील ब्लॉकच्या आधी अस्तित्वात असलेल्या स्टेट्स (उदा., हेडच्या 128 ब्लॉक्स आधी) प्रभावीपणे टाकून दिल्या जातात. पूर्ण नोड्स फक्त ऐतिहासिक ब्लॉकचेन डेटा (ब्लॉक्स आणि व्यवहार) आणि अधूनमधून ऐतिहासिक स्नॅपशॉट्स ठेवतात, जे ते विनंतीनुसार जुन्या स्टेट्स पुन्हा तयार करण्यासाठी वापरू शकतात. ते EVM मध्ये मागील व्यवहार पुन्हा कार्यान्वित करून हे करतात, जे संगणकीयदृष्ट्या मागणी करणारे असू शकते जेव्हा इच्छित स्टेट सर्वात जवळच्या स्नॅपशॉटपासून दूर असते.
तथापि, याचा अर्थ असा की पूर्ण नोडवर ऐतिहासिक स्टेटमध्ये प्रवेश करण्यासाठी खूप संगणन लागते. क्लायंटला सर्व मागील व्यवहार कार्यान्वित करण्याची आणि जेनेसिसपासून एक ऐतिहासिक स्टेट संगणित करण्याची आवश्यकता भासू शकते. आर्काइव्ह नोड्स ही समस्या केवळ सर्वात अलीकडील स्टेट्सच नव्हे, तर प्रत्येक ब्लॉकनंतर तयार झालेली प्रत्येक ऐतिहासिक स्टेट संग्रहित करून सोडवतात. हे मुळात मोठ्या डिस्क स्पेसच्या आवश्यकतेसह तडजोड करते.
हे लक्षात घेणे महत्त्वाचे आहे की सर्व ऐतिहासिक डेटा ठेवण्यासाठी आणि प्रदान करण्यासाठी नेटवर्क आर्काइव्ह नोड्सवर अवलंबून नाही. वर नमूद केल्याप्रमाणे, सर्व ऐतिहासिक अंतरिम स्टेट्स पूर्ण नोडवर मिळवता येतात. व्यवहार कोणत्याही पूर्ण नोडद्वारे संग्रहित केले जातात (सध्या 400G पेक्षा कमी) आणि संपूर्ण आर्काइव्ह तयार करण्यासाठी ते पुन्हा प्ले केले जाऊ शकतात.
प्रकरणे वापरा
इथेरियमच्या नियमित वापरासाठी, जसे की व्यवहार पाठवणे, करार तैनात करणे, कन्सेंसस सत्यापित करणे इत्यादी, ऐतिहासिक स्टेट्समध्ये प्रवेशाची आवश्यकता नसते. नेटवर्कशी मानक संवादासाठी वापरकर्त्यांना आर्काइव्ह नोडची कधीही आवश्यकता नसते.
स्टेट आर्काइव्हचा मुख्य फायदा म्हणजे ऐतिहासिक स्टेट्सबद्दलच्या क्वेरींमध्ये जलद प्रवेश मिळवणे. उदाहरणार्थ, आर्काइव्ह नोड त्वरित खालीलप्रमाणे परिणाम देईल:
- खाते 0x1337... ची ETH शिल्लक काय होती... ब्लॉक 15537393 वर?
- ब्लॉक 1920000 वर करार 0x मधील टोकन 0x ची शिल्लक काय आहे?
वर स्पष्ट केल्याप्रमाणे, पूर्ण नोडला EVM एक्झिक्युशनद्वारे हा डेटा तयार करण्याची आवश्यकता असेल, जे CPU वापरते आणि वेळ घेते. आर्काइव्ह नोड्स डिस्कवर त्यात प्रवेश करतात आणि त्वरित प्रतिसाद देतात. पायाभूत सुविधांच्या काही भागांसाठी हे एक उपयुक्त वैशिष्ट्य आहे, उदाहरणार्थ:
- ब्लॉक एक्सप्लोरर्स सारखे सेवा प्रदाते
- संशोधक
- सुरक्षा विश्लेषक
- Dapp डेव्हलपर्स
- ऑडिटिंग आणि अनुपालन
विविध विनामूल्य सेवा आहेत ज्या ऐतिहासिक डेटामध्ये प्रवेश करण्याची परवानगी देखील देतात. आर्काइव्ह नोड चालवणे अधिक मागणीचे असल्याने, हा प्रवेश बहुतेक मर्यादित असतो आणि फक्त अधूनमधून प्रवेशासाठी कार्य करतो. तुमच्या प्रोजेक्टला ऐतिहासिक डेटामध्ये सतत प्रवेशाची आवश्यकता असल्यास, तुम्ही स्वतः एक चालवण्याचा विचार केला पाहिजे.
अंमलबजावणी आणि वापर
या संदर्भात आर्काइव्ह नोड म्हणजे वापरकर्त्यांसमोर असलेल्या एक्झिक्युशन लेअर क्लायंटद्वारे सेवा दिलेला डेटा, कारण ते स्टेट डेटाबेस हाताळतात आणि JSON-RPC एंडपॉइंट्स प्रदान करतात. कॉन्फिगरेशन पर्याय, सिंक वेळ आणि डेटाबेस आकार क्लायंटनुसार भिन्न असू शकतात. तपशिलांसाठी, कृपया तुमच्या क्लायंटने प्रदान केलेल्या डॉक्युमेंटेशनचा संदर्भ घ्या.
तुमचा स्वतःचा आर्काइव्ह नोड सुरू करण्यापूर्वी, क्लायंटमधील फरक आणि विशेषतः विविध हार्डवेअर आवश्यकतांबद्दल जाणून घ्या. बहुतेक क्लायंट या वैशिष्ट्यासाठी ऑप्टिमाइझ केलेले नाहीत आणि त्यांच्या आर्काइव्हसाठी 12TB पेक्षा जास्त जागेची आवश्यकता असते. याउलट, Erigon सारखी अंमलबजावणी तोच डेटा 3TB पेक्षा कमी जागेत संग्रहित करू शकते, ज्यामुळे ते आर्काइव्ह नोड चालवण्याचा सर्वात प्रभावी मार्ग ठरतात.
शिफारस केलेल्या पद्धती
नोड चालवण्यासाठीच्या सामान्य शिफारशींव्यतिरिक्त, आर्काइव्ह नोड हार्डवेअर आणि देखभालीसाठी अधिक मागणी करणारा असू शकतो. Erigon ची मुख्य वैशिष्ट्ये (opens in a new tab) विचारात घेता, Erigon क्लायंट अंमलबजावणी वापरणे हा सर्वात व्यावहारिक दृष्टिकोन आहे.
हार्डवेअर
क्लायंटच्या डॉक्युमेंटेशनमध्ये दिलेल्या मोडसाठी हार्डवेअर आवश्यकता नेहमी सत्यापित करण्याची खात्री करा. आर्काइव्ह नोड्ससाठी सर्वात मोठी आवश्यकता डिस्क स्पेस आहे. क्लायंटवर अवलंबून, ते 3TB ते 12TB पर्यंत बदलते. जरी मोठ्या प्रमाणात डेटासाठी HDD एक चांगला उपाय मानला जाऊ शकतो, तरीही ते सिंक करण्यासाठी आणि चेनचे हेड सतत अद्ययावत करण्यासाठी SSD ड्राइव्हची आवश्यकता असेल. SATA (opens in a new tab) ड्राइव्ह पुरेसे चांगले आहेत, परंतु ते विश्वसनीय दर्जाचे असावेत, किमान TLC (opens in a new tab). पुरेशा स्लॉट्स असलेल्या डेस्कटॉप संगणकात किंवा सर्व्हरमध्ये डिस्क बसवल्या जाऊ शकतात. अशी समर्पित उपकरणे उच्च अपटाइम नोड चालवण्यासाठी आदर्श आहेत. हे लॅपटॉपवर चालवणे पूर्णपणे शक्य आहे, परंतु पोर्टेबिलिटीसाठी अतिरिक्त खर्च येईल.
सर्व डेटा एकाच व्हॉल्यूममध्ये बसवणे आवश्यक आहे, म्हणून डिस्क जोडल्या पाहिजेत, उदा., RAID0 (opens in a new tab) किंवा LVM सह. ZFS (opens in a new tab) वापरण्याचा विचार करणे देखील योग्य ठरू शकते, कारण ते "कॉपी-ऑन-राइट" ला सपोर्ट करते, जे हे सुनिश्चित करते की डेटा कोणत्याही निम्न-स्तरीय त्रुटींशिवाय डिस्कवर योग्यरित्या लिहिला गेला आहे.
अपघाती डेटाबेस करप्शन टाळण्यासाठी अधिक स्थिरता आणि सुरक्षिततेसाठी, विशेषतः व्यावसायिक सेटअपमध्ये, जर तुमची सिस्टीम त्याला सपोर्ट करत असेल तर ECC मेमरी (opens in a new tab) वापरण्याचा विचार करा. RAM चा आकार साधारणपणे पूर्ण नोडसाठी सारखाच ठेवण्याचा सल्ला दिला जातो, परंतु अधिक RAM सिंकचा वेग वाढविण्यात मदत करू शकते.
सुरुवातीच्या सिंक दरम्यान, आर्काइव्ह मोडमधील क्लायंट जेनेसिसपासून प्रत्येक व्यवहार कार्यान्वित करतील. एक्झिक्युशनचा वेग बहुतेक CPU द्वारे मर्यादित असतो, त्यामुळे वेगवान CPU सुरुवातीच्या सिंक वेळेसाठी मदत करू शकतो. सरासरी ग्राहक संगणकावर, सुरुवातीच्या सिंकसाठी एक महिन्यापर्यंतचा कालावधी लागू शकतो.
पुढील वाचन
- इथेरियम फुल नोड विरुद्ध आर्काइव्ह नोड (opens in a new tab) - QuickNode, सप्टेंबर २०२२
- तुमचा स्वतःचा इथेरियम आर्काइव्ह नोड तयार करणे (opens in a new tab) - थॉमस जे रश, ऑगस्ट २०२१
- Erigon, Erigon’s RPC आणि TrueBlocks (स्क्रॅप आणि API) सेवा म्हणून कसे सेट करावे (opens in a new tab) – मॅग्नस हॅन्सन, सप्टेंबर २०२२ रोजी अद्यतनित