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

স্মার্ট কন্ট্রাক্ট যাচাইকরণ

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

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

সোর্স কোড যাচাইকরণ কী?

ইথেরিয়াম ভার্চুয়াল মেশিনে (EVM) একটি স্মার্ট কন্ট্রাক্ট ডিপ্লয় করার আগে, ডেভেলপাররা কন্ট্রাক্টের সোর্স কোড—যা Solidity বা অন্য কোনো উচ্চ-স্তরের প্রোগ্রামিং ভাষায় লেখা নির্দেশাবলী—বাইটকোডে কম্পাইল করে। যেহেতু EVM উচ্চ-স্তরের নির্দেশাবলী বুঝতে পারে না, তাই EVM-এ কন্ট্রাক্ট লজিক কার্যকর করার জন্য সোর্স কোডকে বাইটকোডে (অর্থাৎ, নিম্ন-স্তরের, মেশিন নির্দেশাবলী) কম্পাইল করা প্রয়োজন।

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

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

সম্পূর্ণ যাচাইকরণ কী?

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

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

মেটাডেটা ফাইলে সোর্স ফাইল এবং তাদের হ্যাশসহ কন্ট্রাক্টের কম্পাইলেশন সম্পর্কে তথ্য থাকে। এর মানে হলো, যদি কম্পাইলেশন সেটিংসের কোনোটি বা সোর্স ফাইলগুলোর কোনো একটির একটি বাইটও পরিবর্তিত হয়, তবে মেটাডেটা ফাইলটি পরিবর্তিত হয়। ফলস্বরূপ মেটাডেটা ফাইলের হ্যাশ, যা বাইটকোডে যুক্ত করা হয়, সেটিও পরিবর্তিত হয়। এর মানে হলো যদি কোনো কন্ট্রাক্টের বাইটকোড + যুক্ত করা মেটাডেটা হ্যাশ প্রদত্ত সোর্স কোড এবং কম্পাইলেশন সেটিংসের সাথে মিলে যায়, তবে আমরা নিশ্চিত হতে পারি যে এটি ঠিক একই সোর্স কোড যা মূল কম্পাইলেশনে ব্যবহৃত হয়েছিল, এমনকি একটি বাইটও আলাদা নয়।

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

সোর্স কোড যাচাইকরণ কেন গুরুত্বপূর্ণ?

আস্থাহীনতা

আস্থাহীনতা নিঃসন্দেহে স্মার্ট কন্ট্রাক্ট এবং বিকেন্দ্রীকৃত অ্যাপ্লিকেশন (dapp)-এর জন্য সবচেয়ে বড় ভিত্তি। স্মার্ট কন্ট্রাক্টগুলো "অপরিবর্তনীয়" এবং এগুলো পরিবর্তন করা যায় না; একটি কন্ট্রাক্ট কেবল ডিপ্লয়মেন্টের সময় কোডে সংজ্ঞায়িত ব্যবসায়িক লজিক কার্যকর করবে। এর মানে হলো ডেভেলপার এবং এন্টারপ্রাইজগুলো ইথেরিয়ামে ডিপ্লয় করার পরে কোনো কন্ট্রাক্টের কোডে কারচুপি করতে পারবে না।

একটি স্মার্ট কন্ট্রাক্টকে আস্থা-নিরপেক্ষ হতে হলে, স্বাধীন যাচাইকরণের জন্য কন্ট্রাক্ট কোডটি উপলব্ধ থাকতে হবে। যদিও প্রতিটি স্মার্ট কন্ট্রাক্টের জন্য কম্পাইল করা বাইটকোড ব্লকচেইনে সর্বজনীনভাবে উপলব্ধ থাকে, নিম্ন-স্তরের ভাষা বোঝা কঠিন—ডেভেলপার এবং ব্যবহারকারী উভয়ের জন্যই।

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

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

ব্যবহারকারীর নিরাপত্তা

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

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

ইথেরিয়াম স্মার্ট কন্ট্রাক্টের জন্য সোর্স কোড কীভাবে যাচাই করবেন

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

A diagram showing showing smart contract source code verification

