آدرس کانترکت (Contract Address) یا آدرس توکن به آدرسهایی اشاره دارد که تعدادی از کدهای بلاکچین مد نظر را در خود ذخیره کردهاند. این کدها مربوط به برخی توابع مربوط میشود که زمانی که کاربران تراکنشی را اجرا میکنند، فعال میشود. در ادامه این مطلب قصد داریم به طور مفصل درباره معنی آدرس کانترکت و همچنین آدرس کانترکت بیت کوین صحبت کنیم.
معنی آدرس کانترکت چیست؟
آدرس کانترکت نوعی قرارداد هوشمند است که آدرس توکنها و موجودیها را نشان میدهد. ارزش موجودی یا بالانس (Balances) توسط توسعه دهندگان قراردادها تعریف میشود. موجودی یک قرارداد هوشمند میتواند توسط یک دارایی واقعی، پول یا حتی اعتبار دارنده مشخص شود. به طور کلی، به هر واحد یک بالانس «Token» توکن میگویند.

اگر توکنها از یک اکانت به دیگری منتقل شوند، موجودی هر دو اکانت به روز رسانی خواهند شد. به عنوان نمونه، انتقال توکن از اکانت «0x3597…۹۶b7» به اکانت «0x1b89…۳۴۳۶» به صورت زیر به روز رسانی خواهد شد.

در پلتفرمها به دو روش مختلف میتوان عرضه کل توکن را تغییر داد. یکی با ضرب توکنهای جدید برای افزایش عرضه. به عنوان نمونه، ضرب صد توکن برای آدرس «0x7695…۹۳a6» منجر به افزایش عرضه کل آن آدرس میشود.
روش دیگر شامل سوزاندن توکنهای موجود میشود. به عنوان نمونه سوزاندن ۱۰ توکن برای آدرس «0x6345…۷۹۶d» منجر به کاهش عرضه کل آن آدرس میشود.

جدای از روش بالا، راه دیگری هم برای سوزاندن توکنها یا کاهش عرضه کل یک آدرس جود دارد که در آن تعدادی از توکنها به حسابهای بدون بازگشت (Black Hold Address) ارسال میشود. حسابهای بدون بازگشت آدرسهایی هستند که کلید خصوصی آنها ناشناخته است. شبکهها برای کاهش عرضه کل، مقداری از توکنها را به این آدرسها ارسال میکنند.

آدرس توکن چیست؟
یک نمونه بارز آدرس توکن، ERC20 است که توسط شبکه اصلی اتریوم ایجاد شده است. ERC20 یک سری ملزومات برای ایجاد توکنهای شبکه اتریوم است. هر توکنی که در شبکه اتریوم ایجاد میشود باید حتما بر اساس این آدرس توکن ایجاد شود.
استاندارد توکن ERC20 کار کیف پولهایی مانند متاماسک، اپلیکیشنهای غیرمتمرکز (Dapps) و دیگر پلتفرمها را در ارائه توکنهای جدید در شبکه خود راحتتر کرده است. به عنوان نمونه، میتوان تمام توکنهای مبتنی بر ERC20 را به شبکه متاماسک اضافه کرد.
تمام توکنهای مبتنی بر ERC20، بر اساس یک سری استاندارد و قوانین طراحی شده و به یک قرارداد هوشمند تبدیل شده است. در نهایت، بعداً از این استاندارد برای ضرب توکنهای بیشماری استفاده شده است. هنگام ایجاد توکنهای جدید، علاوه بر نام و نشان، توسعه دهندگان توکن باید موارد دیگری همچون عرضه کل، روش مدیریت موجودی دارندگان توکنها و … را نیز تعیین کنند.
زمانی که توسعه دهنده توکن، قرارداد توکن را ایجاد میکند، یک آدرس هم ایجاد میشود که مشابه آدرسهای حساب عمومی اتریوم نوشته شده است. این شباهت به این دلیل است که در توسعه تمام این آدرسها از یک روش رمزنگاری استفاده شده است.
چگونه میتوان یک کانترکت توکن را پیدا کرد؟
پیدا کردن آدرس کانترکت یک قدم مهم در اضافه کردن یک توکن سفارشی به متاماسک است.
خارج از شبکه اصلی اتریوم توکنهای ERC20 بسته به شبکه مد نظر، به روشی متفاوت استفاده میشوند. به عنوان نمونه، برخی از شبکهها به همراه استاندارد ERC20 از استاندارد دیگری هم استفاده میکنند. یکی دیگر از استانداردهای توکن رایج، BEP20 شبکه بایننس است.
استفاده از دو استاندارد توکن در یک شبکه به این معنا است که توکنهای مبتنی بر هر استاندارد را میتوان در شبکه دیگر مبادله کرد. به عنوان نمونه توکنهای مبتنی بر BEP20 را میتوان به شبکههای مبتنی بر ERC20 ارسال کرد؛ یعنی اگر کسی ۱۰ توکن مبتنی بر BEP20 را به یک شبکه مبتنی بر ERC20 ارسال کند، همان ۱۰ توکن را بر اساس استاندارد ERC20 خواهد داشت.
علاوه بر این، در شبکههایی مانند پالی گان (Polygon)، میتوان با استفاده از بریج پالی گان (Polygon Bridge) توکنها را به شبکههای مختلف ارسال کرد. با این وجود، قبل از ارسال توکنها در شبکههای مختلف، حتما به خوبی در مورد هر دو شبکه و امنیت آنها تحقیق کنید.
به طور کلی، دو روش مختلف برای پیدا کردن آدرس کانترکت بیت کوین یا دیگر رمزارزها وجود دارد. یکی از طریق بلاک اکسپلورر (Block explorer) و دومی هم از طریق لیست توکنها در سایتهای مربوطه.
از جمله بلاک اکسپلوررهای متداول میتوان به اتراسکن (Etherscan)، بی اس سی اسکن (BscScan) یا پالی گان اسکن (Polygonscan) اشاره کرد که دادههای مربوط به توکنهای مبتنی بر ERC20 و شبکههای آنها را در خود نگه میدارند.
برای پیدا کردن آدرس کانترکت یک توکن، به یکی از بلاک اکسپلوررهای بالا رفته و توکن مد نظر خود را در قسمت سرچ (Search) جستجو کنید. تصویر زیر مربوط به بلاک اکسپلورر اتراسکن است که در آن با جستجو توکن آدرس آن به طور کامل ارائه شده است.

