মূল কন্টেন্টে যান
Change page

ইথিরিয়াম আর্কাইভ নোড

পেজ সর্বশেষ আপডেট: 23 ফেব্রুয়ারী, 2026

একটি আর্কাইভ নোড হলো একটি Ethereum ক্লায়েন্ট এর ইনস্ট্যান্স যা সমস্ত ঐতিহাসিক স্টেটগুলোর একটি আর্কাইভ তৈরি করার জন্য কনফিগার করা হয়। এটি নির্দিষ্ট কিছু ব্যবহারের ক্ষেত্রে একটি দরকারী টুল, তবে একটি ফুল নোডের চেয়ে এটি চালানো কিছুটা কঠিন হতে পারে।

পূর্বশর্ত

আপনার একটি ইথিরিয়াম নোড, এর আর্কিটেকচার, সিঙ্ক স্ট্র্যাটেজি, এবং এগুলো চালানোব্যবহার করার পদ্ধতি সম্পর্কে ধারণা থাকা উচিত।

আর্কাইভ নোড কী

একটি আর্কাইভ নোডের গুরুত্ব বোঝার জন্য, চলুন "স্টেট" এর ধারণাটি পরিষ্কার করি। ইথিরিয়ামকে একটি লেনদেন-ভিত্তিক স্টেট মেশিন বলা যেতে পারে। এটি একাউন্ট এবং অ্যাপ্লিকেশন নিয়ে গঠিত যা লেনদেন সম্পাদন করে এবং তাদের স্টেট পরিবর্তন করে। প্রতিটি একাউন্ট এবং কন্ট্রাক্ট সম্পর্কে তথ্যসহ গ্লোবাল ডাটা স্টেট নামক একটি ট্রাই (trie) ডাটাবেসে সংরক্ষিত থাকে। এটি এক্সিকিউশন লেয়ার (EL) ক্লায়েন্ট দ্বারা পরিচালিত হয় এবং এর মধ্যে অন্তর্ভুক্ত থাকে:

  • একাউন্ট ব্যালেন্স এবং নন্স
  • কন্ট্রাক্ট কোড এবং স্টোরেজ
  • কনসেন্সাস-সম্পর্কিত ডাটা, যেমন, স্টেকিং ডিপোজিট কন্টাক্ট

নেটওয়ার্ক এর সাথে ইন্টারঅ্যাক্ট করতে, নতুন ব্লকস যাচাই এবং তৈরি করতে, ইথিরিয়াম ক্লায়েন্টগুলোকে সাম্প্রতিক পরিবর্তনগুলোর (চেইনের শীর্ষ) সাথে এবং সেই অনুযায়ী বর্তমান স্টেটের সাথে আপডেট থাকতে হয়। একটি ফুল নোড হিসেবে কনফিগার করা এক্সিকিউশন লেয়ার ক্লায়েন্ট নেটওয়ার্ক এর সর্বশেষ স্টেট যাচাই এবং অনুসরণ করে, তবে এটি শুধুমাত্র অতীতের কয়েকটি স্টেট ক্যাশ করে রাখে, যেমন, শেষ 128টি ব্লকের সাথে সম্পর্কিত স্টেট, যাতে এটি চেইন রিঅর্গানাইজেশন (reorgs) সামলাতে পারে এবং সাম্প্রতিক ডাটায় দ্রুত অ্যাক্সেস প্রদান করতে পারে। আগত লেনদেন যাচাই করতে এবং নেটওয়ার্ক ব্যবহার করতে সমস্ত ক্লায়েন্ট এর সাম্প্রতিক স্টেট প্রয়োজন হয়।

আপনি স্টেটকে একটি নির্দিষ্ট ব্লকে নেটওয়ার্ক এর ক্ষণস্থায়ী স্ন্যাপশট হিসেবে এবং আর্কাইভকে ইতিহাসের রিপ্লে হিসেবে কল্পনা করতে পারেন।