একটি স্মার্ট কন্ট্রাক্ট যাচাই করার ক্ষেত্রে মূলত নিচের ধাপগুলো জড়িত থাকে:

  1. একটি কম্পাইলারে সোর্স ফাইল এবং কম্পাইলেশন সেটিংস ইনপুট দিন।

  2. কম্পাইলার কন্ট্রাক্টের বাইটকোড আউটপুট করে

  3. একটি নির্দিষ্ট ঠিকানায় ডিপ্লয় করা কন্ট্রাক্টের বাইটকোড পান

  4. ডিপ্লয় করা বাইটকোডের সাথে পুনরায় কম্পাইল করা বাইটকোডের তুলনা করুন। যদি কোডগুলো মিলে যায়, তবে কন্ট্রাক্টটি প্রদত্ত সোর্স কোড এবং কম্পাইলেশন সেটিংসের সাথে যাচাই করা হয়।

  5. উপরন্তু, যদি বাইটকোডের শেষে মেটাডেটা হ্যাশগুলো মিলে যায়, তবে এটি একটি সম্পূর্ণ মিল হবে।

মনে রাখবেন যে এটি যাচাইকরণের একটি সরলীকৃত বর্ণনা এবং এমন অনেক ব্যতিক্রম রয়েছে যা এর সাথে কাজ করবে না যেমন অপরিবর্তনীয় ভেরিয়েবল (একটি নতুন ট্যাবে খোলে) থাকা।

সোর্স কোড যাচাইকরণ টুল

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

Etherscan

যদিও এটি মূলত একটি ইথেরিয়াম ব্লক এক্সপ্লোরার হিসেবে পরিচিত, Etherscan স্মার্ট কন্ট্রাক্ট ডেভেলপার এবং ব্যবহারকারীদের জন্য একটি সোর্স কোড যাচাইকরণ পরিষেবাও (একটি নতুন ট্যাবে খোলে) অফার করে।

Etherscan আপনাকে মূল ডেটা পেলোড (সোর্স কোড, লাইব্রেরি ঠিকানা, কম্পাইলার সেটিংস, কন্ট্রাক্ট ঠিকানা ইত্যাদি) থেকে কন্ট্রাক্ট বাইটকোড পুনরায় কম্পাইল করার অনুমতি দেয়। যদি পুনরায় কম্পাইল করা বাইটকোডটি অনচেইন কন্ট্রাক্টের বাইটকোডের (এবং কনস্ট্রাক্টর প্যারামিটারগুলোর) সাথে যুক্ত থাকে, তবে কন্ট্রাক্টটি যাচাই করা হয় (একটি নতুন ট্যাবে খোলে)

একবার যাচাই হয়ে গেলে, আপনার কন্ট্রাক্টের সোর্স কোড একটি "Verified" লেবেল পায় এবং অন্যদের অডিট করার জন্য Etherscan-এ প্রকাশিত হয়। এটি Verified Contracts (একটি নতুন ট্যাবে খোলে) বিভাগেও যুক্ত হয়—যা যাচাইকৃত সোর্স কোডসহ স্মার্ট কন্ট্রাক্টগুলোর একটি রিপোজিটরি।

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

Etherscan-এ কন্ট্রাক্ট যাচাইকরণ সম্পর্কে আরও জানুন (একটি নতুন ট্যাবে খোলে)

Blockscout

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

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

Sourcify

Sourcify (একটি নতুন ট্যাবে খোলে) হলো কন্ট্রাক্ট যাচাই করার জন্য আরেকটি টুল যা ওপেন-সোর্স এবং বিকেন্দ্রীকৃত। এটি কোনো ব্লক এক্সপ্লোরার নয় এবং কেবল বিভিন্ন EVM ভিত্তিক নেটওয়ার্কে (একটি নতুন ট্যাবে খোলে) কন্ট্রাক্ট যাচাই করে। এটি অন্যান্য টুলগুলোর জন্য এর ওপর ভিত্তি করে তৈরি করার জন্য একটি পাবলিক ইনফ্রাস্ট্রাকচার হিসেবে কাজ করে এবং মেটাডেটা ফাইলে পাওয়া ABI এবং NatSpec (একটি নতুন ট্যাবে খোলে) মন্তব্যগুলো ব্যবহার করে আরও মানব-বান্ধব কন্ট্রাক্ট ইন্টারঅ্যাকশন সক্ষম করার লক্ষ্য রাখে।