بلاک اکسپلوررها چه در دسکتاپ و چه در موبایل طراحی مشابهی دارند؛ بنابراین استفاده از این نرم افزارها در هر دستگاهی به یک صورت است.
آدرس کانترکت توکنهای غیر مثلی را از کجا پیدا کنیم؟
توکنهای غیر مثلی (NFT) داراییهای مناسبی برای استفاده در پلتفرمهایی هستند که اشیاء کلکسیونی، کلیدهای مخصوص دسترسی، بلیطهای بخت آزمایی، بلیط بازیها و مسابقات و … را ارائه میدهند. در شبکه اتریوم، از استاندارد ERC721 و در بایننس از استاندارد BEP721 برای ایجاد توکنهای غیرقابل معاوضه استفاده میشود.
کاربرانی که به دنبال آدرس کانترکت ان اف تی (NFT) میگردند میتوانند آن را در بازارهای مربوطه توکنهای غیرقابل معاوضه پیدا کنند. یکی از این بازارها اوپن سی (Opensea) است که کاربران میتوانند از طریق آن جزئیات مختلف مربوط به این توکنها را پیدا کنند.
برای پیدا کردن آدرس توکنهای غیرقابل معاوضه در اوپن سی، پس از ورود به این پلتفرم گزینه «Details» را پیدا کرده و سپس روی گزینه «Contract Address» بزنید.

