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

আপনার নিজস্ব ইথেরিয়াম নোড চালু করুন

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

মনে রাখবেন যে দ্য মার্জ-এর পরে, একটি ইথেরিয়াম নোড চালানোর জন্য দুটি ক্লায়েন্টের প্রয়োজন হয়; একটি এক্সিকিউশন লেয়ার (EL) ক্লায়েন্ট এবং একটি কনসেনসাস লেয়ার (CL) ক্লায়েন্ট। এই পৃষ্ঠাটি দেখাবে কীভাবে একটি ইথেরিয়াম নোড চালানোর জন্য এই দুটি ক্লায়েন্ট ইনস্টল, কনফিগার এবং সংযুক্ত করতে হয়।

পূর্বশর্ত

আপনার বোঝা উচিত ইথেরিয়াম নোড কী এবং কেন আপনি একটি ক্লায়েন্ট চালাতে চাইতে পারেন। এটি নোড এবং ক্লায়েন্ট-এ কভার করা হয়েছে।

আপনি যদি নোড চালানোর বিষয়ে নতুন হন, বা কম প্রযুক্তিগত পথ খুঁজছেন, তবে আমরা প্রথমে ইথেরিয়াম নোড চালানো সম্পর্কে আমাদের ব্যবহারকারী-বান্ধব পরিচিতিটি দেখার পরামর্শ দিই।

একটি পদ্ধতি বেছে নেওয়া

আপনার নোড চালু করার প্রথম ধাপ হলো আপনার পদ্ধতি বেছে নেওয়া। প্রয়োজনীয়তা এবং বিভিন্ন সম্ভাবনার উপর ভিত্তি করে, আপনাকে অবশ্যই ক্লায়েন্ট ইমপ্লিমেন্টেশন (এক্সিকিউশন এবং কনসেনসাস ক্লায়েন্ট উভয়ের), পরিবেশ (হার্ডওয়্যার, সিস্টেম) এবং ক্লায়েন্ট সেটিংসের জন্য প্যারামিটার নির্বাচন করতে হবে।

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

ক্লায়েন্ট ইমপ্লিমেন্টেশন থেকে বেছে নিতে, সমস্ত উপলব্ধ মেইননেট প্রস্তুত এক্সিকিউশন ক্লায়েন্ট, কনসেনসাস ক্লায়েন্ট দেখুন এবং ক্লায়েন্ট বৈচিত্র্য সম্পর্কে জানুন।

ক্লায়েন্টদের প্রয়োজনীয়তা বিবেচনা করে, আপনার নিজস্ব হার্ডওয়্যার বা ক্লাউডে সফ্টওয়্যারটি চালাবেন কিনা তা সিদ্ধান্ত নিন।

পরিবেশ প্রস্তুত করার পরে, নির্বাচিত ক্লায়েন্টগুলো নতুনদের জন্য সহজ ইন্টারফেস দিয়ে বা উন্নত বিকল্পসহ একটি টার্মিনাল ব্যবহার করে ম্যানুয়ালি ইনস্টল করুন।

যখন নোডটি চলছে এবং সিঙ্কিং হচ্ছে, তখন আপনি এটি ব্যবহার করতে প্রস্তুত, তবে এর রক্ষণাবেক্ষণের দিকে নজর রাখতে ভুলবেন না।

Client setup

পরিবেশ এবং হার্ডওয়্যার

স্থানীয় বা ক্লাউড

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

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

উভয় বিকল্পের বিভিন্ন সুবিধা উপরে সংক্ষেপে দেওয়া হয়েছে। আপনি যদি ক্লাউড সমাধান খুঁজছেন, তবে অনেক ঐতিহ্যবাহী ক্লাউড কম্পিউটিং প্রদানকারীর পাশাপাশি, নোড ডিপ্লয় করার উপর দৃষ্টি নিবদ্ধ করা পরিষেবাও রয়েছে। হোস্ট করা নোডগুলোর আরও বিকল্পের জন্য পরিষেবা হিসেবে নোড দেখুন।

হার্ডওয়্যার

তবে, একটি সেন্সরশিপ-প্রতিরোধী, বিকেন্দ্রীকৃত নেটওয়ার্কের ক্লাউড প্রদানকারীদের উপর নির্ভর করা উচিত নয়। এর পরিবর্তে, আপনার নিজস্ব স্থানীয় হার্ডওয়্যারে আপনার নোড চালানো ইকোসিস্টেমের জন্য স্বাস্থ্যকর। অনুমান (opens in a new tab) দেখায় যে নোডগুলোর একটি বড় অংশ ক্লাউডে চলে, যা ব্যর্থতার একটি একক বিন্দু (single point of failure) হয়ে উঠতে পারে।

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

আপনার নিজস্ব হার্ডওয়্যার ব্যবহার করা খুব সহজ হতে পারে। আরও প্রযুক্তিগত ব্যক্তিদের জন্য অনেক সহজ বিকল্পের পাশাপাশি উন্নত সেটআপ রয়েছে। তাই আসুন আপনার মেশিনে ইথেরিয়াম ক্লায়েন্ট চালানোর প্রয়োজনীয়তা এবং উপায়গুলো দেখে নেওয়া যাক।

প্রয়োজনীয়তা

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

কোনো ক্লায়েন্ট ইনস্টল করার আগে, অনুগ্রহ করে নিশ্চিত করুন যে আপনার কম্পিউটারে এটি চালানোর জন্য পর্যাপ্ত সংস্থান রয়েছে। আপনি নিচে ন্যূনতম এবং প্রস্তাবিত প্রয়োজনীয়তাগুলো খুঁজে পেতে পারেন।

আপনার হার্ডওয়্যারের জন্য প্রধান বাধা হলো ডিস্ক স্পেস। ইথেরিয়াম ব্লকচেইন সিঙ্কিং করা খুব ইনপুট/আউটপুট নিবিড় এবং এর জন্য প্রচুর জায়গার প্রয়োজন হয়। সিঙ্ক্রোনাইজেশনের পরেও শত শত GB খালি জায়গা সহ একটি সলিড-স্টেট ড্রাইভ (SSD) থাকা সবচেয়ে ভালো।

ডাটাবেসের আকার এবং প্রাথমিক সিঙ্ক্রোনাইজেশনের গতি নির্বাচিত ক্লায়েন্ট, এর কনফিগারেশন এবং সিঙ্কিং কৌশল-এর উপর নির্ভর করে।

