استاندارد ERC20 چیست و چه کاربردی دارد
همه ما درباره توکن های ERC20 مطالبی شنیده ایم، در این مقاله سعی شده است اطلاعات جامعای در این باره ارائه شود.
توکن های ERC20 بر روی پلتفرم اتریوم فعالیت میکنند، اتریوم نیز متشکل از شبکه بلاک چینی که امکان ذخیره تراکنش ها را دارد و یک ماشین مجازی که امکان قراردادهای هوشمند را فراهم میکند. باید توجه داشت که این توکن ها بر روی بلاکچین اتریوم قرار دارند و از تکنولوژی اتریوم قدرت میگیرد این توکن ها مستقل نیستند و به بلاک چین پلتفرم اتریوم متصل هستند. در نتیجه قیمت اتریوم می تواند بر روی این توکن ها تاثیر گذار باشد.
رمز ارز بومی در شبکه اتریوم اتر(ETH) است، اما به غیر از اتر از توکن های دیگری نیز پشتیبانی می کند.
توکن ها می توانند مثل ارز ها کار بکنند، از طرفی می توانند نماینده سهام یک کمپانی، امتیاز وفاداری، گواهی طلا باشند.
چگونگی تولید توکن ها
A smart contract
توکن ها را میتوان از طریق قراردادهای هوشمند ایجاد کرد، این قرارداد صرفاً برای ایجاد توکن استفاده نمی شوند؛ بلکه می تواند تراکنشهای توکن را مدیریت کنند و موجودی مالکیت توکن ها را پیگیری کنند. برای تهیه توکن باید مقداری اتریوم به قرارداد هوشمند واریز کنید تا در مقابل مقداری توکن دریافت کنید. بنابراین وقتی قصد ایجاد توکن خود را دارید، قرارداد هوشمندی را می نویسید که میتوانید توکن ها را ایجاد و آنها را منتقل کنید.
ایجاد توکن ساده ساده به نظر میرسد، اما ریسک های زیادی نیز دارد؛ عملاً وقتی قرارداد هوشمندی پیادهسازی میشود امکان تغییر دادن آن وجود ندارد در نتیجه اگر خطاای رخ دهد امکان اصلاح آن را وجود نخواهد داشت. این شرایط می تواند فاجعه آمیز باشد. وجود خطا در کد قرارداد می تواند باعث می شود، اشخاص توکن های خودشان را از دست بدهند یا به دیگران این امکان سرقت توکن ها را فراهم می کند.
Token contract یا تعامل پذیری
ممکن است قراردادهای هر توکن با توکن دیگر متفاوت باشد، بنابراین اگر می خواهید توکن های شما در یک صرافی قابل دسترسی باشد صرافی مورد نظر باید کد های مورد نظر شما را بنویسد تا بتواند با قرارداد هوشمند شما ارتباط برقرار کند و به کاربران امکان بدهد که آن را معامله کنند. همین شرایط هم برای ارائهدهندگان سرویسهای کیف پول نیز وجود دارد.
استاندارد ERC20 (Ethereum request for comments)
پشتیبانی از صدها توکن کار بسیار پیچیدهای است و زمان بری است. در نتیجه اعضای این جامعه است استانداردی به نام ERC20 را پیشنهاد کردن. ERC20 مخفف (Ethereum request for comments) و عدد ۲۰ اشاره به شماره پیشنهادی که منجر به ایجاد این ساختار در دنیای توکن ها شده است دارد.
ERC20 دستورالعمل یا راهنما برای مواقعی است که قصد ایجاد توکن خودتان را دارید. این دستورالعمل از ۶ تابع و ۳ تابع اختیاری تشکیل شده است.
سه تابع اختیاری شامل : نام توکن، نماد توکن و تعداد رقم اعشاری که توکن شما از آن پشتیبانی می کند را مشخص کنید
توابع الزامی کمی پیچیده تر هستند
Total supply
برای شروع باید سقف تولید توکن های را مشخص کنید، وقتی تولید به این سقف برسد قرارداد هوشمند از ایجاد توکن های جدید خودداری میکند
Balanceof
باید تعداد توکنهای هر آدرس دلخواه را مشخص کنید
Transfer
مقدار مشخصی از یک توکن از موجودی کل را گرفته و به یک کاربر می دهد
Transferfrom
برای انتقال توکن بین دو کاربر استفاده می شود.
Approve
انتقال مقدار مشخصی توکن برای کاربران را با در نظر گرفتن سقف تولید فراهم میکند.
Allowance
تقریباً به شکل متد Approveاست، در این متد بررسی می کند که آیا کاربر موجودی کافی برای ارسال توکن به شخص دیگری را دارد یا نه.
Interface programming
اگر میخواهید توکن شما، شماره ۱ باشد. باید اینترفیس را بر روی ERC20 پیاده سازی کنید، و از ۶ متد را بالا استفاده کنید. تا قبل از استفاده از استاندارد ERC20 هر صرافی و کیف پولی باید برای رمز ارز مورد نظر کد نویسی انجام میداد، اما با وجود استاندارد ERC20 تمام اکسچنج ها (صرافی ها) و کیف پول ها فقط یکبار باید کد مورد نظر را برای پشتیبانی از توکن های تحت این عنوان وارد کنند. به همین خاطر است که صرافی ها و کیف پول ها می توانند به سرعت توکن های جدید این الگوریتم را اضافه کنند
بدون این که حتی نیاز به روز رسانی داشته باشد
ساخت توکن چقدر راحت است؟
برای این کار می توانید به سایت http://thetokenfactory.com/ مراجعه کنید. در این سایت به راحتی همه کارها برای تولید توکن شما صورت می گیرد. کافیست تعداد سقف توکن، نام اون، نماد توکن و مقدار اعشار را وارد کنید. پس از وارد کردن این اطلاعات سایت یک قرارداد هوشمند برای شما ایجاد می کند و آن را به بلاک چین اتریوم اضافه میکند، انجام این کار فوق العاده آسان است.
استاندارد ERC20 منجر به پیشرفت این توکن ها شده است ، باید در نظر بگیریم که استاندارد ERC20 کامل نیست و فقط یک دستورالعمل است، بنابراین اشخاص میتوانند توابع مورد نیاز را هرطور که میخواهند پیادهسازی کنند، این مسئله منجر به ایجاد مشکلات قابل توجهی شده است. به عنوان مثال برای ایجاد توکن باید مقداری اتریوم به قرارداد هوشمند واریز کنید اما عدهای سعی کردند به جای اتر از سایر توکنهای ERC20 استفاده کنند. اگر قراردادی تحت این عنوان شکل نگرفته باشد پس از واریز توکن ها به این قرارداد توکنهای شما می سوزد و شما توکن هایتان را از دست می دهید.
بنابراین توسعه دهنده های ERC20 سعی رفع حل این مشکل با ارائه استاندارد ERC223 هستند. که به سازندگان توکن ها درباره این خطرها هشدار می دهد و راهکارهای به آنها توصیه می کند.