স্মার্ট কন্ট্রাক্ট নামকরণ
পেজ সর্বশেষ আপডেট: ৯ সেপ্টেম্বর, ২০২৫
স্মার্ট কন্ট্রাক্ট হলো ইথিরিয়ামের ডিসেন্ট্রালাইজড অবকাঠামোর একটি মূল ভিত্তি, যা স্বায়ত্তশাসিত অ্যাপ্লিকেশন এবং প্রটোকলগুলোকে সক্ষম করে। কিন্তু কন্ট্রাক্টের সক্ষমতা বিকশিত হওয়ার পরও, ব্যবহারকারী এবং ডেভেলপাররা এখনও এই কন্ট্রাক্টগুলো শনাক্ত করতে এবং রেফারেন্স হিসেবে ব্যবহার করতে র (raw) হেক্সাডেসিমাল এডড্রেস এর উপর নির্ভর করে।
Ethereum Name Service (ENS) (opens in a new tab) এর মাধ্যমে স্মার্ট কন্ট্রাক্ট এর নামকরণ হেক্সাডেসিমাল কন্ট্রাক্ট এডড্রেস দূর করে ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং এডড্রেস পয়জনিং ও স্পুফিং এ্যাটাকের মতো ঝুঁকি কমায়। এই গাইডে ব্যাখ্যা করা হয়েছে কেন স্মার্ট কন্ট্রাক্ট এর নামকরণ গুরুত্বপূর্ণ, কীভাবে এটি বাস্তবায়ন করা যায় এবং প্রক্রিয়াটিকে সহজ করতে ও ডেভেলপারদের এই অনুশীলন গ্রহণে সহায়তা করতে Enscribe (opens in a new tab) এর মতো কী কী টুলস উপলব্ধ রয়েছে।
কেন স্মার্ট কন্ট্রাক্ট এর নামকরণ করবেন?
মানুষের পড়ার যোগ্য আইডেন্টিফায়ার
0x8f8e...f9e3 এর মতো অস্পষ্ট কন্ট্রাক্ট এডড্রেস এর সাথে ইন্টারঅ্যাক্ট করার পরিবর্তে, ডেভেলপার এবং ব্যবহারকারীরা v2.myapp.eth এর মতো মানুষের পড়ার যোগ্য নাম ব্যবহার করতে পারেন। এটি স্মার্ট কন্ট্রাক্ট এর ইন্টারঅ্যাকশনকে সহজ করে।
এটি Ethereum Name Service (opens in a new tab) এর মাধ্যমে সম্ভব হয়েছে, যা ইথিরিয়াম এডড্রেস এর জন্য একটি ডিসেন্ট্রালাইজড নেমিং সার্ভিস প্রদান করে। এটি অনেকটা ডোমেইন নেম সার্ভিস (DNS) এর মতো, যা ইন্টারনেটের ব্যবহারকারীদের 104.18.176.152 এর মতো আইপি এডড্রেস এর পরিবর্তে ethereum.org এর মতো নাম ব্যবহার করে নেটওয়ার্ক এডড্রেস এ অ্যাক্সেস করতে সক্ষম করে।
উন্নত নিরাপত্তা এবং বিশ্বাস
নামযুক্ত কন্ট্রাক্ট ভুল এডড্রেস এ দুর্ঘটনাবশত লেনদেন কমাতে সাহায্য করে। এগুলো ব্যবহারকারীদের নির্দিষ্ট অ্যাপ বা ব্র্যান্ডের সাথে যুক্ত কন্ট্রাক্ট শনাক্ত করতেও সাহায্য করে। এটি সুনামের দিক থেকে বিশ্বাসের একটি স্তর যোগ করে, বিশেষ করে যখন নামগুলো uniswap.eth এর মতো সুপরিচিত প্যারেন্ট ডোমেইনের সাথে যুক্ত থাকে।
ইথিরিয়াম এডড্রেস এর 42-অক্ষরের দৈর্ঘ্যের কারণে, ব্যবহারকারীদের জন্য এডড্রেস এর ছোটখাটো পরিবর্তন শনাক্ত করা খুব কঠিন, যেখানে কয়েকটি অক্ষর পরিবর্তন করা হয়েছে। উদাহরণস্বরূপ, 0x58068646C148E313CB414E85d2Fe89dDc3426870 এর মতো একটি এডড্রেস সাধারণত ওয়ালেট এর মতো ব্যবহারকারী-মুখী অ্যাপ্লিকেশনগুলোর মাধ্যমে 0x580...870 এ ছোট করা হয়। একজন ব্যবহারকারীর পক্ষে এমন একটি ক্ষতিকারক এডড্রেস লক্ষ্য করার সম্ভাবনা কম যেখানে কয়েকটি অক্ষর পরিবর্তন করা হয়েছে।
এই ধরনের কৌশল এডড্রেস স্পুফিং এবং পয়জনিং এ্যাটাকগুলোতে ব্যবহার করা হয়, যেখানে ব্যবহারকারীদের বিশ্বাস করানো হয় যে তারা সঠিক এডড্রেস এর সাথে ইন্টারঅ্যাক্ট করছেন বা ফান্ড পাঠাচ্ছেন, যখন বাস্তবে এডড্রেসটি কেবল সঠিক এডড্রেস এর মতো দেখতে হয়, কিন্তু একই নয়।
ওয়ালেট এবং কন্ট্রাক্ট এর জন্য ENS নামগুলো এই ধরনের এ্যাটাক থেকে রক্ষা করে। DNS স্পুফিং এ্যাটাকের মতো, ENS স্পুফিং এ্যাটাকও হতে পারে, তবে একজন ব্যবহারকারীর হেক্সাডেসিমাল এডড্রেস এর ছোট পরিবর্তনের চেয়ে ENS নামের বানান ভুল লক্ষ্য করার সম্ভাবনা বেশি।
ওয়ালেট এবং এক্সপ্লোরারগুলোর জন্য উন্নত UX
যখন একটি স্মার্ট কন্ট্রাক্ট একটি ENS নামের সাথে কনফিগার করা হয়, তখন ওয়ালেট এবং ব্লকচেইন এক্সপ্লোরারগুলোর মতো অ্যাপগুলোর পক্ষে হেক্সাডেসিমাল এডড্রেস এর পরিবর্তে স্মার্ট কন্ট্রাক্ট এর জন্য ENS নাম প্রদর্শন করা সম্ভব হয়। এটি ব্যবহারকারীদের জন্য একটি উল্লেখযোগ্য ইউজার এক্সপেরিয়েন্স (UX) উন্নতি প্রদান করে।
উদাহরণস্বরূপ, Uniswap এর মতো একটি অ্যাপের সাথে ইন্টারঅ্যাক্ট করার সময়, ব্যবহারকারীরা সাধারণত দেখতে পাবেন যে তারা যে অ্যাপটির সাথে ইন্টারঅ্যাক্ট করছেন তা uniswap.org ওয়েবসাইটে হোস্ট করা হয়েছে, কিন্তু Uniswap যদি ENS এর মাধ্যমে তাদের স্মার্ট কন্ট্রাক্ট এর নামকরণ না করে থাকে তবে তাদের একটি হেক্সাডেসিমাল কন্ট্রাক্ট এডড্রেস দেখানো হবে। যদি কন্ট্রাক্টটির নামকরণ করা হয়, তবে এর পরিবর্তে তারা v4.contracts.uniswap.eth দেখতে পাবেন যা অনেক বেশি কার্যকর।
ডিপ্লয়মেন্টের সময় বনাম ডিপ্লয়মেন্টের পরে নামকরণ
দুটি পর্যায়ে স্মার্ট কন্ট্রাক্ট এর নামকরণ করা যেতে পারে:
- ডিপ্লয়মেন্টের সময়: কন্ট্রাক্টটি ডিপ্লয় করার সময় এতে একটি ENS নাম নির্ধারণ করা।
- ডিপ্লয়মেন্টের পরে: একটি বিদ্যমান কন্ট্রাক্ট এডড্রেস কে একটি নতুন ENS নামের সাথে ম্যাপ করা।
উভয় পদ্ধতিতেই একটি ENS ডোমেইনে মালিক বা ম্যানেজারের অ্যাক্সেস থাকার উপর নির্ভর করে যাতে তারা ENS রেকর্ড তৈরি এবং সেট করতে পারে।
কন্ট্রাক্ট এর জন্য ENS নামকরণ কীভাবে কাজ করে
ENS নামগুলো অনচেইন এ সংরক্ষিত থাকে এবং ENS রিসলভারের মাধ্যমে ইথিরিয়াম এডড্রেস এ রিসলভ হয়। একটি স্মার্ট কন্ট্রাক্ট এর নামকরণ করতে:
- একটি প্যারেন্ট ENS ডোমেইন নিবন্ধন বা নিয়ন্ত্রণ করুন (যেমন
myapp.eth) - একটি সাবডোমেইন তৈরি করুন (যেমন
v1.myapp.eth) - সাবডোমেইনের
addressরেকর্ডটি কন্ট্রাক্ট এডড্রেস এ সেট করুন - এডড্রেস এর মাধ্যমে নামটি খুঁজে পাওয়ার জন্য কন্ট্রাক্ট এর রিভার্স রেকর্ডটি ENS এ সেট করুন
ENS নামগুলো হায়ারার্কিকাল এবং সীমাহীন সাব-নাম সমর্থন করে। এই রেকর্ডগুলো সেট করার ক্ষেত্রে সাধারণত ENS রেজিস্ট্রি এবং পাবলিক রিসলভার কন্ট্রাক্টগুলোর সাথে ইন্টারঅ্যাক্ট করা জড়িত থাকে।
কন্ট্রাক্ট নামকরণের টুলস
স্মার্ট কন্ট্রাক্ট নামকরণের দুটি পদ্ধতি রয়েছে। হয় কিছু ম্যানুয়াল ধাপের সাথে ENS App (opens in a new tab) ব্যবহার করা, অথবা Enscribe (opens in a new tab) ব্যবহার করা। এগুলো নিচে তুলে ধরা হলো।
ম্যানুয়াল ENS সেটআপ
ENS App (opens in a new tab) ব্যবহার করে, ডেভেলপাররা ম্যানুয়ালি সাব-নাম তৈরি করতে এবং ফরোয়ার্ড এডড্রেস রেকর্ড সেট করতে পারেন। তবে, তারা ENS অ্যাপের মাধ্যমে নামের জন্য রিভার্স রেকর্ড সেট করে একটি স্মার্ট কন্ট্রাক্ট এর জন্য প্রাইমারি নাম সেট করতে পারবেন না। এর জন্য ম্যানুয়াল পদক্ষেপ নিতে হবে যা ENS docs (opens in a new tab) এ কভার করা হয়েছে।
Enscribe
Enscribe (opens in a new tab) ENS এর মাধ্যমে স্মার্ট কন্ট্রাক্ট নামকরণকে সহজ করে এবং স্মার্ট কন্ট্রাক্ট এর প্রতি ব্যবহারকারীর বিশ্বাস বাড়ায়। এটি প্রদান করে:
- অ্যাটমিক ডিপ্লয়মেন্ট এবং নামকরণ: একটি নতুন কন্ট্রাক্ট ডিপ্লয় করার সময় একটি ENS নাম নির্ধারণ করা
- ডিপ্লয়মেন্ট-পরবর্তী নামকরণ: ইতিমধ্যে ডিপ্লয় করা কন্ট্রাক্টগুলোতে নাম যুক্ত করা
- মাল্টি-চেইন সমর্থন: ইথিরিয়াম এবং লেয়ার ২ (L2) নেটওয়ার্ক জুড়ে কাজ করে যেখানে ENS সমর্থিত
- কন্ট্রাক্ট ভেরিফিকেশন ডাটা: ব্যবহারকারীদের জন্য বিশ্বাস বাড়াতে একাধিক সোর্স থেকে নেওয়া কন্ট্রাক্ট ভেরিফিকেশন ডাটা অন্তর্ভুক্ত করে
Enscribe ব্যবহারকারীদের দেওয়া ENS নাম সমর্থন করে, অথবা ব্যবহারকারীর কোনো ENS নাম না থাকলে এর নিজস্ব ডোমেইন সমর্থন করে।
স্মার্ট কন্ট্রাক্ট এর নামকরণ এবং দেখার কাজ শুরু করতে আপনি Enscribe App (opens in a new tab) এ অ্যাক্সেস করতে পারেন।
সেরা অনুশীলন
- কন্ট্রাক্ট আপগ্রেডগুলোকে স্বচ্ছ করতে
v1.myapp.ethএর মতো স্পষ্ট, ভার্সনযুক্ত নাম ব্যবহার করুন - ওয়ালেট এবং ব্লকচেইন এক্সপ্লোরারগুলোর মতো অ্যাপগুলোতে দৃশ্যমানতার জন্য কন্ট্রাক্টগুলোকে ENS নামের সাথে লিঙ্ক করতে রিভার্স রেকর্ড সেট করুন।
- মালিকানায় দুর্ঘটনাবশত পরিবর্তন রোধ করতে চাইলে মেয়াদোত্তীর্ণের সময়গুলো নিবিড়ভাবে পর্যবেক্ষণ করুন
- কন্ট্রাক্ট সোর্স ভেরিফাই করুন যাতে ব্যবহারকারীরা বিশ্বাস করতে পারে যে নামযুক্ত কন্ট্রাক্টটি প্রত্যাশা অনুযায়ী আচরণ করবে
ঝুঁকি
স্মার্ট কন্ট্রাক্ট এর নামকরণ ইথিরিয়াম এর ব্যবহারকারীদের জন্য উল্লেখযোগ্য সুবিধা প্রদান করে, তবে, ENS ডোমেইনের মালিকদের তাদের পরিচালনার ক্ষেত্রে সতর্ক থাকতে হবে। উল্লেখযোগ্য ঝুঁকিগুলোর মধ্যে রয়েছে:
- মেয়াদোত্তীর্ণ: DNS নামের মতোই, ENS নামের নিবন্ধনগুলো সীমিত সময়ের জন্য হয়। তাই এটি অত্যন্ত গুরুত্বপূর্ণ যে মালিকরা তাদের ডোমেইনের মেয়াদোত্তীর্ণের তারিখগুলো পর্যবেক্ষণ করেন এবং মেয়াদ শেষ হওয়ার আগেই সেগুলো রিনিউ করেন। ENS App এবং Enscribe উভয়ই ডোমেইন মালিকদের জন্য মেয়াদ শেষ হওয়ার সময় ভিজ্যুয়াল ইন্ডিকেটর প্রদান করে।
- মালিকানা পরিবর্তন: ENS রেকর্ডগুলো ইথিরিয়াম এ NFT হিসেবে উপস্থাপন করা হয়, যেখানে একটি নির্দিষ্ট
.ethডোমেইনের মালিকের কাছে সংশ্লিষ্ট NFT থাকে। তাই যদি অন্য কোনো একাউন্ট এই NFT এর মালিকানা গ্রহণ করে, তবে নতুন মালিক তাদের ইচ্ছামতো যেকোনো ENS রেকর্ড পরিবর্তন করতে পারবেন।
এই ধরনের ঝুঁকি কমানোর জন্য, .eth ২য় স্তরের ডোমেইনগুলোর (2LD) মালিকের একাউন্ট একটি মাল্টিসিগ ওয়ালেট এর মাধ্যমে সুরক্ষিত করা উচিত এবং কন্ট্রাক্ট নামকরণ পরিচালনার জন্য সাবডোমেইন তৈরি করা উচিত। এইভাবে সাবডোমেইন স্তরে মালিকানায় কোনো দুর্ঘটনাবশত বা ক্ষতিকারক পরিবর্তন হলে, 2LD মালিক সেগুলো ওভাররাইড করতে পারবেন।
কন্ট্রাক্ট নামকরণের ভবিষ্যৎ
কন্ট্রাক্ট নামকরণ ডিএ্যাপ ডেভেলপমেন্টের জন্য একটি সেরা অনুশীলন হয়ে উঠছে, ঠিক যেমনভাবে ডোমেইন নামগুলো ওয়েবে আইপি এডড্রেস কে প্রতিস্থাপন করেছে। যেহেতু ওয়ালেট, এক্সপ্লোরার এবং ড্যাশবোর্ডের মতো আরও বেশি অবকাঠামো কন্ট্রাক্ট এর জন্য ENS রেজোলিউশনকে একীভূত করছে, নামযুক্ত কন্ট্রাক্টগুলো ইকোসিস্টেম জুড়ে নিরাপত্তা উন্নত করবে এবং ত্রুটি কমাবে।
স্মার্ট কন্ট্রাক্ট গুলোকে সহজে চেনা এবং বোঝার উপযোগী করে তোলার মাধ্যমে, নামকরণ ইথিরিয়াম এ ব্যবহারকারী এবং অ্যাপগুলোর মধ্যে ব্যবধান দূর করতে সাহায্য করে, যা ব্যবহারকারীদের জন্য নিরাপত্তা এবং UX উভয়ই উন্নত করে।