شاید زمانی که میخواستید ارز دیجیتالی را به کیف پول دیگری ارسال کنید، با این سوال مواجه شده باشید که “شبکه خود را انتخاب کنید” و در لیست شبکهها با اسم ERC20 مواجه شده باشید. ERC20 یکی از استانداردهای بلاک چین اتریوم است، که قراردادهای هوشمند بر اساس آن نوشته میشوند.
استاندارد ERC20 درحقیقت پرکاربردترین استاندارد توکن در شبکه اتریوم است. این استاندارد به نوعی مجموعهای از قوانین و مشخصات را برای توکنها ارائه میدهد تا با یکدیگر به طور هماهنگ کار کنند. با استفاده از این استاندارد توسعهدهندگان قادر به ایجاد توکنهای قابل پیشبینی و استاندارد در شبکه اتریوم هستند.
این خلاصهای از تعریف استاندارد ERC20 بود اما اگر توضیح کاملتری درباره این استاندارد نیاز دارید در این مقاله همراه ارزچی باشید.
نکات کلیدی این مقاله
- استاندارد ERC20 پرکاربردترین استاندارد توکن در شبکه اتریوم است.
- استاندارد ERC20 یک چارچوب مشترک برای توسعه دهندگان توکنهای اتریوم ایجاد کرده است.
- توکنهای ERC20 دارای ویژگیها و قابلیتهای مشابهی هستند و به راحتی در کیف پولها و برنامههای مختلف اتریوم مدیریت میشوند.
- بسیاری از ارزهای دیجیتال بر روی استاندارد ERC20 توسعه یافتهاند.
- فابیان ووگلاستلر (Fabian Vogelsteller) مخترع استاندارد ERC-20 است.
- اتریوم استانداردهای دیگری نیز دارد مانند ERC721، ERC1155، ERC-777 و ERC-223.
- توابع اصلی استاندارد ERC-20 شامل totalSupply، balanceOf، transfer، transferFrom، approve و allowance است.
- با استفاده از زبان Solidity میتوان توکنهای ERC20 را در شبکه اتریوم ایجاد کرد.
- ساخت توکنهای ERC20 راحتتر از آن است که به نظر میرسد.
توکن ERC20 چیست؟
توکنهای ERC20 توکنهایی هستند که بر اساس استاندارد ERC20 در شبکه اتریوم ساخته شدهاند. این توکنها ویژگیها و قابلیتهای مشابهی دارند و به همین دلیل به راحتی در کیف پولها و برنامههای مختلف اتریوم مدیریت میشوند.
مثلا در بحث کیف پولها، اصلا تفاوتی نمیکند که شما کیف پول متامسک داشته باشید یا تراست. نکته اصلی اینجاست که اگر کیف پول شما از استاندارد ERC20 پشتیبانی کند شما میتوانید دارایی ERC20 خود را کنترل کنید.
به عنوان یک مثال ساده، فرض کنید شرکت ABC تصمیم به ایجاد یک توکن جدید با نام “ABCcoin” بر اساس استاندارد ERC20 میگیرد. پس از ایجاد این توکن، کاربران میتوانند ABCcoin را به راحتی در صرافیهایی نظیر یونی سواپ که تحت استاندارد ERC20 است خرید و فروش کنند. و چون این توکن بر اساس استاندارد ERC20 ساخته شده است، کاربران میتوانند آن را در هر کیف پول اتریومی که از توکنهای ERC20 پشتیبانی میکند نگهداری کنند.
چگونه توکنهای ERC20 ساخته میشوند؟
ساختن توکنهای ERC20 از آنچه که فکر میکنید راحتتر است. خیلی از دوره فروشان اینستاگرامی در حال فروش پکیج و آموزشهای ساخت این توکنها هستند در صورتیکه ساخت این توکنها به راحتی ممکن است. همین سادگی باعث میشود که پروژههای اسکم زیادی هم به وجود بیایند و هرکسی به هر قصدی توکن بسازد.
مکانیزم ساخت توکن ERC20 به این شکل است هنگامی که قصد دارید یک توکن ERC20 بسازید، ابتدا باید یک قرارداد هوشمند بنویسید. این قرارداد هوشمند در واقع یک برنامه کوچک است که بر روی شبکه اتریوم اجرا میشود و شامل توابع و متغیرهایی است که تعیین میکند چگونه توکنها ایجاد، انتقال داده شده یا خرج میشوند.
فرض کنید میخواهید یک توکن با نام “MyToken” و نماد “MTK” با مقدار کل 1,000,000 توکن ایجاد کنید. در قدم اول در یک قرارداد هوشمند، این متغیرها را تعریف میکنید و سپس توابع استاندارد را پیادهسازی میکنید. بعد از آن با انتشار قرارداد بر روی شبکه اتریوم، توکنهای “MyToken” قابل استفاده و انتقال خواهند بود.
همهی این قدمها در شبکه اتریوم با استفاده از زبان Solidity انجام میشود اما اگر برنامه نویسی بلد نیستید نگران نباشید! مثلا در این سایت شما با چند کلیک میتوانید توکن بسازید و آن را در کیف پول خود ذخیره کنید. البته توکن شما قطعا ارزشی نخواهد داشت مگر اینکه برای آن مانند بسیاری از پروژههای دیگر نقشه و کامیونیتی داشته باشید.
کاربرد استاندارد ERC-20 چیست؟
قبل از اینکه به کاربرد استاندارد ERC-20 بپردازیم، بد نیست نگاهی داشته باشیم به اینکه چه چیزهایی باعث شدند این استاندارد به وجود بیاید.
قبل از به وجود آمدن استاندارد ERC20، هر پروژهای که میخواست توکن خود را در شبکه اتریوم ایجاد کند، باید قرارداد هوشمند خود را از ابتدا مینوشت. این امر باعث میشد تا توکنهای مختلف چارچوب خاصی نداشته باشند و با قوانین و ویژگیهای متفاوتی کار کنند و هماهنگی بین آنها بسیار مشکل باشد.
به عنوان مثال، اگر یک توسعهدهنده میخواست با یک توکن دیگر کار کند، به دلیل عدم وجود هیچ ساختار یا دستورالعمل خاصی برای ساخت توکنهای جدید، مجبور بود کل کد قرارداد هوشمند آن توکن را درک کند. این موضوع به ویژه برای کیف پولها و پلتفرمهای مبادله ارز دیجیتال بسیار مشکلساز بود. 1
پس طبق این توضیحات، کاربرد استاندارد ERC-20 به وجود آوردن دستورالعمل و قوانینی است که پروژهها، کیف پولها، پلتفرمها و صرافیها با استفاده از آنها مدیریت توکنهای اتریومی را به راحتی انجام دهند و یا حتی توکن استاندارد طراحی کنند.
با ظهور استاندارد ERC20 قوانین و مشخصات استاندارد برای توکنها ایجاد شد. این قوانین باعث شد تا توکنها به طور یکپارچه و هماهنگ با یکدیگر کار کنند. به عبارت دیگر، ERC20 یک زبان مشترک برای توکنهای اتریوم ایجاد کرد.
ایده ERC-20 را چه کسی داد؟
فابیان ووگلاستلر (Fabian Vogelsteller)، یکی از توسعهدهندگان اصلی اتریوم و مخترع استاندارد ERC-20 بود. 2 ووگل استلر در سال 2018 از بنیاد اتریوم جدا شد تا روی بلاکچین جدیدی به نام Lukso کار کند. او در یک مصاحبه با Cointelegraph از انگیزههای خود برای ایجاد این بلاکچین و نگاهی به آینده استانداردهای توکن گفت.