এছাড়াও নিশ্চিত করুন যে আপনার ইন্টারনেট সংযোগ কোনো ব্যান্ডউইথ ক্যাপ (opens in a new tab) দ্বারা সীমাবদ্ধ নয়। একটি আনমিটারড সংযোগ ব্যবহার করার পরামর্শ দেওয়া হয় কারণ প্রাথমিক সিঙ্কিং এবং নেটওয়ার্কে সম্প্রচারিত ডেটা আপনার সীমা অতিক্রম করতে পারে।

অপারেটিং সিস্টেম

সমস্ত ক্লায়েন্ট প্রধান অপারেটিং সিস্টেমগুলো সমর্থন করে - Linux, macOS, Windows। এর মানে হলো আপনি আপনার জন্য সবচেয়ে উপযুক্ত অপারেটিং সিস্টেম (OS) সহ সাধারণ ডেস্কটপ বা সার্ভার মেশিনে নোড চালাতে পারেন। সম্ভাব্য সমস্যা এবং নিরাপত্তা দুর্বলতা এড়াতে আপনার OS আপ টু ডেট আছে কিনা তা নিশ্চিত করুন।

ন্যূনতম প্রয়োজনীয়তা
  • 2+ কোর সহ CPU
  • 8 GB RAM
  • 2TB SSD
  • 10+ MBit/s ব্যান্ডউইথ
প্রস্তাবিত স্পেসিফিকেশন
  • 4+ কোর সহ দ্রুত CPU
  • 16 GB+ RAM
  • 2+TB সহ দ্রুত SSD
  • 25+ MBit/s ব্যান্ডউইথ

আপনার বেছে নেওয়া সিঙ্কিং মোড এবং ক্লায়েন্ট স্পেসের প্রয়োজনীয়তাকে প্রভাবিত করবে, তবে আমরা নিচে প্রতিটি ক্লায়েন্টের জন্য আপনার প্রয়োজনীয় ডিস্ক স্পেস অনুমান করেছি।

ক্লায়েন্টডিস্ক সাইজ (স্ন্যাপ সিঙ্কিং)ডিস্ক সাইজ (ফুল আর্কাইভ)
বেসু800GB+12TB+
এরিগনপ্রযোজ্য নয়2.5TB+
Geth500GB+12TB+
নেদারমাইন্ড500GB+12TB+
রেথপ্রযোজ্য নয়2.2TB+
  • দ্রষ্টব্য: এরিগন এবং রেথ স্ন্যাপ সিঙ্কিং অফার করে না, তবে ফুল প্রুনিং সম্ভব (এরিগন এর জন্য ~2TB, রেথ এর জন্য ~1.2TB)

কনসেনসাস ক্লায়েন্টগুলোর জন্য, স্পেসের প্রয়োজনীয়তা ক্লায়েন্ট ইমপ্লিমেন্টেশন এবং সক্ষম করা বৈশিষ্ট্যগুলোর (যেমন, ভ্যালিডেটর স্ল্যাশার) উপরও নির্ভর করে তবে সাধারণত বিকন ডেটার জন্য আরও 200GB প্রয়োজন বলে ধরে নেওয়া হয়। বিপুল সংখ্যক ভ্যালিডেটর এর সাথে, ব্যান্ডউইথ লোডও বৃদ্ধি পায়। আপনি এই বিশ্লেষণে কনসেনসাস ক্লায়েন্ট প্রয়োজনীয়তার বিশদ বিবরণ (opens in a new tab) খুঁজে পেতে পারেন।

প্লাগ-এন্ড-প্লে সমাধান

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

সিঙ্গেল-বোর্ড কম্পিউটারে ইথেরিয়াম

একটি ইথেরিয়াম নোড চালানোর একটি সহজ এবং সস্তা উপায় হলো একটি সিঙ্গেল বোর্ড কম্পিউটার ব্যবহার করা, এমনকি Raspberry Pi-এর মতো ARM আর্কিটেকচার সহ। ARM-এ ইথেরিয়াম (opens in a new tab) Raspberry Pi এবং অন্যান্য ARM বোর্ডের জন্য একাধিক এক্সিকিউশন এবং কনসেনসাস ক্লায়েন্ট এর সহজে চালানো যায় এমন ইমেজ প্রদান করে।

এই ধরনের ছোট, সাশ্রয়ী মূল্যের এবং দক্ষ ডিভাইসগুলো বাড়িতে একটি নোড চালানোর জন্য আদর্শ তবে তাদের সীমিত কর্মক্ষমতার কথা মাথায় রাখবেন।

নোড চালু করা

প্রকৃত ক্লায়েন্ট সেটআপ স্বয়ংক্রিয় লঞ্চার দিয়ে বা ম্যানুয়ালি, সরাসরি ক্লায়েন্ট সফ্টওয়্যার সেট আপ করে করা যেতে পারে।

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

নির্দেশিত সেটআপ

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

নিচে কয়েকটি প্রকল্প দেওয়া হলো যা আপনাকে মাত্র কয়েকটি ক্লিকে ক্লায়েন্ট ইনস্টল এবং নিয়ন্ত্রণ করতে সাহায্য করতে পারে:

  • DAppNode (opens in a new tab) - DAppNode শুধুমাত্র একজন বিক্রেতার কাছ থেকে একটি মেশিন নিয়ে আসে না। সফ্টওয়্যার, প্রকৃত নোড লঞ্চার এবং অনেক বৈশিষ্ট্য সহ কন্ট্রোল সেন্টার যেকোনো হার্ডওয়্যারে ব্যবহার করা যেতে পারে।
  • EthPillar (opens in a new tab) - একটি ফুল নোড সেটআপ করার দ্রুততম এবং সহজ উপায়। ওয়ান-লাইনার সেটআপ টুল এবং নোড ম্যানেজমেন্ট TUI। বিনামূল্যে। ওপেন সোর্স। সোলো স্টেকারদের দ্বারা ইথেরিয়াম এর জন্য সর্বজনীন সম্পদ। ARM64 এবং AMD64 সমর্থন।
  • eth-docker (opens in a new tab) - সহজ এবং নিরাপদ স্টেকিং এর উপর দৃষ্টি নিবদ্ধ করে Docker ব্যবহার করে স্বয়ংক্রিয় সেটআপ, প্রাথমিক টার্মিনাল এবং Docker জ্ঞান প্রয়োজন, একটু বেশি উন্নত ব্যবহারকারীদের জন্য প্রস্তাবিত।
  • Stereum (opens in a new tab) - একটি GUI সেটআপ গাইড, কন্ট্রোল সেন্টার এবং অন্যান্য অনেক বৈশিষ্ট্য সহ SSH সংযোগের মাধ্যমে একটি দূরবর্তী সার্ভারে ক্লায়েন্ট ইনস্টল করার জন্য লঞ্চার।
  • Sedge (opens in a new tab) - নোড সেটআপ টুল যা CLI উইজার্ড ব্যবহার করে স্বয়ংক্রিয়ভাবে একটি Docker কনফিগারেশন তৈরি করে। নেদারমাইন্ড দ্বারা Go-তে লেখা।
  • Chainstack Self-Hosted (opens in a new tab) - Kubernetes-এ এক্সিকিউশন এবং কনসেনসাস ক্লায়েন্ট ডিপ্লয় করার জন্য ওয়েব UI এবং CLI। স্ন্যাপশট বুটস্ট্র্যাপ এবং বিল্ট-ইন মনিটরিং অন্তর্ভুক্ত। বিনামূল্যে। কোনো Chainstack অ্যাকাউন্টের প্রয়োজন নেই। Chainstack দ্বারা নির্মিত।

