ارز دیجیتال
ERC-20
تعریف
ERC-20 مجموعهای از قوانین استاندارد است که باعث میشود توکنهای مبتنی بر اتریوم بهطور یکسان در کیفپولها، صرافیها و قراردادهای هوشمند عمل کنند.
ERC-20 چیست؟
ERC-20 یک استاندارد توکن در اتریوماست—یک "رابط" مشترک که توابع و رویدادهای اساسی را تعریف میکند که یک قرارداد توکن قابل تعویض باید در معرض قرار دهد تا سایر برنامهها بتوانند به طور قابل اعتماد با آن تعامل داشته باشند. به زبان ساده، ERC-20 دلیل این است که یک توکن جدید اتریوم معمولاً میتواند ارسال، دریافت، در کیف پولها نمایش داده شود و بدون نیاز به نوشتن کد سفارشی برای آن توکن خاص، در دیفای ادغام شود.
ERC-20 چگونه کار میکند؟
ERC-20 با مشخص کردن یک مجموعه مشترک از روشهای قرارداد هوشمندو لاگها (رویدادها) که نرمافزارهای خارجی میتوانند به آنها تماس بگیرند یا گوش دهند، کار میکند. خود توکن یک قرارداد هوشمند است که یک دفتر کل داخلی را نگه میدارد که آدرسها را به موجودیها نگاشت میکند.
وقتی شما یک توکن ERC-20 را "نگه میدارید"، شما سکهها را در یک پایگاه داده جداگانه نگه نمیدارید—موجودی شما عددی است که در داخل قرارداد توکن ثبت شده و با آدرس اتریوم شما مرتبط است.در سطح بالا، یک قرارداد توکن ERC-20 معمولاً از:عرضه و موجودیها:
`totalSupply()` گزارش میدهد که چند توکن وجود دارد و `balanceOf(address)` نشان میدهد که یک آدرس خاص چند توکن دارد.
- انتقالهای مستقیم: `transfer(to, amount)` توکنها را از آدرس تماسگیرنده به آدرس دیگری منتقل میکند.
- انتقالهای واگذاری (مجازاتها): `approve(spender, amount)` یک مجوز تعیین میکند تا آدرس دیگری (معمولاً یک
- dApp) بتواند تا یک حد مشخص هزینه کند و `transferFrom(from, to, amount)` به آن هزینهکننده مجاز اجازه میدهد توکنها را به نمایندگی از صاحب منتقل کند.رویدادها برای ردیابی: رویدادهای `Transfer` و `Approval` منتشر میشوند تا کیف پولها، اکسپلوررها و dAppها بتوانند فعالیت را بدون نیاز به بررسی مداوم وضعیت شناسایی کنند.
- یک مثال مرحله به مرحله مدل "مجازات" را واضحتر میکند:1. شما میخواهید توکن A را در یک
صرافی غیرمتمرکز
(DEX) با توکن B مبادله کنید. 2. قرارداد هوشمند DEX نیاز به اجازه برای انتقال توکن A شما دارد. 3. شما بر روی توکن A `approve(DEX_contract, 100)` را فراخوانی میکنید و به قرارداد DEX اجازه 100 توکن میدهید. 4.
وقتی شما مبادله را انجام میدهید، قرارداد DEX `transferFrom(your_address, pool_address, amount)` را برای کشیدن توکن A مجاز و تکمیل معامله فراخوانی میکند.یک تشبیه ساده: ERC-20 مانند یک شکل دوشاخه جهانی برای قراردادهای توکن است. اگر هر دستگاه (توکن) از همان استاندارد دوشاخه استفاده کند، هر پریز (کیف پول، صرافی، dApp) میتواند بدون نیاز به سیمکشی برای هر دستگاه جدید از آن پشتیبانی کند.ERC-20 در عمل
ERC-20 به طور گستردهای در لایه برنامههای اتریوم استفاده میشود زیرا امکان ترکیبپذیری را فراهم میکند—پروتکلها میتوانند "روی هم" قرار بگیرند. استیبلکوینهایی مانند
USDC
و DAI به طور معمول به عنوان توکنهای ERC-20 در دیفای استفاده میشوند و به آنها اجازه میدهد در بازارهای وامدهی و به عنوان وثیقه و یا در سازندگان بازار خودکار معامله شوند.توکنهای حاکمیتی یک مورد استفاده رایج دیگر برای ERC-20 هستند. بسیاری از پروتکلها توکنهای ERC-20 صادر میکنند که به دارندگان اجازه میدهد در پارامترهایی مانند سطح هزینهها، نوع وثیقه یا هزینههای خزانه رأی دهند. زیرا توکن از یک رابط استاندارد پیروی میکند، سیستمهای حاکمیتی، داشبوردهای رأیگیری و راهحلهای نگهداری میتوانند سریعتر ادغام شوند.ERC-20 همچنین نمایندگیهای توکنی از داراییها و موقعیتها را پشتیبانی میکند. به عنوان مثال، برخی پروتکلها توکنهای "رسید" ERC-20 صادر میکنند که نمایانگر یک ادعای بر روی وجوه واریز شده یا سهمی از یک استخر هستند. این توکنهای رسید گاهی اوقات میتوانند در جاهای دیگر در دیفای استفاده شوند و ایده "لگوهای پولی" را گسترش دهند که در آن خروجی یک پروتکل ورودی پروتکل دیگری میشود.
چرا ERC-20 مهم است
ERC-20 مهم است زیرا به طرز چشمگیری اصطکاک ادغام را کاهش میدهد. بدون یک رابط توکن مشترک، هر کیف پول، صرافی و dApp نیاز به پشتیبانی سفارشی برای هر توکن جدید خواهد داشت—نوآوری را کند کرده و خطر اشتباهات اجرایی را افزایش میدهد. استانداردسازی اکوسیستم را بیشتر قابل تعامل میکند: ابزارهایی مانند اکسپلوررهای بلاک، ردیابهای پرتفوی، سیستمهای نگهداری و پروتکلهای دیفای میتوانند هزاران توکن را با یک مجموعه ثابت از تماسها و رویدادها پشتیبانی کنند.
همچنین نقدینگی و توزیع را بهبود میبخشد. وقتی یک توکن با استاندارد ERC-20 سازگار باشد، لیست کردن آن در صرافیها، افزودن به کیف پولها و اتصال به بازارهای دیفای آسانتر است—که به آن کمک میکند به کاربران برسد و کارایی وسیعتری را فراهم کند. در حالی که ERC-20 تضمین نمیکند که یک توکن ایمن یا به خوبی طراحی شده است، یک پایه قابل پیشبینی فراهم میکند که بقیه زیرساخت اتریوم میتواند بر اساس آن ساخته شود.
پرسشهای متداول
ERC-20 به چه معناست؟
ERC مخفف "Ethereum Request for Comment" است و "20" شماره شناسایی پیشنهاد است. این به یک رابط استاندارد برای توکنهای قابل تعویض در اتریوم اشاره دارد.
انتقال توکن ERC-20 چگونه کار میکند؟
یک انتقال موجودیها را در داخل قرارداد هوشمند توکن بهروزرسانی میکند و مقداری را از یک آدرس به آدرس دیگر منتقل میکند. قرارداد معمولاً یک رویداد Transfer را منتشر میکند تا کیفپولها و برنامهها بتوانند حرکت را پیگیری کنند.
تفاوت بین transfer و transferFrom در ERC-20 چیست؟
`transfer` توکنها را مستقیماً از فراخواننده به یک دریافتکننده ارسال میکند. `transferFrom` به یک طرف سوم تأیید شده (مانند یک dApp) اجازه میدهد تا توکنها را از آدرس یک مالک با استفاده از مجوزی که از طریق `approve` تنظیم شده است، منتقل کند.
آیا توکنهای ERC-20 همان ETH هستند؟
خیر. ETH دارایی بومی اتریوم است که برای هزینههای گاز و انتقال ارزش در سطح پروتکل استفاده میشود، در حالی که توکنهای ERC-20 قراردادهای هوشمندی هستند که موجودیها و انتقالها را در بالای اتریوم پیگیری میکنند.
آیا هر توکن اتریوم ERC-20 است؟
خیر. توکنهای قابل تعویض معمولاً از ERC-20 استفاده میکنند، اما NFTها معمولاً از ERC-721 یا ERC-1155 استفاده میکنند و برخی توکنها از استانداردهای جدیدتر یا تخصصی استفاده میکنند. یک توکن همچنین میتواند غیر استاندارد باشد که ممکن است سازگاری کیفپول و dApp را محدود کند.