ঐতিহাসিক স্টেটগুলো নিরাপদে প্রুন (prune) বা মুছে ফেলা যায় কারণ নেটওয়ার্ক পরিচালনার জন্য এগুলো প্রয়োজনীয় নয় এবং ক্লায়েন্ট এর জন্য সমস্ত পুরনো ডাটা রাখা অযথাই অপ্রয়োজনীয় হবে। কিছু সাম্প্রতিক ব্লকের আগে (যেমন, হেডের 128 ব্লক আগে) বিদ্যমান স্টেটগুলো কার্যকরভাবে ফেলে দেওয়া হয়। ফুল নোডগুলো শুধুমাত্র ঐতিহাসিক ব্লকচেইন ডাটা (ব্লকস এবং লেনদেন) এবং মাঝে মাঝে ঐতিহাসিক স্ন্যাপশটগুলো রাখে যা তারা অনুরোধের ভিত্তিতে পুরনো স্টেটগুলো পুনরায় তৈরি করতে ব্যবহার করতে পারে। তারা EVM-এ অতীতের লেনদেন পুনরায় এক্সিকিউট করে এটি করে, যা কম্পিউটেশনালভাবে অনেক বেশি চাহিদাপূর্ণ হতে পারে যখন কাঙ্ক্ষিত স্টেটটি নিকটতম স্ন্যাপশট থেকে অনেক দূরে থাকে।

তবে, এর মানে হলো একটি ফুল নোডে ঐতিহাসিক স্টেটে অ্যাক্সেস করতে প্রচুর কম্পিউটেশনাল শক্তির প্রয়োজন হয়। ক্লায়েন্টকে হয়তো অতীতের সমস্ত লেনদেন এক্সিকিউট করতে হতে পারে এবং জেনেসিস থেকে একটি ঐতিহাসিক স্টেট গণনা করতে হতে পারে। আর্কাইভ নোডগুলো শুধুমাত্র সাম্প্রতিক স্টেটগুলোই নয়, বরং প্রতিটি ব্লকের পরে তৈরি হওয়া প্রতিটি ঐতিহাসিক স্টেট সংরক্ষণ করে এই সমস্যার সমাধান করে। এটি মূলত বড় ডিস্ক স্পেসের প্রয়োজনীয়তার সাথে একটি ট্রেড-অফ করে।

এটি মনে রাখা গুরুত্বপূর্ণ যে নেটওয়ার্ক সমস্ত ঐতিহাসিক ডাটা রাখা এবং প্রদান করার জন্য আর্কাইভ নোডগুলোর উপর নির্ভর করে না। উপরে উল্লিখিত হিসেবে, সমস্ত ঐতিহাসিক অন্তর্বর্তীকালীন স্টেটগুলো একটি ফুল নোডে তৈরি করা যেতে পারে। লেনদেন যেকোনো ফুল নোড দ্বারা সংরক্ষিত হয় (বর্তমানে 400G এর কম) এবং পুরো আর্কাইভ তৈরি করতে পুনরায় প্লে করা যেতে পারে।

ব্যবহারের ক্ষেত্র

ইথিরিয়ামের নিয়মিত ব্যবহার যেমন লেনদেন পাঠানো, কন্ট্রাক্ট ডিপ্লয় করা, কনসেন্সাস যাচাই করা ইত্যাদির জন্য ঐতিহাসিক স্টেটগুলোতে অ্যাক্সেসের প্রয়োজন হয় না। নেটওয়ার্ক এর সাথে সাধারণ ইন্টারঅ্যাকশনের জন্য ব্যবহারকারীদের কখনোই আর্কাইভ নোডের প্রয়োজন হয় না।

স্টেট আর্কাইভের প্রধান সুবিধা হলো ঐতিহাসিক স্টেটগুলো সম্পর্কে প্রশ্নের দ্রুত অ্যাক্সেস। উদাহরণস্বরূপ, আর্কাইভ নোড দ্রুত এই ধরনের ফলাফল প্রদান করবে:

  • 15537393 ব্লকে 0x1337... একাউন্ট এর ETH ব্যালেন্স কত ছিল?
  • 1920000 ব্লকে 0x কন্ট্রাক্ট এ 0x টোকেন এর ব্যালেন্স কত?