ম্যানুয়াল ক্লায়েন্ট সেটআপ

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

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

ক্লায়েন্ট সফ্টওয়্যার সংগ্রহ করা

প্রথমে, আপনাকে আপনার পছন্দের এক্সিকিউশন ক্লায়েন্ট এবং কনসেনসাস ক্লায়েন্ট সফ্টওয়্যার সংগ্রহ করতে হবে।

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

প্রতিটি ক্লায়েন্ট ইনস্টল করার নির্দেশাবলী উপরের ক্লায়েন্ট তালিকায় লিঙ্ক করা ডকুমেন্টেশনে দেওয়া আছে।

এখানে ক্লায়েন্টদের রিলিজ পেজগুলো রয়েছে যেখানে আপনি তাদের প্রি-বিল্ট বাইনারি বা ইনস্টলেশনের নির্দেশাবলী খুঁজে পেতে পারেন:

এক্সিকিউশন ক্লায়েন্ট

এটিও লক্ষণীয় যে ক্লায়েন্ট বৈচিত্র্য এক্সিকিউশন লেয়ার এর একটি সমস্যা। পাঠকদের একটি সংখ্যালঘু এক্সিকিউশন ক্লায়েন্ট চালানোর কথা বিবেচনা করার পরামর্শ দেওয়া হচ্ছে।

কনসেনসাস ক্লায়েন্ট

ভ্যালিডেটর চালানো কনসেনসাস নোডগুলোর জন্য ক্লায়েন্ট বৈচিত্র্য অত্যন্ত গুরুত্বপূর্ণ। যদি বেশিরভাগ ভ্যালিডেটর একটি একক ক্লায়েন্ট ইমপ্লিমেন্টেশন চালায়, তবে নেটওয়ার্ক নিরাপত্তা ঝুঁকির মধ্যে পড়ে। তাই একটি সংখ্যালঘু ক্লায়েন্ট বেছে নেওয়ার কথা বিবেচনা করার পরামর্শ দেওয়া হচ্ছে।

সর্বশেষ নেটওয়ার্ক ক্লায়েন্ট ব্যবহার দেখুন (opens in a new tab) এবং ক্লায়েন্ট বৈচিত্র্য সম্পর্কে আরও জানুন।

সফ্টওয়্যার যাচাই করা

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

ডেভেলপাররা তাদের PGP কী দিয়ে রিলিজ করা বাইনারিগুলোতে স্বাক্ষর করে যাতে আপনি ক্রিপ্টোগ্রাফিকভাবে যাচাই করতে পারেন যে আপনি ঠিক তাদের তৈরি করা সফ্টওয়্যারটি চালাচ্ছেন। আপনাকে কেবল ডেভেলপারদের দ্বারা ব্যবহৃত পাবলিক কীগুলো সংগ্রহ করতে হবে, যা ক্লায়েন্ট রিলিজ পেজ বা ডকুমেন্টেশনে পাওয়া যেতে পারে। ক্লায়েন্ট রিলিজ এবং এর স্বাক্ষর ডাউনলোড করার পরে, আপনি সহজেই সেগুলো যাচাই করতে একটি PGP ইমপ্লিমেন্টেশন ব্যবহার করতে পারেন, যেমন GnuPG (opens in a new tab)Linux (opens in a new tab) বা Windows/macOS (opens in a new tab)-এ gpg ব্যবহার করে ওপেন-সোর্স সফ্টওয়্যার যাচাই করার একটি টিউটোরিয়াল দেখুন।

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

sha256sum teku-22.6.1.tar.gz

9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde

ক্লায়েন্ট সেটআপ

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

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

অন্যান্য মৌলিক কনফিগারেশন বিকল্পগুলো হলো, যেমন, একটি নেটওয়ার্ক বেছে নেওয়া - মেইননেট বা টেস্টনেট, RPC বা WebSockets-এর জন্য HTTP এন্ডপয়েন্ট সক্ষম করা ইত্যাদি। আপনি ক্লায়েন্টের ডকুমেন্টেশনে সমস্ত বৈশিষ্ট্য এবং বিকল্প খুঁজে পেতে পারেন। CLI বা কনফিগ ফাইলে সরাসরি সংশ্লিষ্ট ফ্ল্যাগগুলোর সাথে ক্লায়েন্ট এক্সিকিউট করে বিভিন্ন ক্লায়েন্ট কনফিগারেশন সেট করা যেতে পারে। প্রতিটি ক্লায়েন্ট একটু আলাদা; কনফিগ বিকল্পগুলোর বিশদ বিবরণের জন্য অনুগ্রহ করে সর্বদা এর অফিসিয়াল ডকুমেন্টেশন বা সহায়তা পৃষ্ঠা দেখুন।

পরীক্ষার উদ্দেশ্যে, আপনি টেস্টনেট নেটওয়ার্কগুলোর একটিতে একটি ক্লায়েন্ট চালানো পছন্দ করতে পারেন। সমর্থিত নেটওয়ার্কগুলোর ওভারভিউ দেখুন