Etherscan-এর বিপরীতে, Sourcify মেটাডেটা হ্যাশের সাথে সম্পূর্ণ মিল সমর্থন করে। যাচাইকৃত কন্ট্রাক্টগুলো HTTP এবং IPFS (একটি নতুন ট্যাবে খোলে)-এ এর পাবলিক রিপোজিটরিতে (একটি নতুন ট্যাবে খোলে) পরিবেশন করা হয়, যা একটি বিকেন্দ্রীকৃত, কন্টেন্ট-অ্যাড্রেসড (একটি নতুন ট্যাবে খোলে) স্টোরেজ। এটি IPFS-এর মাধ্যমে একটি কন্ট্রাক্টের মেটাডেটা ফাইল আনার অনুমতি দেয় কারণ যুক্ত করা মেটাডেটা হ্যাশটি একটি IPFS হ্যাশ।

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

Sourcify-তে কন্ট্রাক্ট যাচাইকরণ সম্পর্কে আরও জানুন (একটি নতুন ট্যাবে খোলে)

Tenderly

Tenderly প্ল্যাটফর্ম (একটি নতুন ট্যাবে খোলে) Web3 ডেভেলপারদের স্মার্ট কন্ট্রাক্ট তৈরি, পরীক্ষা, নিরীক্ষণ এবং পরিচালনা করতে সক্ষম করে। ডিবাগিং টুলগুলোকে পর্যবেক্ষণযোগ্যতা এবং ইনফ্রাস্ট্রাকচার বিল্ডিং ব্লকের সাথে একত্রিত করে, Tenderly ডেভেলপারদের স্মার্ট কন্ট্রাক্ট ডেভেলপমেন্ট ত্বরান্বিত করতে সাহায্য করে। Tenderly-এর বৈশিষ্ট্যগুলো সম্পূর্ণরূপে সক্ষম করতে, ডেভেলপারদের বিভিন্ন পদ্ধতি ব্যবহার করে সোর্স কোড যাচাইকরণ সম্পাদন (একটি নতুন ট্যাবে খোলে) করতে হবে।

একটি কন্ট্রাক্ট ব্যক্তিগতভাবে বা সর্বজনীনভাবে যাচাই করা সম্ভব। যদি ব্যক্তিগতভাবে যাচাই করা হয়, তবে স্মার্ট কন্ট্রাক্টটি কেবল আপনার (এবং আপনার প্রজেক্টের অন্যান্য সদস্যদের) কাছে দৃশ্যমান হবে। একটি কন্ট্রাক্ট সর্বজনীনভাবে যাচাই করা হলে তা Tenderly প্ল্যাটফর্ম ব্যবহারকারী সবার কাছে দৃশ্যমান হয়।

আপনি ড্যাশবোর্ড (একটি নতুন ট্যাবে খোলে), Tenderly Hardhat প্লাগইন (একটি নতুন ট্যাবে খোলে), বা CLI (একটি নতুন ট্যাবে খোলে) ব্যবহার করে আপনার কন্ট্রাক্টগুলো যাচাই করতে পারেন।

ড্যাশবোর্ডের মাধ্যমে কন্ট্রাক্ট যাচাই করার সময়, আপনাকে সোর্স ফাইল বা Solidity কম্পাইলার দ্বারা তৈরি মেটাডেটা ফাইল, ঠিকানা/নেটওয়ার্ক এবং কম্পাইলার সেটিংস ইমপোর্ট করতে হবে।

Tenderly Hardhat প্লাগইন ব্যবহার করলে কম পরিশ্রমে যাচাইকরণ প্রক্রিয়ার ওপর আরও বেশি নিয়ন্ত্রণ পাওয়া যায়, যা আপনাকে স্বয়ংক্রিয় (নো-কোড) এবং ম্যানুয়াল (কোড-ভিত্তিক) যাচাইকরণের মধ্যে বেছে নিতে সক্ষম করে।

আরও পড়ুন