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

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

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

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

পূর্বশর্ত

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ন্যূনতম প্রয়োজনীয়তা
প্রস্তাবিত স্পেসিফিকেশন

নোড অপারেটরদের জন্য বর্তমান হার্ডওয়্যার নির্দেশিকা EIP-7870 (নতুন ট্যাবে খোলে)-এ চিহ্নিত করা হয়েছে। একটি ফুল নোড এর জন্য এটি সুপারিশ করে:

  • 4+ কোর সহ দ্রুত CPU (ভ্যালিডেটিং করলে 8+ কোর)
  • 32 GB RAM (স্থিতিশীলতা নিশ্চিত করতে ভ্যালিডেটিং করলে 64 GB প্রস্তাবিত)
  • 4 TB NVMe SSD (DRAM-বিহীন এবং QLC ড্রাইভগুলি নিরুৎসাহিত করা হয়)
  • 50 MBit/s ডাউন / 15+ MBit/s আপ ব্যান্ডউইথ (ভ্যালিডেটিং করলে 25+ MBit/s আপ)

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

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

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

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

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

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

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

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

নোড চালু করা

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sha256sum teku-22.6.1.tar.gz

9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde

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

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

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

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

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

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

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

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

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

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

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

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

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

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

বেসুর ডকুমেন্টেশনে (নতুন ট্যাবে খোলে) অতিরিক্ত বিকল্প এবং কনফিগারেশনের বিশদ বিবরণ রয়েছে।

এরিগন চালানো

এই উদাহরণটি মেইননেটে এরিগন শুরু করে, /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

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

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

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

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

নেদারমাইন্ড ডক্স কনসেনসাস ক্লায়েন্টের সাথে নেদারমাইন্ড চালানোর বিষয়ে একটি সম্পূর্ণ গাইড (নতুন ট্যাবে খোলে) অফার করে।

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

রেথ চালানো

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

./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 (নতুন ট্যাবে খোলে) সম্পর্কে আরও জানুন।

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

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

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

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

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

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

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

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

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

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

RPC-তে পৌঁছানো

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

নোড নিরীক্ষণ করা

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

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

আরও পড়ুন