মৌলিক কনফিগারেশন সহ এক্সিকিউশন ক্লায়েন্ট চালানোর উদাহরণ পরবর্তী বিভাগে পাওয়া যাবে।

এক্সিকিউশন ক্লায়েন্ট শুরু করা

ইথেরিয়াম ক্লায়েন্ট সফ্টওয়্যার শুরু করার আগে, আপনার পরিবেশ প্রস্তুত কিনা তা শেষবার পরীক্ষা করুন। উদাহরণস্বরূপ, নিশ্চিত করুন:

  • নির্বাচিত নেটওয়ার্ক এবং সিঙ্কিং মোড বিবেচনা করে পর্যাপ্ত ডিস্ক স্পেস রয়েছে।
  • মেমরি এবং CPU অন্যান্য প্রোগ্রাম দ্বারা স্থগিত করা হয়নি।
  • অপারেটিং সিস্টেম সর্বশেষ সংস্করণে আপডেট করা হয়েছে।
  • সিস্টেমে সঠিক সময় এবং তারিখ রয়েছে।
  • আপনার রাউটার এবং ফায়ারওয়াল লিসেনিং পোর্টে সংযোগ গ্রহণ করে। ডিফল্টরূপে ইথেরিয়াম ক্লায়েন্টগুলো একটি লিসেনার (TCP) পোর্ট এবং একটি ডিসকভারি (UDP) পোর্ট ব্যবহার করে, উভয়ই ডিফল্টরূপে 30303-এ থাকে।

সবকিছু সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করতে সাহায্য করার জন্য প্রথমে একটি টেস্টনেট-এ আপনার ক্লায়েন্ট চালান।

শুরুতে ডিফল্ট নয় এমন যেকোনো ক্লায়েন্ট সেটিংস আপনাকে ঘোষণা করতে হবে। আপনার পছন্দের কনফিগারেশন ঘোষণা করতে আপনি ফ্ল্যাগ বা কনফিগ ফাইল ব্যবহার করতে পারেন। প্রতিটি ক্লায়েন্টের বৈশিষ্ট্যের সেট এবং কনফিগ সিনট্যাক্স আলাদা। সুনির্দিষ্ট তথ্যের জন্য আপনার ক্লায়েন্টের ডকুমেন্টেশন দেখুন।

এক্সিকিউশন এবং কনসেনসাস ক্লায়েন্টগুলো Engine API (opens in a new tab)-এ নির্দিষ্ট একটি প্রমাণীকৃত এন্ডপয়েন্টের মাধ্যমে যোগাযোগ করে। একটি কনসেনসাস ক্লায়েন্টের সাথে সংযোগ করার জন্য, এক্সিকিউশন ক্লায়েন্টকে অবশ্যই একটি পরিচিত পাথে একটি jwtsecret (opens in a new tab) তৈরি করতে হবে। নিরাপত্তা এবং স্থিতিশীলতার কারণে, ক্লায়েন্টদের একই মেশিনে চালানো উচিত এবং উভয় ক্লায়েন্টকে অবশ্যই এই পাথটি জানতে হবে কারণ এটি তাদের মধ্যে একটি স্থানীয় RPC সংযোগ প্রমাণীকরণ করতে ব্যবহৃত হয়। এক্সিকিউশন ক্লায়েন্টকে অবশ্যই প্রমাণীকৃত API-গুলোর জন্য একটি লিসেনিং পোর্ট সংজ্ঞায়িত করতে হবে।

এই টোকেনটি ক্লায়েন্ট সফ্টওয়্যার দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়, তবে কিছু ক্ষেত্রে, আপনাকে এটি নিজে করতে হতে পারে। আপনি OpenSSL (opens in a new tab) ব্যবহার করে এটি তৈরি করতে পারেন:

openssl rand -hex 32 > jwtsecret

একটি এক্সিকিউশন ক্লায়েন্ট চালানো

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

  • সংযোগ করার জন্য নেটওয়ার্ক নির্দিষ্ট করে, আমাদের উদাহরণগুলোতে মেইননেট
  • ডেটা ডিরেক্টরি সংজ্ঞায়িত করে, যেখানে ব্লকচেইন সহ সমস্ত ডেটা সংরক্ষণ করা হবে
    • পাথটিকে একটি বাস্তব পাথ দিয়ে প্রতিস্থাপন করতে ভুলবেন না, যেমন, আপনার এক্সটার্নাল ড্রাইভ নির্দেশ করে
  • ক্লায়েন্টের সাথে যোগাযোগের জন্য ইন্টারফেস সক্ষম করে
    • কনসেনসাস ক্লায়েন্টের সাথে যোগাযোগের জন্য জেসন-আরপিসি এবং Engine API সহ
  • প্রমাণীকৃত API-এর জন্য jwtsecret-এর পাথ সংজ্ঞায়িত করে
    • উদাহরণ পাথটিকে একটি বাস্তব পাথ দিয়ে প্রতিস্থাপন করতে ভুলবেন না যা ক্লায়েন্টদের দ্বারা অ্যাক্সেস করা যেতে পারে, যেমন, /tmp/jwtsecret

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

মনে রাখবেন যে উদাহরণগুলোতে ব্যাকস্ল্যাশ \ শুধুমাত্র ফর্ম্যাটিংয়ের উদ্দেশ্যে; কনফিগ ফ্ল্যাগগুলো একটি একক লাইনে সংজ্ঞায়িত করা যেতে পারে।

বেসু চালানো

এই উদাহরণটি মেইননেট-এ বেসু শুরু করে, /data/ethereum-এ ডিফল্ট ফর্ম্যাটে ব্লকচেইন ডেটা সংরক্ষণ করে, কনসেনসাস ক্লায়েন্ট সংযোগ করার জন্য জেসন-আরপিসি এবং Engine RPC সক্ষম করে। Engine API টোকেন jwtsecret দিয়ে প্রমাণীকৃত হয় এবং শুধুমাত্র localhost থেকে কল করার অনুমতি দেওয়া হয়।

besu --network=mainnet \
    --data-path=/data/ethereum \
    --rpc-http-enabled=true \
    --engine-rpc-enabled=true \
    --engine-host-allowlist="*" \
    --engine-jwt-enabled=true \
    --engine-jwt-secret=/path/to/jwtsecret

বেসু একটি লঞ্চার বিকল্পের সাথেও আসে যা একাধিক প্রশ্ন জিজ্ঞাসা করবে এবং কনফিগ ফাইল তৈরি করবে। এটি ব্যবহার করে ইন্টারেক্টিভ লঞ্চার চালান:

besu --Xlauncher

বেসু-এর ডকুমেন্টেশনে (opens in a new tab) অতিরিক্ত বিকল্প এবং কনফিগারেশনের বিশদ বিবরণ রয়েছে।

এরিগন চালানো

এই উদাহরণটি মেইননেট-এ এরিগন শুরু করে, /data/ethereum-এ ব্লকচেইন ডেটা সংরক্ষণ করে, জেসন-আরপিসি সক্ষম করে, কোন নেমস্পেসগুলো অনুমোদিত তা সংজ্ঞায়িত করে এবং কনসেনসাস ক্লায়েন্ট সংযোগ করার জন্য প্রমাণীকরণ সক্ষম করে যা jwtsecret পাথ দ্বারা সংজ্ঞায়িত করা হয়।

erigon --chain mainnet \
    --datadir /data/ethereum  \
    --http --http.api=engine,eth,web3,net \
    --authrpc.jwtsecret=/path/to/jwtsecret

এরিগন ডিফল্টরূপে 8GB HDD-এর সাথে একটি ফুল সিঙ্কিং সম্পাদন করে যার ফলে 2TB-এর বেশি আর্কাইভ ডেটা তৈরি হবে। নিশ্চিত করুন যে datadir পর্যাপ্ত খালি জায়গা সহ ডিস্ক নির্দেশ করছে বা --prune ফ্ল্যাগটি দেখুন যা বিভিন্ন ধরণের ডেটা ট্রিম করতে পারে। আরও জানতে এরিগন-এর --help দেখুন।

Geth চালানো

এই উদাহরণটি মেইননেট-এ Geth শুরু করে, /data/ethereum-এ ব্লকচেইন ডেটা সংরক্ষণ করে, জেসন-আরপিসি সক্ষম করে এবং কোন নেমস্পেসগুলো অনুমোদিত তা সংজ্ঞায়িত করে। এটি কনসেনসাস ক্লায়েন্ট সংযোগ করার জন্য প্রমাণীকরণও সক্ষম করে যার জন্য jwtsecret-এর পাথ প্রয়োজন এবং কোন সংযোগগুলো অনুমোদিত তা সংজ্ঞায়িত করার বিকল্পও প্রয়োজন, আমাদের উদাহরণে শুধুমাত্র localhost থেকে।

geth --mainnet \
    --datadir "/data/ethereum" \
    --http --authrpc.addr localhost \
    --authrpc.vhosts="localhost" \
    --authrpc.port 8551
    --authrpc.jwtsecret=/path/to/jwtsecret

সমস্ত কনফিগারেশন বিকল্পের জন্য ডক্স (opens in a new tab) দেখুন এবং একটি কনসেনসাস ক্লায়েন্টের সাথে Geth চালানো (opens in a new tab) সম্পর্কে আরও জানুন।

নেদারমাইন্ড চালানো

নেদারমাইন্ড বিভিন্ন ইনস্টলেশন বিকল্প (opens in a new tab) অফার করে। প্যাকেজটি বিভিন্ন বাইনারি নিয়ে আসে, যার মধ্যে একটি নির্দেশিত সেটআপ সহ একটি লঞ্চার রয়েছে, যা আপনাকে ইন্টারেক্টিভভাবে কনফিগারেশন তৈরি করতে সাহায্য করবে। বিকল্পভাবে, আপনি Runner খুঁজে পাবেন যা নিজেই এক্সিকিউটেবল এবং আপনি কেবল কনফিগ ফ্ল্যাগগুলোর সাথে এটি চালাতে পারেন। জেসন-আরপিসি ডিফল্টরূপে সক্ষম করা থাকে।

Nethermind.Runner --config mainnet \
    --datadir /data/ethereum \
    --JsonRpc.JwtSecretFile=/path/to/jwtsecret

নেদারমাইন্ড ডক্স কনসেনসাস ক্লায়েন্টের সাথে নেদারমাইন্ড চালানোর বিষয়ে একটি সম্পূর্ণ গাইড (opens in a new tab) অফার করে।

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

রেথ চালানো

এই উদাহরণটি ডিফল্ট ডেটা অবস্থান ব্যবহার করে মেইননেট-এ রেথ শুরু করে। কনসেনসাস ক্লায়েন্ট সংযোগ করার জন্য জেসন-আরপিসি এবং Engine RPC প্রমাণীকরণ সক্ষম করে যা jwtsecret পাথ দ্বারা সংজ্ঞায়িত করা হয়, যেখানে শুধুমাত্র localhost থেকে কল করার অনুমতি দেওয়া হয়।

reth node \
    --authrpc.jwtsecret /path/to/jwtsecret \
    --authrpc.addr 127.0.0.1 \
    --authrpc.port 8551

ডিফল্ট ডেটা ডিরেক্টরি সম্পর্কে আরও জানতে রেথ কনফিগার করা (opens in a new tab) দেখুন। রেথ-এর ডকুমেন্টেশনে (opens in a new tab) অতিরিক্ত বিকল্প এবং কনফিগারেশনের বিশদ বিবরণ রয়েছে।

কনসেনসাস ক্লায়েন্ট শুরু করা

এক্সিকিউশন ক্লায়েন্টের সাথে একটি স্থানীয় RPC সংযোগ স্থাপন করতে কনসেনসাস ক্লায়েন্টকে অবশ্যই সঠিক পোর্ট কনফিগারেশনের সাথে শুরু করতে হবে। কনসেনসাস ক্লায়েন্টগুলোকে কনফিগারেশন আর্গুমেন্ট হিসেবে এক্সপোজ করা এক্সিকিউশন ক্লায়েন্ট পোর্টের সাথে চালাতে হবে।

তাদের মধ্যে RPC সংযোগ প্রমাণীকরণ করার জন্য কনসেনসাস ক্লায়েন্টের এক্সিকিউশন ক্লায়েন্টের jwt-secret-এর পাথও প্রয়োজন। উপরের এক্সিকিউশন উদাহরণগুলোর মতো, প্রতিটি কনসেনসাস ক্লায়েন্টের একটি কনফিগারেশন ফ্ল্যাগ রয়েছে যা jwt টোকেন ফাইল পাথকে একটি আর্গুমেন্ট হিসেবে নেয়। এটি অবশ্যই এক্সিকিউশন ক্লায়েন্টকে দেওয়া jwtsecret পাথের সাথে সামঞ্জস্যপূর্ণ হতে হবে।

