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

নেটওয়ার্ক ঠিকানা

ইথেরিয়াম নোডগুলোকে পিয়ারদের সাথে সংযুক্ত হওয়ার জন্য কিছু প্রাথমিক তথ্য দিয়ে নিজেদের পরিচয় দিতে হয়। যেকোনো সম্ভাব্য পিয়ার যাতে এই তথ্য বুঝতে পারে তা নিশ্চিত করতে, এটি তিনটি প্রমিত ফর্ম্যাটের যেকোনো একটিতে রিলে করা হয় যা যেকোনো ইথেরিয়াম নোড বুঝতে পারে: multiaddr, enode, বা ইথেরিয়াম নোড রেকর্ডস (ENRs)। ENR হলো ইথেরিয়াম নেটওয়ার্ক ঠিকানার বর্তমান স্ট্যান্ডার্ড।

পূর্বশর্ত

এই পৃষ্ঠাটি বোঝার জন্য ইথেরিয়ামের নেটওয়ার্কিং লেয়ার সম্পর্কে কিছু ধারণা থাকা প্রয়োজন।

Multiaddr

আসল ইথেরিয়াম নোড ঠিকানার ফর্ম্যাটটি ছিল 'multiaddr' ('multi-addresses'-এর সংক্ষিপ্ত রূপ)। Multiaddr হলো পিয়ার-টু-পিয়ার নেটওয়ার্কের জন্য ডিজাইন করা একটি সর্বজনীন ফর্ম্যাট। ঠিকানাগুলোকে কী-ভ্যালু জোড়া হিসেবে উপস্থাপন করা হয়, যেখানে কী এবং ভ্যালুগুলো একটি ফরোয়ার্ড স্ল্যাশ দিয়ে আলাদা করা থাকে। উদাহরণস্বরূপ, 192.168.22.27 IPv4 ঠিকানাসহ একটি নোড যা 33000 TCP পোর্টে শুনছে, তার multiaddr দেখতে এমন হয়:

/ip4/192.168.22.27/tcp/33000

একটি ইথেরিয়াম নোডের ক্ষেত্রে, multiaddr-এ নোড-আইডি (তাদের পাবলিক কী-এর একটি হ্যাশ) থাকে:

/ip4/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br

Enode

Enode হলো URL ঠিকানা ফর্ম্যাট ব্যবহার করে একটি ইথেরিয়াম নোড শনাক্ত করার একটি উপায়। হেক্সাডেসিমেল নোড-আইডি URL-এর ইউজারনেম অংশে এনকোড করা থাকে যা একটি @ চিহ্ন ব্যবহার করে হোস্ট থেকে আলাদা করা হয়। স্পেসিফিকেশনটি শুধুমাত্র হোস্টনেমকে একটি IP ঠিকানা হিসেবে সংজ্ঞায়িত করে; তবে, বেশিরভাগ ক্লায়েন্ট (যেমন Geth এবং বেসু) এখানে একটি DNS নামও গ্রহণ করে এবং স্টার্টআপের সময় এটিকে একটি IP ঠিকানায় রূপান্তর করে। এটি স্ট্যান্ডার্ডের অংশ হওয়ার পরিবর্তে ক্লায়েন্ট-নির্দিষ্ট আচরণ। হোস্টনেম সেকশনের পোর্টটি হলো TCP লিসেনিং পোর্ট। যদি TCP এবং UDP (ডিসকভারি) পোর্ট আলাদা হয়, তবে UDP পোর্টটিকে একটি কোয়েরি প্যারামিটার "discport" হিসেবে নির্দিষ্ট করা হয়।

নিচের উদাহরণে, নোড URL-টি 10.3.58.6 IP ঠিকানা, 30303 TCP পোর্ট এবং 30301 UDP ডিসকভারি পোর্টসহ একটি নোডকে বর্ণনা করে।

enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301

ইথেরিয়াম নোড রেকর্ডস (ENRs)

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

আরও পড়ুন