او در این مصاحبه گفت که نمیتوانست حدس بزند که بعد از توسعه این استاندارد چنین موجی از عرضه اولیه توکن ها یا ico ها به وجود میاید و باعث میشود استاندارد ERC-20 تبدیل به یک استاندارد طلایی در دنیای کریپتو شود.
اتریوم استانداردهای دیگری هم دارد!
اکثرا اتریوم را با استاندارد ERC-20 میشناسند اما اتریوم استانداردهای دیگری هم دارد: استانداردهای ERC721 و ERC1155
در ادامه به بررسی کوتاه این استانداردها و تفاوتشان با ERC20 میپردازیم.
- ERC-721: این استاندارد به طور خاص برای توکنهای غیر قابل تعویض یا NFTها طراحی شده است. توکنهای ERC20 همه یکسان و قابل تعویض با یکدیگر هستند اما هر توکن ERC-721 منحصر به فرد است و شبیه دیگری نیست. مثالی از این توکنها، CryptoKitties است که هر گربه دارای ویژگیهای منحصر به فردی است.
- ERC-1155: این استاندارد ترکیبی از ویژگیهای ERC-20 و ERC-721 است. با استفاده از ERC-1155، میتوانید هم توکنهای قابل تعویض و هم توکنهای غیر قابل تعویض را در یک قرارداد هوشمند داشته باشید. این برای بازیهای بلاک چینی آنلاین بسیار کاربردی است.
- ERC-777: این استاندارد یک نسخه بروز شده و پیشرفتهتر از ERC20 است. از ویژگیهای آن میتوان به ارسال دادهها همراه با توکنها و اجرای توابع خاص به هنگام انتقال توکن اشاره کرد.
- ERC-223: این استاندارد بهبودی بر روی ERC-20 است که مشکلاتی مانند از دست رفتن توکنها هنگام ارسال به قراردادهای ناسازگار را حل میکند.
نگاهی به توابع حاکم بر استاندارد ERC-20
همانطور که گفته شد، استاندارد erc20 برای این منظور به وجود آمد که چارچوبی برای توسعه دهندگان باشد. برای این کار توابع زیر معرفی شدند که به توضیح هرکدام میپردازیم.
توابع اصلی استاندارد ERC-20:
- totalSupply: این تابع تعداد کل توکنهای موجود را تعیین میکند.
- balanceOf: این تابع در پاسخ تعداد توکنهای یک آدرس ویژه را برمیگرداند.
- transfer: یک مقدار معینی از توکنها را از مجموع عرضه به یک کاربر میدهد.
- transferFrom: یک نوع دیگر از تابع انتقال که برای انتقال توکنها بین کاربران استفاده میشود.
- approve: این تابع بررسی میکند که آیا یک قرارداد هوشمند مجاز است تا یک مقدار معینی از توکنها را به یک کاربر اختصاص دهد یا خیر
- allowance: این تابع بررسی میکند که آیا یک کاربر مقدار کافی توکن برای انتقال به یک کاربر دیگر دارد یا خیر
حالا بیایید به هر یک از این توابع نگاه عمیقتری بیندازیم و نحوه استفاده از آنها را بررسی کنیم:
تابع totalSupply
این تابع تعداد کل توکنهای موجود در شبکه را برمیگرداند.
function totalSupply() public view returns (uint256);
تابع balanceOf
با استفاده از این تابع میتوان تعداد توکنهای موجود در یک آدرس ویژه را بررسی کرد.
function balanceOf(address _owner) public view returns (uint256 balance);
تابع transfer
این تابع به کاربر امکان میدهد تا توکنهای خود را به آدرس دیگری منتقل کند.
function transfer(address _to, uint256 _value) public returns (bool success);
تابع transferFrom
با استفاده از این تابع، یک کاربر میتواند از حساب یک کاربر دیگر توکن بردارد (با اجازه).
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
تابع approve
این تابع به یک کاربر اجازه میدهد تا یک مقدار معینی از توکنهای خود را برای استفاده توسط یک قرارداد هوشمند دیگر تایید کند.
function approve(address _spender, uint256 _value) public returns (bool success);
تابع allowance
با استفاده از این تابع، میتوان بررسی کرد که یک کاربر چقدر از توکنهای یک کاربر دیگر را میتواند استفاده کند.
function allowance(address _owner, address _spender) public view returns (uint256 remaining);
نمونه کدنویسی برای یک توکن ERC20
کد زیر یک توکن ساده با نام “SimpleToken” و نماد “STK” را ایجاد میکند و سپس تابع انتقال را پیادهسازی میکند:
pragma solidity ^0.8.0;
contract SimpleERC20 {
string public name = "SimpleToken";
string public symbol = "STK";
uint8 public decimals = 18;
uint256 public totalSupply = 1000 * (10 ** uint256(decimals));
mapping(address => uint256) public balanceOf;
constructor() {
balanceOf[msg.sender] = totalSupply;
}
function transfer(address to, uint256 value) public returns (bool) {
require(balanceOf[msg.sender] >= value);
balanceOf[msg.sender] -= value;
balanceOf[to] += value;
return true;
}
}
لیست برترین توکن های ERC20 در بازار ارزهای دیجیتال
ارزهای دیجیتال زیادی بر روی استاندارد ERC20 توسعه یافتهاند. در لیست زیر تنها چند ارز را بررسی میکنیم.
- USDT (Tether): تتر بزرگترین استیبل کوین از نظر ارزش بازار است که به دلار آمریکا متصل است. این توکن به دلیل ثبات قیمتی خود بسیار محبوب است و دامیننس بالایی دارد. البته تتر برروی استانداردهای دیگر مثل trc20 نیز وجود دارد.
- LINK (Chainlink): لینک توکنی است که در پروژه Chainlink به کار میرود و به عنوان یک پل بین قراردادهای هوشمند و دادههای خارج از بلاک چین عمل میکند.
- USDC (USD Coin): یو اس دی سی هم مانند تتر یک استیبلکوین است که به دلار آمریکا متصل است وتوسط صرافی بزرگ کوین بیس پشتیبانی میشود.
- DAI: دای یک استیبلکوین است که توسط سیستم MakerDAO ایجاد و مدیریت میشود.
- BAT (Basic Attention Token): بت توکنی است که در پروژه Brave Browser به کار میرود و به عنوان یک واحد پرداخت برای تبلیغات و محتوا استفاده میشود.
تقریبا هر توکن جدیدی که به بازار عرضه میشود تحت استاندارد ERC20 است. شما با استفاده از کانترکت آدرس این توکنها میتوانید در پلتفرمهای مختلف مثل انواع کیف پول های ارز دیجیتال آن ها را اضافه کرده و استفاده کنید.
لیست برخی از کیف پولهای برتر برای ERC20
استاندارد ERC20 محبوبترین و پرکاربردترین استاندارد کریپتویی و قرارداد هوشمند است. بنابراین کیف پول های زیادی از آن پشتیبانی میکنند. شما با استفاده از این کیف پول ها تمامی توکن های erc-20 را میتوانید import کنید و استفاده کنید.
لیست تنها برخی از کیف پول های استاندارد ERC20:
- متامسک: Metamask از محبوبترین کیف پولهای موجود برای مرورگرها است که به صورت اکستنشن به مرورگر اضافه میشود. متامسک امکان ارسال، دریافت و نگهداری توکنهای ERC20 را فراهم میکند و با اکثر مرورگرها سازگار است. البته لازم به ذکر است که شما استانداردهای دیگر و بلاک چین هایی که فورک اتریوم هستند مثل پالیگان را هم به راحتی میتوانید به آن اضافه کنید.
- تراست والت: کیف پول تراست یک کیف پول موبایلی است که پشتیبانی گستردهای از توکنهای ERC20 دارد. این کیف پول رابط کاربری بسیار سادهای دارد و مانند متامسک از توکنهای دیگر شبکهها نیز پشتیبانی میکند.
- MyEtherWallet (MEW): مای اتر والت یک کیف پول متن باز است که به کاربران امکان مدیریت توکنهای ERC20 را میدهد. با استفاده از MEW، کاربران میتوانند توکنهای اتریومی خود را به صورت آنلاین مدیریت کنند.
- لجر نانو اس: Ledger Nano S را اگر اهل کیف پول سخت افزاری باشید حتما میشناسید. لجر یک کیف پول سختافزاری است که از توکنهای ERC20 پشتیبانی میکند. این کیف پول با امنیت بالا، توکنهای شما را در برابر حملات هکری محافظت میکند.
- ترزور: مانند Ledger، Trezor نیز یک کیف پول سختافزاری است و از توکنهای ERC20 پشتیبانی میکند. این کیف پول با ویژگیهای امنیتی برجسته، اطمینان حاصل میکند که داراییهای شما در امنیت باقی بماند.
استاندارد ERC-20 تنها استاندارد محبوب نیست!
در این مقاله بارها گفتیم که ERC-20 استاندارد محبوبی است و بسیاری از توسعه دهندگان ترجیح میدهند که پروژه خود را برروی آن توسعه دهند. بد نیست بدانیم استانداردهای بلاک چین های دیگر کم از ERC20 ندارند. از آنجایی که قیمت اتریوم بالا رفته شما برای استفاده از استاندارد ERC20 گس فی بالایی بپردازید به همین دلیل بد نیست به استانداردهای محبوب دیگر هم فکر کنید.
در ادامه سراغ برخی دیگر از استانداردهای محبوب میرویم و به مقایسه آنها با ERC20 میپردازیم.
TRC-20: استاندارد محبوب شبکه ترون
ترون TRC-20 یک استاندارد برای توکنها در شبکه TRON است. این استاندارد در زمینه ویژگیها و توابع به شدت به ERC20 شباهت دارد. اما، توکنهای TRC-20 بر روی شبکه TRON اجرا میشوند که به دلیل قیمت ترون، هزینههای بسیار کمتری نسبت به اتریوم دارد.
مثلا توکن تتر هم در شبکه اتریوم با استاندارد ERC20 و هم در شبکه TRON با استاندارد TRC-20 وجود دارد. اگر سعی دارید تتر خود را از صرافی به صرافی دیگر انتقال دهید پیشنهاد میشود آن را تحت استاندارد trc20 انتقال دهید تا کارمزد خیلی ناچیزی بپردازید.
BEP-20: استاندارد توکنها در Binance Smart Chain
BEP-20 استانداردی است که برای توکنها درشبکه بایننس اسمارت چین طراحی شده. این استاندارد هم مانند trc20 در بسیاری از جنبهها به ERC20 شباهت دارد و با هزینههای کمتر و سرعت بیشتری اجرا میشود.
برای مثال میتوان به توکن CAKE اشاره کرد که یکی از توکنهای معروف BEP-20 که برای صرافی پنکیک سواپ است.
NEP-5: استاندارد توکنها در شبکه نئو NEO
NEP-5 استانداردی دیگر برای توکنهای شبکه NEO است. در حالی که این استاندارد در برخی جنبهها به ERC20 شباهت دارد، اما با توجه به معماری متفاوت نئو، ویژگیها و توابع مختلفی دارد. توکن GAS یکی از توکنهای معروف NEP-5 است که بر روی شبکه NEO اجرا میشود.
نکته خیلی مهم: به صورت کلی استفاده از استانداردهای مختلف بستگی به کاربرد و استفاده شما دارد اما به این نکته توجه کنید که در صورت انتقال دارایی به استاندارد کیف پول مقصد توجه کنید. اگر توکنهای استاندارد ERC-20 خود را به TRC-20 بفرستید، دارایی خود را از دست خواهید داد.
سوالات متداول درباره استاندارد ERC-20
استاندارد ERC20 یک مجموعه قوانین و مشخصات برای ایجاد توکنها روی شبکه اتریوم است که توسط توسعهدهندگان به منظور هماهنگی و تعامل بهتر توکنها با دیگر پروژهها و قراردادهای هوشمند تعریف شده است.
توکنهای ERC20 به عنوان قراردادهای هوشمند روی شبکه اتریوم عمل میکنند و دارای توابع، متدها و ویژگیهای مشخصی هستند که توسط استاندارد ERC20 تعریف شدهاند.
برای ایجاد یک توکن ERC20 نیاز به نوشتن یک قرارداد هوشمند با استفاده از زبان سالیدیتی و رعایت چارچوب قوانین استاندارد ERC20 دارید. پس از نوشتن کد میتوانید آن را روی شبکه اتریوم منتشر کنید. البته سایتهایی هستند که بدون داشتن دانش برنامه نویسی با استفاده از آنها توکن بسازید!
، توکنهای ERC20 به طور مستقیم قابل استخراج نیستند. وقتی صحبت از استخراج میشود، به معنای فرآیندی اشاره داریم که در آن ماینرها با حل معادلات ریاضی پیچیده، به جایزهای دست پیدا میکنند. این فرآیند در شبکههایی مانند بیتکوین یا اتریوم رایج است. اما توکنهای ERC20 تنها روی شبکه اتریوم ایجاد میشوند و به عنوان یک قرارداد هوشمند عمل میکنند. به همین دلیل، استخراج آنها مانند اتریوم یا بیتکوین امکانپذیر نیست.
سخن پایانی
در دنیای ارزهای دیجیتال استاندارد ERC20 نقش مهمی در تسهیل و هماهنگی توکنهای اتریومی ایفا میکند. اگر به دنبال فهم بهتری از تکنولوژی بلاکچین و نحوه کارکرد توکنهای erc20 هستید و یا به کدنویسی تحت این استاندارد علاقه دارید، سری به وبسایت رسمی اتریوم بزنید و از مستندات آن استفاده کنید.
منابع
- منبع: سایت quicknode ↩︎
- منبع: سایت اتریوم ↩︎
فهرست مطالب این مقاله
- 1 توکن ERC20 چیست؟
- 2 چگونه توکنهای ERC20 ساخته میشوند؟
- 3 کاربرد استاندارد ERC-20 چیست؟
- 4 ایده ERC-20 را چه کسی داد؟
- 5 اتریوم استانداردهای دیگری هم دارد!
- 6 نگاهی به توابع حاکم بر استاندارد ERC-20
- 7 لیست برترین توکن های ERC20 در بازار ارزهای دیجیتال
- 8 لیست برخی از کیف پولهای برتر برای ERC20
- 9 استاندارد ERC-20 تنها استاندارد محبوب نیست!
- 10 سوالات متداول درباره استاندارد ERC-20
- 11 سخن پایانی
- 12 منابع