আপনি যদি একটি ভ্যালিডেটর চালানোর পরিকল্পনা করেন, তবে ফি প্রাপকের ইথেরিয়াম ঠিকানা নির্দিষ্ট করে একটি কনফিগারেশন ফ্ল্যাগ যোগ করতে ভুলবেন না। এখানেই আপনার ভ্যালিডেটর এর জন্য ইথার পুরস্কার জমা হয়। প্রতিটি কনসেনসাস ক্লায়েন্টের একটি বিকল্প রয়েছে, যেমন, --suggested-fee-recipient=0xabcd1, যা একটি ইথেরিয়াম ঠিকানাকে আর্গুমেন্ট হিসেবে নেয়।

একটি টেস্টনেট-এ একটি বিকন নোড শুরু করার সময়, আপনি চেকপয়েন্ট সিঙ্কিং (opens in a new tab)-এর জন্য একটি পাবলিক এন্ডপয়েন্ট ব্যবহার করে উল্লেখযোগ্য সিঙ্কিং সময় বাঁচাতে পারেন।

একটি কনসেনসাস ক্লায়েন্ট চালানো

লাইটহাউস চালানো

লাইটহাউস চালানোর আগে, Lighthouse Book (opens in a new tab)-এ কীভাবে এটি ইনস্টল এবং কনফিগার করতে হয় সে সম্পর্কে আরও জানুন।

lighthouse beacon_node \
    --network mainnet \
    --datadir /data/ethereum \
    --http \
    --execution-endpoint http://127.0.0.1:8551 \
    --execution-jwt /path/to/jwtsecret
লোডস্টার চালানো

লোডস্টার সফ্টওয়্যারটি কম্পাইল করে বা Docker ইমেজ ডাউনলোড করে ইনস্টল করুন। ডক্স (opens in a new tab) এবং আরও ব্যাপক সেটআপ গাইড (opens in a new tab)-এ আরও জানুন।

lodestar beacon \
    --dataDir="/data/ethereum" \
    --network=mainnet \
    --eth1.enabled=true \
    --execution.urls="http://127.0.0.1:8551" \
    --jwt-secret="/path/to/jwtsecret"
নিম্বাস চালানো

নিম্বাস কনসেনসাস এবং এক্সিকিউশন ক্লায়েন্ট উভয়ের সাথেই আসে। এটি খুব সাধারণ কম্পিউটিং শক্তি সহ বিভিন্ন ডিভাইসে চালানো যেতে পারে। নির্ভরতা এবং নিম্বাস নিজেই ইনস্টল করার (opens in a new tab) পরে, আপনি এর কনসেনসাস ক্লায়েন্ট চালাতে পারেন:

nimbus_beacon_node \
    --network=mainnet \
    --web3-url=http://127.0.0.1:8551 \
    --rest \
    --jwt-secret="/path/to/jwtsecret"
প্রিজম চালানো

প্রিজম স্ক্রিপ্টের সাথে আসে যা সহজে স্বয়ংক্রিয় ইনস্টলেশনের অনুমতি দেয়। বিস্তারিত প্রিজম ডক্স (opens in a new tab)-এ পাওয়া যাবে।

./prysm.sh beacon-chain \
    --mainnet \
    --datadir /data/ethereum  \
    --execution-endpoint=http://localhost:8551  \
    --jwt-secret=/path/to/jwtsecret
টেকু চালানো
teku --network mainnet \
    --data-path "/data/ethereum" \
    --ee-endpoint http://localhost:8551 \
    --ee-jwt-secret-file "/path/to/jwtsecret"

যখন একটি কনসেনসাস ক্লায়েন্ট ডিপোজিট কন্ট্রাক্ট পড়তে এবং ভ্যালিডেটরদের সনাক্ত করতে এক্সিকিউশন ক্লায়েন্টের সাথে সংযোগ করে, তখন এটি অন্যান্য বিকন নোড পিয়ারদের সাথেও সংযোগ করে এবং জেনেসিস থেকে কনসেনসাস স্লটগুলো সিঙ্কিং শুরু করে। বিকন নোড বর্তমান ইপক-এ পৌঁছানোর পরে, বিকন API আপনার ভ্যালিডেটরদের জন্য ব্যবহারযোগ্য হয়ে ওঠে। বিকন নোড API-গুলো (opens in a new tab) সম্পর্কে আরও জানুন।

ভ্যালিডেটর যোগ করা

একটি কনসেনসাস ক্লায়েন্ট ভ্যালিডেটরদের সংযোগ করার জন্য একটি বিকন নোড হিসেবে কাজ করে। প্রতিটি কনসেনসাস ক্লায়েন্টের নিজস্ব ভ্যালিডেটর সফ্টওয়্যার রয়েছে যা এর নিজ নিজ ডকুমেন্টেশনে বিস্তারিতভাবে বর্ণনা করা হয়েছে।

আপনার নিজস্ব ভ্যালিডেটর চালানো সোলো স্টেকিং-এর অনুমতি দেয়, যা ইথেরিয়াম নেটওয়ার্ককে সমর্থন করার সবচেয়ে প্রভাবশালী এবং আস্থা-নিরপেক্ষ পদ্ধতি। তবে, এর জন্য 32 ETH জমা দিতে হবে। অল্প পরিমাণ দিয়ে আপনার নিজস্ব নোডে একটি ভ্যালিডেটর চালানোর জন্য, পারমিশনলেস নোড অপারেটরদের সাথে একটি বিকেন্দ্রীকৃত পুল, যেমন Rocket Pool (opens in a new tab), আপনার আগ্রহের হতে পারে।

স্টেকিং এবং ভ্যালিডেটর কী তৈরির কাজ শুরু করার সবচেয়ে সহজ উপায় হলো Hoodi টেস্টনেট স্টেকিং লঞ্চপ্যাড (opens in a new tab) ব্যবহার করা, যা আপনাকে Hoodi-তে নোড চালিয়ে (opens in a new tab) আপনার সেটআপ পরীক্ষা করার অনুমতি দেয়। আপনি যখন মেইননেট-এর জন্য প্রস্তুত হবেন, তখন আপনি মেইননেট স্টেকিং লঞ্চপ্যাড (opens in a new tab) ব্যবহার করে এই ধাপগুলোর পুনরাবৃত্তি করতে পারেন।

