کانترکت آدرس چیست و چه کاربردی در قراردادهای هوشمند دارد؟
در دنیای ارزهای دیجیتال، آدرسها به معنی هویت کاربری و تراکنشها هستند. درحالیکه بسیاری از ما دربارهی آدرسهای کیف پول شنیده یا حتی با آنها کار کردهایم، کانترکت آدرس (Contract Address) یا آدرس قرارداد، مفهومی نسبتا پیچیده و کمتر آشنا برای بیشتر کاربران است. اطلاع از ماهیت، نحوهی عملکرد و اهمیت این آدرس بهویژه در تراکنشهای شبکه اتریوم و توکنهای غیرقابلتعویض حائز اهمیت است.
در این مقاله، ابتدا مفهوم آدرس کانترکت ارزها را معرفی کرده و فرآیند تولید آنها را مرور میکنیم. در ادامه اصلیترین روشهای دستیابی به این اطلاعات در پلتفرمها و اکسپلوررهای بلاکچین و نیز استفاده از آنها در تراکنشها را معرفی خواهیم کرد. در انتها نیز اشاراتی به کانترکت آدرس بیت کوین و نیز تفاوتهای این آدرس با آدرس کیف پول خواهیم داشت. با ما همراه شده و با یکی از مهمترین مفاهیم کاربردی در مبحث قراردادهای هوشمند در ارز دیجیتال آشنا شوید.
ماهیت کانترکت آدرس
همانطورکه میدانید توکنهای موجود در شبکه اصلی اتریوم، از استاندارد ERC-20 پیروی میکنند. این استاندارد، پیشنیازهایی برای همهی توکنهای قابلتعویض روی این زنجیره ایجاد میکند که یکی از مهمترین آنها، برابری ارزش هر توکن با توکنهای همنوعش است. موضوعی که در قراردادهای هوشمند، با عبارت یا مقداری به نام کانترکت آدرس سنجیده میشود. استاندارد ERC-20 با این آدرس، کار پلتفرمهای مبادله و کیف پولها را برای واردکردن توکنهای جدید آسان میکند. به همین دلیل است که میتوان در کیف پول متامسک، هر توکن با استاندارد ERC-20 را اضافه کرد.
از سوی دیگر، هر توکن ERC-20 با وارد کردن یک سری جزئیات در یک تمپلیت قرارداد هوشمند ایجاد میشود. وقتی برای اولین بار، اقدامکننده یا Originator، قرارداد هوشمند توکن را اجرا میکند، یک کانترکت آدرس ۴۲ کاراکتری تولید میشود که شبیه به آدرس اکانت عمومی اتریوم است. این آدرس، درحقیقت آدرس، محل قرارداد هوشمند توکن است که تمامی اسناد، دستورات و اطلاعات مربوط به همان توکن را کنترل میکند.
آدرس کانترکت با چهار کاراکتر 0xba شروع شده و هنگام دریافت و ارسال یک توکن ERC-20 تاییدکنندهی تعلق توکن به شبکهی موردنظر و صحت قرارداد است. اعداد و کاراکترهای این آدرس مشتقشده از آدرس سازندهی قرارداد و عدد نانس است. عدد نانس، بهطورخلاصه عدد اضافهشده به بلاک ایجادشده در شبکه، در پی قرارداد هوشمند است.
هنگام دریافت توکن طی یک قرارداد هوشمند یا ایردراپ لازم است که کانترکت آدرس اسمارت چین را نیز از سازنده دریافت کنید. درغیراینصورت نمیتوانید مطمئن باشید که او واقعا قرارداد را اجرا کرده است. این واقعیت درمورد NFTها نیز صدق میکند. هنگام خرید این توکنها باید دقت کنید که آدرس قرارداد آیتم موردنظر با آدرس دیگر توکنهای همان مجموعه مطابقت داشته باشد. دراینصورت میتوانید مطمئن باشید که NFT را از مجموعهی اصلیاش خریداری کردهاید.
کانترکت آدرس توکن ها و روش های یافتن آنها
اگر تابهحال سعی کرده باشید که توکنی را به کیف پول خود اضافه کنید، حتما متوجه شدهاید که به کانترکت آدرس همان توکن نیاز دارید. این آدرس، ارتباطی به آدرس شخصی کیف پول شما که توکنهایتان را در آن نگهداری میکنید، ندارد. ازآنجاکه یک توکن ممکن است روی شبکههای مختلفی قرار داشته باشد؛ آدرس کانترکت اطلاعاتی ضروری برای کیف پولهاست تا متوجه شوند که شما دقیقا کدام توکن را برای افزودن درنظر دارید.
بهطورکلی، علاوه بر وبسایت رسمی توکن، دو روش دیگر برای یافتن کانترکت آدرس ها وجود دارد. روش اول از طریق اکسپلوررهای بلاکچین و روش دوم از طریق سایتهای لیستکنندهی توکنهاست. در ادامه هر یک را شرح میدهیم.
یافتن آدرس کانترکت ارزها در سایت های فهرست توکن
سایتهای لیستکنندهی توکن اطلاعات کاملی از تمام توکنهای ERC-20 دارند. CoinMarketCap و Coingecko معروفترین این سایتها هستند. با ورود به هریک از این سایتها و جستجوی نام توکن موردنظر، میتوانید تمام اطلاعات آن، ازجمله کانترکت آدرس را پیدا کنید. بهعنوان مثال، در تصویر زیر، محل نمایش این آدرس برای توکن Optimism در کوینمارکتکپ علامتگذاری شده است.
یافتن آدرس کانترکت ارزها در اکسپلوررهای بلاکچین
اکسپلورر یا جستجوگرهای بلاکچین، دادههای مربوط به توکنهای ERC-20 و معادلهای آنها را در شبکههای خود ذخیره و قابلجستجو میکنند. اتراسکن (Etherscan)، بیاسسی اسکن (BscScan) متعلق به اسمارت چین بایننس و پالیگان اسکن (Polygonscan) نمونههایی از این اکسپلوررها هستند.
برای یافتن کانترکت آدرس توکن موردنظر خود، کافی است به اکسپلورر مربوطهاش رفته و نام توکن را جستجو کنید. در اولین صفحه، آدرس قرارداد آن توکن نمایش داده میشود. بهراحتی میتوانید آدرس موردنظر را کپی کرده و به کیف پول خود اضافه کنید.
روش یافتن آدرس کانترکت NFT ها
توکنهای غیرقابلتعویض یا NFTها نیز کانترکت آدرس خاص خود را دارند. برای یافتن این آدرس، صفحهی مجموعهی NFT در بازاری که روی آن قرار دادهشده یا وبسایت آن مراجع اصلی هستند. بهعنوان مثال در پلتفرم Opensea میتوانید جزئیات مربوط به آدرس هر انافتی را در قسمت Details مشاهده کنید.
لازم به ذکر است که توکنهای غیرقابلتعویض ساختهشده روی شبکههای اتریوم و بایننس، بهترتیب از استانداردهای ERC-721 و BEP-721 پیروی میکنند. بنابراین در وبسایتهای لیستکننده و اکسپلوررهای توکن نیز میتوانید با مراجعه به بخش توکنهای ERC-721 یا BEP-721 آدرس NFT موردنظر خود را پیدا کنید. دسترسی به این اطلاعات از صفحهی Etherscan یا BSCscan کیف پول در قسمت مربوط به این توکنها نیز امکانپذیر است.
هنگام مینتکردن NFT ها در پلتفرمهای مربوطه نیز کانترکت آدرس همان آیتم در کنار ID آن تولید میشود. بهتر است توکنهای خود را روی شبکههای اصلی مانند اتریوم و بایننس قرار دهید. درغیراینصورت، احتمال ازدسترفتن آیتم و عدم امکان بازگردانی آن وجود دارد.
پلتفرمهایی مانند کوینبیس، روش دیگری نیز برای یافتن آدرس قرارداد NFT های قرار دادهشده روی شبکههای مختلف دارند. در این پلتفرمها میتوانید آدرس قرارداد را از URL توکن موردنظر نیز پیدا کنید. برای این منظور کافی است که URL را به شکل زیر بخوانید:
[website Domain / nft / contract address / token ID]
همچنین با داشتن آدرس قرارداد NFT موردنظر خود میتوانید به صفحهی اصلی آن در اکسپلوررهای رمزارز مراجعه کرده و اطلاعات دقیقی از عرضهی کل، تعداد هولدرها و تاریخچهی مبادلهی آن به دست آورید.
کانترکت آدرس بیت کوین چیست؟
هرچند که اتریوم بیش از هر بلاکچین دیگری از قراردادهای هوشمند استفاده میکند، اما بلاکچین بیت کوین هم میتواند برای توسعهی قراردادهای هوشمند استفاده شود. اما بههرحال قراردادهای روی این شبکه، به اندازهی اتریوم، قابل برنامهریزی و توسعه نیستند.
کانترکت آدرس بیت کوین هم یک شناسهی منحصربهفرد ۲۶ تا ۳۵ کاراکتری، متشکل از حروف و اعداد است که برای ارسال ارزهای دیجیتال ساختهشده روی این بلاک چین از آن استفاده میشود. این آدرس، هنگام توسعه یا دیپلوی (Deploy) شدن یک قرارداد هوشمند تولید میشود.
در قراردادهای هوشمند بیت کوین به یک جفت کلید خصوصی جدید و یک کلید عمومی متناظر منحصربهفرد مشتقشده از همان کلید خصوصی، نیاز است. کلید عمومی برای دریافت وجوه استفاده شده و بعد از خرجشدن کوینها در شبکه، منتشر یا برودکست شده و برای عموم، قابلمشاهده خواهد بود.
در بخش پرداخت، تراکنشهای کلید عمومی پذیرنده که با اثرانگشت دیجیتال او نشان داده میشوند، بهعنوان کانترکت آدرس بیت کوین شناخته میشوند. این آدرس، استخراجشده از کلید عمومی بوده و متناظر با آن است.
تفاوت آدرس کانترکت و آدرس کیف پول
بهطورکلی کاربران با دو نوع آدرس زیر در شبکهی اتریوم سروکار دارند:
- آدرسهای دارای مالکیت خارجی یا آدرسهای کیف پول (EOA)
- آدرس کانترکت ارزها
این آدرسها مانند هویت کاربر در بلاکچین عمل کرده و انجام عملیاتی مانند پرداخت و دریافت را میسر میکنند. همچنین، تعامل با قراردادهای هوشمند، توسط هر دوی آنها امکانپذیر است. آدرس خارجی یا EOA به یک حساب عمومی اشاره دارد که داراییهای کاربر در آن ذخیره شده است. دسترسی به این حساب با جفت کلیدهای خصوصی و عمومی امکانپذیر است. اما اصلیترین موارد تفاوت این دو آدرس را میتوان در موارد زیر خلاصه کرد:
- ساختن آدرس کیف پول رایگان و ساختن کانترکت آدرس مستلزم پرداخت هزینه به دلیل استفاده از ظرفیت پردازش شبکه است.
- ارسال توکن با آدرس قرارداد، تنها در پاسخ به دریافت توکن امکانپذیر است. اما با آدرس کیف پول، میتوان آغازکنندهی تراکنش بود.
- آدرسهای کانترکت بهجای کلید خصوصی، توسط یک کد قرارداد هوشمند کنترل میشوند.
- تراکنش با آدرس کیف پول تنها برای توکنهای ساختهشده روی شبکه اتریوم امکانپذیر است.
سخن آخر درباره آدرس کانترکت ارزها
کاربران عادی دنیای ارزهای دیجیتال بهمحض شنیدن کلمهی آدرس، به یاد آدرس کیف پول میافتند. این در حالی است که این کلمه به مفهوم دیگری به نام آدرس قرارداد یا کانترکت نیز اشاره دارد. آدرسی که هنگام تراکنشهای مربوط به قراردادهای هوشمند و واردکردن توکنهای جدید به کیف پول، یکی از نیازهای شماست. آدرس کانترکت ارزها به محل قرارداد هوشمند توکنهای موردنظر در شبکهی بلاک چین اشاره دارد. این عبارت، برای تراکنشهای ERC-20 یک رشته ۴۲ کاراکتری از اعداد و حروف است. این آدرس، مشتق شده از آدرس سازنده قرارداد و عدد نانس بوده و تاییدکنندهی اجرای قرارداد از سوی مبدا و تعلق توکن به شبکهی موردنظر شماست.
هر توکن نیز کانترکت آدرس خاص خود را دارد که به طرق مختلفی مانند وبسایت رسمی، اکسپلوررهای بلاک چین و سایتهای لیستکنندهی توکنها در دسترس است. بسیاری از کیف پولها مانند متامسک نیز به اکسپلوررها و سایتهای لیستکننده دسترسی داشته یا با آنها ادغام شدهاند. بنابراین بهراحتی میتوانید از طریق آنها آدرس موردنظر خود را پیدا کنید.
سلام ،من به جای آدرس کیف پول ،اشتباهی آدرس کانترکت رمز ارز ،را زدم ،آیا امکان پیگیری دارم
سلام و عرض ادب
متاسفانه ما راهکاری برای بازیابی تراکنش ارسال شده به کانترکت آدرس سراغ نداریم.
سلام خسته نباشین ،متاسفانه منم همین اشتباه کردم آیا هنوز هیچ راه حلی سراغ ندارین؟