علاوه بر این، آدرس کانترکت (Contract Address) توکنهای غیر مثلی را میتوان از طریق کیف پولهای نرم افزاری ارز دیجیتال نیز پیدا کرد. کاربران میتوانند بلاک اکسپلوررهای اتراسکن و بی اس سی اسکن را در قسمت مربوط به توکنهای «ERC721» یا «BEP721» پیدا کرده و سپس از آنها برای پیدا کردن آدرس کانترکتها استفاده کنید.
آدرس کانترکت ارزهای دیجیتال
هر کدام از ارزهای دیجیتال، آدرس کانترکت مخصوص خود را در بلاکچین دارند. در ادامه برخی از آدرسهای رایج ارزهای دیجیتال را معرفی خواهیم کرد.
آدرس کانترکت بیت کوین:
bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
آدرس کانترکت شیبا:
0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce
آدرس کانترکت تتر:
0xdAC17F958D2ee523a2206206994597C13D831ec7
موارد بالا، آدرسهای کانترکت بیت کوین و دیگر ارزهای دیجیتال هستند. توکنهای مربوط به هر بلاکچین از آدرس بالا پیروی میکنند و میتوان آنها را بر اساس این آدرس شناخت.
اتریوم از چند نوع آدرس استفاده میکند؟
اتریوم در کل، دو نوع آدرس دارد. یکی آدرس قراردادهای هوشمند (Smart Contract) و دومی آدرسهای تحت مالکیت خارجی (EOA).
آدرس قرارداد هوشمند چطور ساخته میشود؟
آدرسهای قرارداد هوشمند را میتوان به دو روش متفاوت در اتریوم ساخت. این آدرس شامل مجموعهای از اعداد و حروف میشود که اغلب با «0xba…» شروع میشود. با این حال، اینکه «0xba» چگونه محاسبه شده است بسیار مهم است.
کد قرارداد هوشمندی که در بلاکچین پیاده سازی شده است، بخشی از فرایند تراکنش است. هنگامی که یک قرارداد هوشمند در بلاکچین اجرا میشود، به یک آدرس کیف پول نیاز دارد تا به تمامی اجرا شود. در روش اول ایجاد قراردادهای هوشمند، سه مورد آدرس کیف پول، تراکنش و قرارداد هوشمند باید به ترتیب اجرا شوند.
بنابراین، زمانی که یک تراکنش در شبکه اتریوم اجرا میشود، اعدادی هم به همراه آن صادر میشوند که به آنها نانس (Nonce) میگویند. از این رو، میتوان گفت که آدرس قرارداد هوشمند توسط آدرس کیف پول و نانسها ایجاد میشود.
در روش دوم برای ایجاد قراردادهای هوشمند از یک آپکد (Opcode) به نام کریت ۲ (CREATE2) استفاده میشود. این کریت ۲ برای ایجاد آدرس قرارداد هوشمند روی آدرس فرستنده و کد قراردادها متکی است. با این وجود، این نوع از روش ایجاد قرارداد هوشمند مانند روش اول رایج و پر کاربرد نیست.
آدرس قرارداد هوشمند چه ویژگیهایی دارد؟
آدرسهای قرارداد هوشمند، قراردادهای هوشمند موجود در بلاکچینها را شناسایی میکنند. هر آدرس قرارداد هوشمند به چند عامل دیگر متکی هستند. این چند عامل عبارتاند از:
- نانس ها: نانس مجموعهای از اعداد است که هر بار که آدرس یک تراکنش را ارسال میکند، بیشتر میشود. به این ترتیب، زمانی که نانس برای بار اول ایجاد میشود، با رقم صفر (۰) شروع میشود و سپس زمانی که قرارداد هوشمند اولین تراکنش را ارسال میکند عدد ۱ هم به نانس اضافه میشود و این اعداد با اضافه شدن تراکنشها، بیشتر میشوند.
- موجودی یا بالانس: اگر اتر را به یک قرارداد هوشمند ارسال کنیم، موجودی قرارداد افزایش مییابد و برعکس در صورتی که اتر را از قرارداد هوشمند به یک آدرس دیگر ارسال کنیم، موجودی آن کاهش مییابد.
- کد: زمانی که یک قرارداد هوشمند با استفاده از زبان برنامه نویسی سالیدیتی (Solidity) ایجاد میشود، کد آن در بلاکچین ذخیره میشود.
- دادهها: تمام دادههای مربوط به قراردادهای هوشمند و تراکنشها در بلاکچین ذخیره میشوند.
- آدرس تحت مالکیت خارجی (EOA): زمانی که کاربر یک اکانت را در متاماسک (Metamask) یا سایر کیف پولهای اتریوم ایجاد میکند به آن آدرسهای تحت مالکیت خارجی میگویند. تفاوت میان آدرسهای تحت مالکیت خارجی و آدرسهای قرارداد هوشمند در این است که آدرسهای تحت مالکیت خارجی دارایی یک کلید خصوصی (Private Key) برای اجرای تراکنشها است اما برای قرارداد هوشمند چنین کلیدی وجود ندارد.
خلاصهای از آنچه در مطلب آدرس کانترکت مطرح شد:
آدرس کانترکت به آدرسی میگویند که تعدادی از کدهای بلاکچین را در خود ذخیره کرده است. هر پلتفرم ارز دیجیتال آدرس کانترکت خود را دارد که تمام توکنهای آن از این آدرس توکن پیروی میکنند. به عنوان نمونه آدرس کانترکت بیت کوین به صورت زیر است:
bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
کاربرانی که میخواهند آدرس کانترکت ارزهای دیجیتال مختلف را پیدا کنند میتوانند از طریق اتراسکن (Etherscan) و بی اس سی اسکن (BscScan) اقدام کنند.
علاوه بر این، برای پیدا کردن آدرس کانترکت توکنهای غیرقابل معاوضه هم میتوان از بازارهای این توکنها استفاده کرد. یکی از این بازارها، اوپن سی (Opensea) است. برای پیدا کردن آدرس کانترکت توکنهای غیر مثلی در این بازار، ابتدا گزینه «Details» را پیدا و سپس روی گزینه «Contract Address» بزنید.