স্টেকিং বিকল্পগুলো সম্পর্কে একটি ওভারভিউয়ের জন্য স্টেকিং পৃষ্ঠা দেখুন।

নোড ব্যবহার করা

এক্সিকিউশন ক্লায়েন্টগুলো RPC API এন্ডপয়েন্ট অফার করে যা আপনি ট্রানজ্যাকশন জমা দিতে, ইথেরিয়াম নেটওয়ার্কে বিভিন্ন উপায়ে স্মার্ট কন্ট্রাক্টগুলোর সাথে ইন্টারঅ্যাক্ট করতে বা ডিপ্লয় করতে ব্যবহার করতে পারেন:

  • একটি উপযুক্ত প্রোটোকল দিয়ে ম্যানুয়ালি তাদের কল করা (যেমন, curl ব্যবহার করে)
  • একটি প্রদত্ত কনসোল সংযুক্ত করা (যেমন, geth attach)
  • Web3 লাইব্রেরি ব্যবহার করে অ্যাপ্লিকেশনগুলোতে তাদের ইমপ্লিমেন্ট করা, যেমন, Web3.py (opens in a new tab), ethers (opens in a new tab)

বিভিন্ন ক্লায়েন্টের RPC এন্ডপয়েন্টগুলোর বিভিন্ন ইমপ্লিমেন্টেশন রয়েছে। তবে একটি স্ট্যান্ডার্ড জেসন-আরপিসি রয়েছে যা আপনি প্রতিটি ক্লায়েন্টের সাথে ব্যবহার করতে পারেন। একটি ওভারভিউয়ের জন্য জেসন-আরপিসি ডক্স পড়ুন। ইথেরিয়াম নেটওয়ার্ক থেকে তথ্যের প্রয়োজন এমন অ্যাপ্লিকেশনগুলো এই RPC ব্যবহার করতে পারে। উদাহরণস্বরূপ, জনপ্রিয় ওয়ালেট মেটামাস্ক আপনাকে আপনার নিজস্ব RPC এন্ডপয়েন্টের সাথে সংযোগ করতে (opens in a new tab) দেয় যার শক্তিশালী গোপনীয়তা এবং নিরাপত্তা সুবিধা রয়েছে।

সমস্ত কনসেনসাস ক্লায়েন্ট একটি বিকন API (opens in a new tab) এক্সপোজ করে যা কনসেনসাস ক্লায়েন্টের স্থিতি পরীক্ষা করতে বা Curl (opens in a new tab)-এর মতো টুল ব্যবহার করে অনুরোধ পাঠিয়ে ব্লক এবং কনসেনসাস ডেটা ডাউনলোড করতে ব্যবহার করা যেতে পারে। প্রতিটি কনসেনসাস ক্লায়েন্টের ডকুমেন্টেশনে এই সম্পর্কে আরও তথ্য পাওয়া যাবে।

RPC-তে পৌঁছানো

এক্সিকিউশন ক্লায়েন্ট জেসন-আরপিসি-এর জন্য ডিফল্ট পোর্ট হলো 8545 তবে আপনি কনফিগারেশনে স্থানীয় এন্ডপয়েন্টগুলোর পোর্ট পরিবর্তন করতে পারেন। ডিফল্টরূপে, RPC ইন্টারফেসটি শুধুমাত্র আপনার কম্পিউটারের লোকালহোস্টে পৌঁছানো যায়। এটিকে দূরবর্তীভাবে অ্যাক্সেসযোগ্য করতে, আপনি ঠিকানাটিকে 0.0.0.0-এ পরিবর্তন করে এটিকে সর্বজনীনভাবে এক্সপোজ করতে চাইতে পারেন। এটি এটিকে স্থানীয় নেটওয়ার্ক এবং পাবলিক IP ঠিকানাগুলোর মাধ্যমে পৌঁছানোযোগ্য করে তুলবে। বেশিরভাগ ক্ষেত্রে আপনাকে আপনার রাউটারে পোর্ট ফরোয়ার্ডিং সেট আপ করতে হবে।

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

এর একটি উপায় হলো সম্ভাব্য ক্ষতিকারক RPC পদ্ধতিগুলোকে পরিবর্তনযোগ্য হওয়া থেকে প্রতিরোধ করা। উদাহরণস্বরূপ, Geth-এর সাথে, আপনি একটি ফ্ল্যাগ দিয়ে পরিবর্তনযোগ্য পদ্ধতিগুলো ঘোষণা করতে পারেন: --http.api web3,eth,txpool

এজ লেয়ার API বা ওয়েব সার্ভার অ্যাপ্লিকেশন, যেমন Nginx, ডেভেলপ করার মাধ্যমে এবং সেগুলোকে আপনার ক্লায়েন্টের স্থানীয় ঠিকানা এবং পোর্টের সাথে সংযুক্ত করার মাধ্যমে RPC ইন্টারফেসে অ্যাক্সেস বাড়ানো যেতে পারে। একটি মিডল লেয়ার ব্যবহার করা ডেভেলপারদের RPC ইন্টারফেসে নিরাপদ https সংযোগের জন্য একটি শংসাপত্র সেটআপ করার ক্ষমতাও দিতে পারে।

একটি ওয়েব সার্ভার, একটি প্রক্সি বা এক্সটার্নাল ফেসিং Rest API সেট আপ করা আপনার নোডের RPC এন্ডপয়েন্টে অ্যাক্সেস প্রদান করার একমাত্র উপায় নয়। একটি সর্বজনীনভাবে পৌঁছানোযোগ্য এন্ডপয়েন্ট সেট আপ করার আরেকটি গোপনীয়তা-সংরক্ষণকারী উপায় হলো আপনার নিজস্ব Tor (opens in a new tab) অনিয়ন পরিষেবাতে নোড হোস্ট করা। এটি আপনাকে একটি স্ট্যাটিক পাবলিক IP ঠিকানা বা খোলা পোর্ট ছাড়াই আপনার স্থানীয় নেটওয়ার্কের বাইরে RPC-তে পৌঁছাতে দেবে। তবে, এই কনফিগারেশনটি ব্যবহার করা শুধুমাত্র Tor নেটওয়ার্কের মাধ্যমে RPC এন্ডপয়েন্ট অ্যাক্সেসযোগ্য হওয়ার অনুমতি দিতে পারে যা সমস্ত অ্যাপ্লিকেশন দ্বারা সমর্থিত নয় এবং এর ফলে সংযোগ সমস্যা হতে পারে।