উপরে ব্যাখ্যা করা হয়েছে যে, একটি ফুল নোডকে EVM এক্সিকিউশনের মাধ্যমে এই ডাটা তৈরি করতে হবে যা CPU ব্যবহার করে এবং সময় নেয়। আর্কাইভ নোডগুলো ডিস্কে সেগুলোতে অ্যাক্সেস করে এবং তাৎক্ষণিকভাবে রেসপন্স প্রদান করে। এটি ইনফ্রাস্ট্রাকচারের নির্দিষ্ট অংশগুলোর জন্য একটি দরকারী বৈশিষ্ট্য, উদাহরণস্বরূপ:

  • সার্ভিস প্রোভাইডার যেমন ব্লক এক্সপ্লোরার
  • গবেষক
  • নিরাপত্তা বিশ্লেষক
  • ডিএ্যাপ ডেভেলপার
  • অডিটিং এবং কমপ্লায়েন্স

বিভিন্ন বিনামূল্যের সার্ভিস রয়েছে যা ঐতিহাসিক ডাটায় অ্যাক্সেসের অনুমতি দেয়। যেহেতু একটি আর্কাইভ নোড চালানো বেশি চাহিদাপূর্ণ, তাই এই অ্যাক্সেস বেশিরভাগ ক্ষেত্রেই সীমিত এবং শুধুমাত্র মাঝে মাঝে অ্যাক্সেসের জন্য কাজ করে। যদি আপনার প্রজেক্টে ঐতিহাসিক ডাটায় নিয়মিত অ্যাক্সেসের প্রয়োজন হয়, তবে আপনার নিজের একটি চালানো বিবেচনা করা উচিত।

ইমপ্লিমেন্টেশন এবং ব্যবহার

এই প্রসঙ্গে আর্কাইভ নোড বলতে ব্যবহারকারীর মুখোমুখি এক্সিকিউশন লেয়ার ক্লায়েন্ট দ্বারা পরিবেশিত ডাটা বোঝায় কারণ তারা স্টেট ডাটাবেস পরিচালনা করে এবং 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) ব্যবহার করাও বিবেচনা করার মতো হতে পারে কারণ এটি "Copy-on-write" সমর্থন করে যা নিশ্চিত করে যে কোনো লো লেভেল ত্রুটি ছাড়াই ডাটা সঠিকভাবে ডিস্কে লেখা হয়েছে।

দুর্ঘটনাবশত ডাটাবেস করাপশন রোধে আরও স্থিতিশীলতা এবং নিরাপত্তার জন্য, বিশেষ করে একটি পেশাদার সেটআপে, আপনার সিস্টেম সমর্থন করলে ECC memory (opens in a new tab) ব্যবহার করার কথা বিবেচনা করুন। RAM এর আকার সাধারণত একটি ফুল নোডের মতোই হওয়ার পরামর্শ দেওয়া হয় তবে বেশি RAM সিঙ্ক্রোনাইজেশন ত্বরান্বিত করতে সাহায্য করতে পারে।

প্রাথমিক সিঙ্কের সময়, আর্কাইভ মোডে থাকা ক্লায়েন্টগুলো জেনেসিস থেকে প্রতিটি লেনদেন এক্সিকিউট করবে। এক্সিকিউশন স্পিড বেশিরভাগই CPU দ্বারা সীমাবদ্ধ থাকে, তাই একটি দ্রুততর CPU প্রাথমিক সিঙ্ক টাইমে সাহায্য করতে পারে। একটি সাধারণ কনজিউমার কম্পিউটারে, প্রাথমিক সিঙ্ক হতে এক মাস পর্যন্ত সময় লাগতে পারে।

আরও পড়ুন

এই আর্টিকেলটি কি সহায়ক ছিল?