ইথেরিয়াম আর্কাইভ নোড
পৃষ্ঠাটি সর্বশেষ আপডেট করা হয়েছে: ১৪ ফেব্রুয়ারী, ২০২৬
একটি আর্কাইভ নোড হলো একটি ইথেরিয়াম ক্লায়েন্টের একটি ইনস্ট্যান্স যা সমস্ত ঐতিহাসিক স্টেটগুলির একটি আর্কাইভ তৈরি করার জন্য কনফিগার করা থাকে। এটি নির্দিষ্ট কিছু ব্যবহারের ক্ষেত্রে একটি দরকারী টুল কিন্তু একটি সম্পূর্ণ নোড চালানোর চেয়ে এটি চালানো আরও কঠিন হতে পারে।
পূর্বশর্ত
আপনার একটি ইথেরিয়াম নোড-এর ধারণা, এর আর্কিটেকচার, সিঙ্ক কৌশল, এটি চালানোর এবং ব্যবহার করার অভ্যাসগুলি বোঝা উচিত।
একটি আর্কাইভ নোড কী
একটি আর্কাইভ নোডের গুরুত্ব বোঝার জন্য, আসুন "স্টেট"-এর ধারণাটি স্পষ্ট করি। ইথেরিয়ামকে একটি লেনদেন-ভিত্তিক স্টেট মেশিন হিসেবে উল্লেখ করা যেতে পারে। এটি অ্যাকাউন্ট এবং অ্যাপ্লিকেশনগুলি নিয়ে গঠিত যা তাদের স্টেট পরিবর্তনকারী লেনদেনগুলি কার্যকর করে। প্রতিটি অ্যাকাউন্ট এবং চুক্তি সম্পর্কে তথ্য সহ গ্লোবাল ডেটা স্টেট নামক একটি ট্রাই ডেটাবেসে সংরক্ষণ করা হয়। এটি এক্সিকিউশন লেয়ার (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 ড্রাইভের প্রয়োজন হবে। SATAopens in a new tab ড্রাইভগুলি যথেষ্ট ভালো কিন্তু এটি একটি নির্ভরযোগ্য মানের হওয়া উচিত, অন্তত TLCopens in a new tab। যথেষ্ট স্লট সহ একটি ডেস্কটপ কম্পিউটার বা একটি সার্ভারে ডিস্কগুলি লাগানো যেতে পারে। এই ধরনের ডেডিকেটেড ডিভাইস উচ্চ আপটাইম নোড চালানোর জন্য আদর্শ। এটি একটি ল্যাপটপে চালানো সম্পূর্ণ সম্ভব কিন্তু বহনযোগ্যতা একটি অতিরিক্ত খরচে আসবে।
সমস্ত ডেটা একটি ভলিউমে ফিট করতে হবে, তাই ডিস্কগুলিকে যুক্ত করতে হবে, যেমন, RAID0opens in a new tab বা LVM দিয়ে। ZFSopens in a new tab ব্যবহার করাও বিবেচনা করার মতো হতে পারে কারণ এটি "কপি-অন-রাইট" সমর্থন করে যা নিশ্চিত করে যে ডেটা কোনো নিম্ন-স্তরের ত্রুটি ছাড়াই ডিস্কে সঠিকভাবে লেখা হয়েছে।
আকস্মিক ডেটাবেস দুর্নীতি প্রতিরোধে আরও স্থিতিশীলতা এবং নিরাপত্তার জন্য, বিশেষ করে একটি পেশাদার সেটআপে, আপনার সিস্টেম সমর্থন করলে ECC মেমরিopens in a new tab ব্যবহার করার কথা বিবেচনা করুন। RAM-এর আকার সাধারণত একটি সম্পূর্ণ নোডের জন্য যা প্রয়োজন তার সমান রাখার পরামর্শ দেওয়া হয় কিন্তু আরও বেশি RAM সিঙ্ক্রোনাইজেশনের গতি বাড়াতে সাহায্য করতে পারে।
প্রাথমিক সিঙ্কের সময়, আর্কাইভ মোডে ক্লায়েন্টরা জেনেসিস থেকে প্রতিটি লেনদেন সম্পাদন করবে। এক্সিকিউশনের গতি বেশিরভাগই CPU দ্বারা সীমিত, তাই একটি দ্রুততর CPU প্রাথমিক সিঙ্কের সময় সাহায্য করতে পারে। একটি গড় ভোক্তা কম্পিউটারে, প্রাথমিক সিঙ্ক এক মাস পর্যন্ত সময় নিতে পারে।
আরও পড়ুন
- ইথেরিয়াম সম্পূর্ণ নোড বনাম আর্কাইভ নোডopens in a new tab - কুইকনোড, সেপ্টেম্বর ২০২২
- আপনার নিজের ইথেরিয়াম আর্কাইভ নোড তৈরি করাopens in a new tab - থমাস জে রাশ, আগস্ট ২০২১
- পরিষেবা হিসাবে Erigon, Erigon-এর RPC এবং TrueBlocks (স্ক্রেপ এবং API) কীভাবে সেট আপ করবেনopens in a new tab – ম্যাগনাস হ্যানসন, সেপ্টেম্বর ২০২২-এ আপডেট করা হয়েছে