এটি করার জন্য, আপনাকে আপনার নিজস্ব অনিয়ন পরিষেবা (opens in a new tab) তৈরি করতে হবে। আপনার নিজস্ব হোস্ট করার জন্য অনিয়ন পরিষেবা সেটআপের ডকুমেন্টেশন (opens in a new tab) দেখুন। আপনি এটিকে RPC পোর্টে প্রক্সি সহ একটি ওয়েব সার্ভারে বা সরাসরি RPC-তে নির্দেশ করতে পারেন।

সবশেষে, এবং অভ্যন্তরীণ নেটওয়ার্কগুলোতে অ্যাক্সেস প্রদান করার অন্যতম জনপ্রিয় উপায় হলো একটি VPN সংযোগের মাধ্যমে। আপনার ব্যবহারের ক্ষেত্রে এবং আপনার নোডে অ্যাক্সেস প্রয়োজন এমন ব্যবহারকারীদের পরিমাণের উপর নির্ভর করে, একটি নিরাপদ VPN সংযোগ একটি বিকল্প হতে পারে। OpenVPN (opens in a new tab) হলো একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত SSL VPN যা শিল্প মানক SSL/TLS প্রোটোকল ব্যবহার করে OSI লেয়ার 2 বা 3 নিরাপদ নেটওয়ার্ক এক্সটেনশন ইমপ্লিমেন্ট করে, শংসাপত্র, স্মার্ট কার্ড এবং/অথবা ব্যবহারকারীর নাম/পাসওয়ার্ড শংসাপত্রের উপর ভিত্তি করে নমনীয় ক্লায়েন্ট প্রমাণীকরণ পদ্ধতি সমর্থন করে এবং VPN ভার্চুয়াল ইন্টারফেসে প্রয়োগ করা ফায়ারওয়াল নিয়ম ব্যবহার করে ব্যবহারকারী বা গ্রুপ-নির্দিষ্ট অ্যাক্সেস নিয়ন্ত্রণ নীতির অনুমতি দেয়।

নোড পরিচালনা করা

আপনার নোডটি সঠিকভাবে চলছে কিনা তা নিশ্চিত করতে আপনার নিয়মিত এটি পর্যবেক্ষণ করা উচিত। আপনাকে মাঝে মাঝে রক্ষণাবেক্ষণ করতে হতে পারে।

একটি নোড অনলাইনে রাখা

আপনার নোডকে সব সময় অনলাইনে থাকতে হবে না, তবে নেটওয়ার্কের সাথে সিঙ্কিং রাখতে আপনার এটিকে যতটা সম্ভব অনলাইনে রাখা উচিত। আপনি এটি পুনরায় চালু করতে এটি বন্ধ করতে পারেন, তবে মনে রাখবেন যে:

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

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

ক্লায়েন্ট পরিষেবা তৈরি করা

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

ক্লায়েন্ট আপডেট করা

আপনাকে আপনার ক্লায়েন্ট সফ্টওয়্যারটিকে সর্বশেষ নিরাপত্তা প্যাচ, বৈশিষ্ট্য এবং EIP-গুলোর সাথে আপ-টু-ডেট রাখতে হবে। বিশেষ করে হার্ড ফর্ক-এর আগে, নিশ্চিত করুন যে আপনি সঠিক ক্লায়েন্ট সংস্করণগুলো চালাচ্ছেন।

গুরুত্বপূর্ণ নেটওয়ার্ক আপডেটের আগে, EF তার ব্লগে (opens in a new tab) একটি পোস্ট প্রকাশ করে। আপনার নোডের আপডেটের প্রয়োজন হলে আপনার মেইলে একটি বিজ্ঞপ্তি পেতে আপনি এই ঘোষণাগুলোতে সদস্যতা নিতে পারেন (opens in a new tab)

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

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

অতিরিক্ত পরিষেবা চালানো

আপনার নিজস্ব নোড চালানো আপনাকে এমন পরিষেবাগুলো ব্যবহার করতে দেয় যার জন্য ইথেরিয়াম ক্লায়েন্ট RPC-তে সরাসরি অ্যাক্সেস প্রয়োজন। এগুলো হলো ইথেরিয়াম এর উপরে নির্মিত পরিষেবা যেমন লেয়ার ২ (l2) সমাধান, ওয়ালেটের জন্য ব্যাকএন্ড, ব্লক এক্সপ্লোরার, ডেভেলপার টুল এবং অন্যান্য ইথেরিয়াম পরিকাঠামো।

নোড পর্যবেক্ষণ করা

আপনার নোড সঠিকভাবে পর্যবেক্ষণ করতে, মেট্রিক্স সংগ্রহ করার কথা বিবেচনা করুন। ক্লায়েন্টরা মেট্রিক্স এন্ডপয়েন্ট প্রদান করে যাতে আপনি আপনার নোড সম্পর্কে ব্যাপক ডেটা পেতে পারেন। ডাটাবেস তৈরি করতে InfluxDB (opens in a new tab) বা Prometheus (opens in a new tab)-এর মতো টুল ব্যবহার করুন যা আপনি Grafana (opens in a new tab)-এর মতো সফ্টওয়্যারে ভিজ্যুয়ালাইজেশন এবং চার্টে পরিণত করতে পারেন। এই সফ্টওয়্যারটি ব্যবহার করার জন্য অনেক সেটআপ রয়েছে এবং আপনার নোড এবং সামগ্রিকভাবে নেটওয়ার্কটি ভিজ্যুয়ালাইজ করার জন্য বিভিন্ন Grafana ড্যাশবোর্ড রয়েছে। উদাহরণস্বরূপ, Geth পর্যবেক্ষণের টিউটোরিয়াল দেখুন।

আপনার পর্যবেক্ষণের অংশ হিসেবে, আপনার মেশিনের কর্মক্ষমতার দিকে নজর রাখতে ভুলবেন না। আপনার নোডের প্রাথমিক সিঙ্কিং এর সময়, ক্লায়েন্ট সফ্টওয়্যারটি CPU এবং RAM-এর উপর খুব ভারী হতে পারে। Grafana ছাড়াও, আপনি এটি করতে আপনার OS-এর অফার করা টুলগুলো যেমন htop বা uptime ব্যবহার করতে পারেন।

আরও পড়ুন