آنچه در این مقاله خواهید خواند
استاندارد شبکه و توکن TRC20 مجموعهای از قوانین برای ساخت، راهاندازی و معامله ارز دیجیتال بر بستر بلاک چین ترون (Tron) است که شباهت بسیاری نیز به استاندارد ERC20 اتریوم دارد. استاندارد TRC-20 همچنین در طراحی و ساخت قراردادهای هوشمند بر بستر شبکه TRX استفاده میشود.
استاندارد TRC20 نسبت به پروتکلهای دیگر همچون TRC10 تفاوت ها و شباهتهای متعددی دارد، پس از معرفی و بررسی استاندارد تی آر سی 20، به مقایسه آن با پروتکلهای ذکرشده میپردازیم و در آخر نیز نحوه ساخت یک توکن با استاندارد TRC-20 را توضیح میدهیم.
استاندارد شبکه و توکن چیست؟
استاندارد شبکه و رمز ارز مجموعهای از قوائد الزامی برای تمام توکنهای ساخته شده بر بستر یک استاندارد مشترک در شبکه است. به بیان سادهتر، استاندارد توکن را میتوان مکانیزمی ثابت و از پیش تعیین شده برای ساخت، راهاندازی و ارسال توکنهای جدید بر بستر یک بلاک چین یا شبکه منحصر بهفرد توسط توسعه دهندگان در نظر گرفت. از جمله استانداردهای معروف توکن های مثلی میتوان به استاندارد ERC20 اتریوم، استاندارد BEP20 بایننس اسمارت چین و البته استاندارد TRC20 ترون اشاره کرد. توکنهای غیر مثلی نیز استاندارد خاص خود را دارند که استاندارد ERC-721 یکی از انواع آن است.
این مکانیزم از پیش تعیین شده میتواند ترکیبی از قوانین، شرایط و توابع باشد که کارکرد توکن را تعیین میکند. استانداردهای شبکه در سطح مصرفکننده نیز تعریف میشوند که از جمله آنها میتوان به استاندارد توکن، ثبت نام و آدرس و فرمتهای پکیچهای کتابخانه اشاره کرد. با استفاده از این قوانین قراردادی مشخص و پارامترهای شفاف هر شخصی با دانش کافی میتواند توکن خود را در هر استانداردی بسازد.
به عنوان مثال، وقتی توکنی با استفاده از استاندارد توکن ERC20 ساخته شود، راهکاری ساده و مستقیم برای توسعه دهندگان ایجاد میکند تا بتوانند توکنهای خود را بر بستر بلاک چین اتریوم بسازند. یکی دیگر از استانداردهای معروف توکن که بسیار مورد استفاده است، استاندارد TRC-20 محسوب میشود. توسعه دهندگان با تکیه بر ساختار از پیش تعیین شده در قوانین شبکه ترون، میتوانند توکنهای خود را بر بستر این بلاک چین بسازند و راهاندازی کنند. گفتنی است که تمام توکنهای ساخته شده با یک استاندارد مشخص، ویژگیهای مشترکی نیز دارند.
استاندارد TRC20 چیست؟
استاندارد TRC-20 مجموعه قوانین دیجیتال برای عرضه و مدیریت توکن هایی است که بر بستر بلاک چین ترون ساخته میشوند. البته لازم به ذکر است که این قوانین تنها نقش قائده کلی و الزامی برای توکنها را دارند و هر کوین یا توکنی میتواند با گرفتن شمایل کلی آن قوانین به خود، در شبکه ترون نیز حضور داشته باشد.
معروفترین نمونه این توکنها که با آمدن به بلاک چین ترون بسیار محسوب شد، تتر با استاندارد TRC20 است که پیش از آن بیشتر در شبکه اتریوم معامله میشد. با توجه به ازدحام شبکه Ethereum و کارمزد بالایی که داشت، شرکت تتر لیمیتد توکنهای دلار USDT خود را بر بستر شبکه ترون با استاندارد TRC20 عرضه کرد تا هزینه انتقال و استفاده از این توکن کمتر شود. برای بررسی قیمت لحظه ای و خرید تتر به صورت آنی کلیک کنید.
استاندارد توکن TRC-20 شامل قوانین اولیه برای ساخت توکنهای جدید و همچنین بسترهای معاملات و انتقال آنها، شامل ارسال و دریافت، است. گفتنی است که معروفترین رمز ارز با این استاندارد در حقیقت توکن بومی شبکه یعنی ارز دیجیتال ترون (TRX) است.
[banner id=’37412′]
تمام توکنهای فعال در شبکه ترون توسط نوع خاصی از والت دیجیتال پشتیبانی میشوند و در آن قابلیت سواپ و انتقال دارند، با این شرط که از قوانین قرارداد هوشمند استاندارد TRC-20 استفاده کرده باشند. این قوانین چندین جنبه ساختاری توکنها از جمله عرضه کل، موجودی، انتقال، تایید و باقیمانده را تحت نظارت دارند. علاوه بر موارد ذکر شده، توکنهای ساخته شده با استاندارد TRC-20 میتوانند به صورت اختیاری سه گزینه نام توکن، خلاصه نام توکن و همچنین دقت توکن را داشته باشند.
تفاوت شبکه Tron و استاندارد TRC-20
شبکه رمز ارزی ترون یک بلاک چین با قابلیت پشتیبانی از قراردادهای هوشمند با تکیه بر غیرمتمرکز سازی این نوع از شبکهها است. شبکه اصلی ترون با نام Tron فعالیت میکند، همانگونه که شبکه اتریوم از نام ETH استفاده میکند. اما TRC20 یک استاندارد توکن است که بر بستر شبکه Tron فعالیت میکند. به بیان سادهتر، Tron نام اختصاری شبکه ترون است و TRC-20 تنها یکی از استانداردهای به کار رفته در این بلاک چین.
نحوه عملکرد توکن های استاندارد TRC-20 چگونه است؟
هدف اصلی از ساخت شبکه ترون، ایجاد بلاک چینی جایگزین برای اتریوم بود که هزینه کارمزد پایینتر و سرعت تراکنش بالاتری داشته باشد. اما سیستم به کار رفته در قراردادهای هوشمند Tron از همان زبان برنامه نویسی سالدیتی (Solidity) استفاده میکند که در تمام شبکههای سازگار با ماشین مجازی اتریوم به کار میرود. بنابراین تمام توکنها و انواع دیگر قرارداد هوشمند ساخته شده بر پایه شبکه ترون با بلاک چین اتریوم نیز سازگار هستند. به بیان سادهتر، هر توکنی که در یکی از این دو شبکه وجود دارد، در دیگری نیز قابل عرضه و استفاده است.
استاندارد TRC20 معمولا بیشتر برای عرضه توکنهای جدید در بلاک چین ترون استفاده میشود. از آنجا که ترون یک بلاک چین عمومی است، هر کسی میتواند در صورت پیروی از قوانین مشخص استانداردهای مختص این شبکه همچون TRC-10 و TRC-20، توکن خود را بسازد و استفاده کند. همچنین تمام توکنهای ساخته شده در این شبکه میتوانند با دیگر ارزهای دیجیتال و اپلیکیشنهای فعال سازگاری داشته باشند و در آنها استفاده شوند.
شبکه ترون بر خلاف بلاک چین اتریوم که تا مدتی پیش از مکانیزم اجماع اثبات کار استفاده میکند و پس از آپگرید مرج از الگوریتم اثبات سهام استفاده میکند، از همان ابتدا با مکانیزم اثبات سهام نمایندگی شده (DPoS) ساخته شده بود. این الگوریتم علاوه بر بالا بردن کارایی شبکه، افزایش سرعت تراکنشها و پایین آوردن هزینه کارمزد، ساختاری فناورانه و مدرن دارد که ساخت قراردادهای هوشمند و اپلیکیشنهای غیر متمرکز جدید را بر بستر آن آسان میکندد. علاوه بر این، زمان بلاک در شبکه ترون تنها 3 ثانیه است که بسیار سریعتر از اتریوم با زمان بلاک 15 ثانیهای محسوب میشود.
اپلیکیشنها و پروژههای با استاندارد TRC20
شاید بتوان گفت بزرگترین و محبوبترین پروژه که از استاندارد TRC-20 استفاده میکند، تتر یا USDT است. تتر ترون در حال حاضر از تتر اتریومی نیز محبوبتر است و بر اساس آمار ارائه شده توسط کوین دسک (CoinDesk)، اوایل سال 2021 دلار USDT ترون از نظر تعداد تراکنش انجام گرفته از رقیب خود جلو زد. مهمترین علت این اتفاق، هزینه گس فی بالای شبکه ETH بوده.
همچنین بحث درباره مفهوم غیر متمرکز بودن در زمان مقایسه USDT ترون و اتریوم تقریبا بیهوده است، چرا که ایده تمرکززدایی بر پایه مفهوم تراستلس بودن بنا شده. کاربران در هنگام استفاده از تتر در حقیقت باید به کمپانی تتر لیمیتد اعتماد داشته باشند که این رمز ارز را بر بستر هر شبکهای ضرب کند و تحویل دهد. بنابراین منطقیتر این است که کاربر از کارمزد کم و سرعت بالاتر ترون برای انتقال دارایی خود با استاندارد TRC-20 استفاده کند.
یکی دیگر از پروژههای محبوب که از توکنهایی با استاندارد TRC20 در پلتفرم نظرسنجی خود استفاده میکند، ریوین (Revain) نام دارد. ریوین به نوعی نسخه بلاک چینی وب سایت TrustPilot است و کسانی که در آن نظر خود را ثبت کنند، در ازای این کار جایزه میگیرند. به این صورت کاربران به فعالیت بیشتر در پلتفرم تشویق میشوند تا درآمد کسب کنند.
از دیگر پروژههای ساخته شده با استاندارد TRC-20 میتوان به ارز جاست (JUST) اشاره کرد که در حقیقت نسخه ترونی استیبل کوین میکردائو (Maker DAO) محسوب میشود. کاربران میتوانند توکنهای ترونی خود را در این پلتفرم به عنوان پشتوانه مالی وثیقه بگذارند و در مقابل یک استیبل کوین با نماد USDJ مینت کنند که با قیمت دلار آمریکا پگ شده است. شبکه ترون همچنین اکوسیستم فعالی از بازیهای بلاک چینی دارد که از جمله انها میتوان به MegaCryptoPolis 3D و Blockchain Cuties اشاره کرد.
محبوبترین توکنهای ساخته شده با استاندارد TRC-20
از بین تمام توکنهایی که بر بستر شبکه ترون ساخته شدهاند، توکن های مثلی با استاندارد TRC20 پراستفادهترین و محبوبترین محسوب میشوند. از بین این نوع توکنها نیز برخی عملکردی بهتر نسبت به بقیه دارند که در ادامه نگاهی به چند مورد از امیدوارکنندهترین انواع آنها میاندازیم.
- NOLE
- WINK
- SEED
- TERC
- NoleWater
- IGG
- LVH
- BTT
- TRUC
توکنهای ذکرشده در بالا از جمله محبوبترین ارزهای دیجیتال با استاندارد TRC20 در میان کارآفرینان کریپتویی محسوب میشوند. علاوه بر این، از بین سه بلاک چین اصلی برای انتقال داراییهای رمز ارزی یعنی اتریوم، ترون و بایننس اسمارت چین، شبکه ترون و استاندارد TRC20 محبوبترین این موارد است.
تفاوت اصلی میان استاندارد ERC20 و TRC20
در بحث مقایسه مزایا و معایب دو استاندارد توکن شبکه اتریوم و ترون، شباهتهای بسیاری دیده میشوند. یکی از مهمترین مزایای استاندارد ERC20 نسبت به TRC20 در بحث امنیت است، چرا که توکنهای ساخته شده بر بستر این شبکه ایمنتر از ترون محسوب میشوند. با این حال میتوان گفت سرعت شبکه و تراکنشها از جمله مهمترین مزایای بلاک چین ترون است و این کفه ترازو را به سمت استاندارد TRC20 برمیگرداند.
قرارداد هوشمند هر دو این استانداردها با زبان برنامه نویسی سالیدیتی نوشته شده است، به همین خاطر به سادگی میتوان از آنها به جای همدیگر استفاده کرد، اما ممکن است مشکل اصلی در والتهای پشتیبان این نوع از توکنها پیش بیاید. کیف پول رمز ارزی باید از استاندارد توکن مد نظر شما پشتیبانی کامل داشته باشد. نوع آدرس این دو استاندارد با همدیگر تفاوت دارد و در هنگام واریز یا برداشت باید همواره به آدرس دقت و آن را چند بار بررسی کرد.
همچنین استفاده از استاندارد ERC20 بعضی مواقع هزینه گس بسیار بالاتری دارد، به همین خاطر بیشتر کاربران ترجیح میدهند از استاندارد TRC-20 استفاده کنند تا از مخارج خود بکاهند. با این حال زمانی که ارزش تراکنش زیاد باشد بهتر است اندکی هزینه بیشتر در ازای امنیت بالاتر شبکه اتریوم پرداخت شود.
به بیان کلیتر، این دو نوع استاندارد توکن در دو بازه زمانی متفاوت از همدیگر ساخته و پرداخته شدند و بهتر است قبل از انتخاب یکی از آنها برای توکن پروژه خود، تحقیقات جامع به عمل بیاورید و از ویژگیهای خاص هر کدام مطلع شوید. در ادامه چند مورد از تفاوتهای اصلی را معرفی میکنیم.
- شبکه بلاک چین: برای استاندارد ERC20 از شبکه اتریوم استفاده میشود و استاندارد TRC20 از بلاک چین ترون استفاده میکند.
- ساختار آدرس: آدرسهای حساب در استاندارد شبکه ملکه دنیای رمز ارزها با دو حرف 0x آغاز میشوند و پس از این پیشوند، تعدادی حرف و عدد به صورت تصادفی قرار میگیرد. آدرسهای شبکه ترون نیز همین ساختار را دارد، با این تفاوت که به جای دو کاراکتر اول، تنها یک T قرار میگیرد. نمونه یک آدرس ترونی به صورت زیر است: TNM4Fr7dY3qeo649cghSenprEw7FDoxJuT
- سرعت انتقال: توکنهای ساخته شده با استاندارد ERC نزدیک به 5 تا 10 دقیقه زمان برای ارسال شدن در شبکه خود لازم دارند، در حالی که زمان مورد نیاز برای انتقال هر توکن TRC20 در شبکه ترون تنها چند ثانیه تا چند دقیقه است.
- هزینه کارمزد: کارمزد شبکه برای انتقال توکنهای اتریومی در این بلاک چین میتواند تغییرات بسیار زیادی داشته باشد و بسته به اینکه وضعیت ازدحام کاربران به چه صورت است، ممکن است مجبور به پرداخت 1 تا 30 دلار یا حتی بیشتر باشید. شبکه ترون در این زمینه وضعیت بسیار بهتری دارد و هزینه انتقال توکن بر بستر آن معمولا در حد 1 دلار است.
- امنیت: امنیت توکنهای ساخته شده با استاندارد ERC نسبت به توکنهای ترونی با استاندارد TRC-20 بسیار بالاتر است و به طور کلی شبکه آنها امنیت بیشتری دارد.
- تراکنش بر ثانیه: سقف تراکنش بر ثانیه توکنهای TRC20 در مقایسه با رقیب خود بسیار بالاتر است و در هر ثانیه تا 2000 تراکنش قابل تایید در شبکه ترون هستند.
- تیم توسعهدهنده: هر دو بلاک چین توسط تیمی عمومی از توسعه دهندگان مدیریت میشوند.
- توسعه: روند توسعه توکن در هر دو شبکه از مراحل یکسانی تشکیل شده است و شامل طراحی قرارداد هوشمند، ساخت اپلیکیشن غیر متمرکز، راهاندازی روی بلاک چین و معرفی و توسعه اجتماعی است.
تفاوت استاندارد TRC10 و TRC20
در شبکه بلاک چین ترون دو ساختار کلی برای ساخت توکن وجود دارد که هر کدام از این موارد از یک استاندارد منحصر بهفرد استفاده میکند و تفاوتهایی ذاتی میان آنها وجود دارد. در ادامه به بررسی تفاوتهای اصلی میان دو استاندارد TRC10 و TRC20 میپردازیم و توکنهای ساخته شده بر بستر آنها را با یکدیگر مقایسه میکنیم.
توکنهای TRC10 کاملا توسط بلاک چین اصلی ترون ساخته میشوند و در شبکه اصلی آن یعنی Tron Mainnet قابل دسترس هستند. این نوع از توکنها به ماشین مجازی ترون وابستگی خاصی ندارند و مستقل از آن ساخته میشوند. همچنین اکثر والتهای اصلی دنیای ارز دیجیتال از توکنهای با استاندارد TRC10 پشتیبانی میکنند، بنابراین سرمایه گذاران و تریدرها میتوانند با خیال آسوده از این رمز ارزها استفاده کنند.
گفتنی است که در حال حاضر بیشتر توکنهای ترونی در دنیای کریپتو با استاندارد TRC10 ساخته شدهاند. از دلایل اصلی این موضوع، میتوان به سازگاری بالای استاندارد آن برای عرضه اولیه سکه (ICO) اشاره کرد. از جمله بزرگترین پروژههایی که از توکن با استاندارد TRC10 استفاده کردهاند میتوان به بیت تورنت با نماد BTT اشاره کرد، اما این پروژه اشتراک گذاری فایل پس از مدتی استاندارد توکن خود را به TRC-20 تغییر داد.
استفاده از توکنهای TRC10 در مقایسه با استاندارد TRC20 ارزانتر و کمهزینهتر است و به همین خاطر بسیاری از توسعه دهندگان این شبکه تا مدتها ترجیح میدانند توکن خود را بر پایه استاندارد سادهتر و ارزانتر بسازند.
در مقایسه با TRC10، استاندارد TRC20 آغازگر دورانی بود که شبکه ترون به نام قاتل اتریوم معروف شد. TRC20 یک استاندارد فنی برای بلاک چین ترون است که برای ساخت توکنهای مرتبط با قراردادهای هوشمند این شبکه استفاده میشود. این ساختار ترونی موجب شده است کاربران حوزه کریپتو بتوانند بسیاری از داراییهای خود را بدون دردسر و با هزینهای کم جابهجا کنند.
معروفترین مصرف استاندارد TRC20 در مقایسه با TRC10 برای توکن دلار تتر یا USDT است که بسیار میان کاربران تمام دنیا محبوب است و بیشتر تراکنشهای انتقال آن بر بستر شبکه ترون انجام میشود.
استاندارد TRC20 بر خلاف TRC10 از ماشین مجازی ترون استفاده میکند و البته با ساختار ماشین مجازی اتریوم سازگاری دارد. همچنین توکنهای TRC20 پهنای باند و سطح انرژی بیشتری نسبت به استاندارد TRC10 دارند که این موضوع در بلاک چین ترون اهمیت زیادی دارد.
از جمله دیگر تفاوتهای مهم استاندارد TRC10 و TRC20 میتوان به میزان هزینه استفاده اشاره کرد. هزینه انجام تراکنش با استفاده از استاندارد TRC10 تقریبا 1000 برابر کمتر از استاندارد TRC20 است که این تفاوت بسیار زیادی محسوب میشود. به طور کلی، استاندارد TRC20 نسخه پیشرفتهتر TRC10 محسوب میشود و ساختار جدیدتری دارد.
چگونه میتوان یک توکن با استاندارد TRC20 ساخت؟
فرآیند ساخت یک توکن رمز ارزی با استاندارد TRC20 بر بستر شبکه ترون روندی 4 بخشی و نسبتا ساده دارد. این 4 فاز به مراحل تحقیق، آمادهسازی، توسعه و طراحی و در نهایت راهاندازی روی شبکه تقسیم میشوند.
از بین این 4 فاز، سختترین مرحله همان فاز توسعه و طراحی است که بیشترین کار را میبرد. در این مرحله مشخصههای فنی توکن و پروژه تعیین و برای اجرا آماده میشوند.
اصلیترین روش برای ساخت توکن با استاندارد TRC-20 این است که از توکنساز داخلی بلاک چین ترون استفاده کنید. این روش از پروسهای چند مرحلهای تشکیل شده است که کمک میکند توکنی مناسب با هدف مصرف خود طراحی و راهاندازی کنید. در ادامه این مراحل را به نوبت معرفی میکنیم:
- ابتدا قرارداد هوشمند را بر اساس استانداردهای کسب و کار خود طراحی کنید و آدرس اسمارت کانترکت را ایجاد کنید.
- پس از اتمام برنامه نویسی قرارداد هوشمند، به وب سایت ترون اسکن به آدرس Tronscan.org بروید و کیف پول ارز دیجیتال خود را به پلتفرم متصل کنید.
- در شبکه بلاک چین ترون و در منوی کشویی Token Track روی گزینه Create Token کلیک کنید تا پروسه ساخت توکن با استاندارد TRC20 آغاز شود.
- در این مرحله صفحهای باز میشود که مشخصههای اصلی توکن از جمله نام، نماد، مقدار اعشار، عرضه کل و تقاضا و زمان قفل و باز شدن توکن را از شما میپرسد.
- پس از وارد کردن تمام اطلاعات لازم و به روز رسانی مشخصههای توکن، روی گزینه تایید بزنید تا توکنهای TRC20 شما ساخته شود.
- در این مرحله اگر تمام مراحل قبلی را به درستی انجام داده باشید توکن ساخته شده است و اطلاعات آن در والت ارز دیجیتال شما نمایش داده میشود.
این مراحل برای ساخت یک توکن با استاندارد TRC20 بر بستر شبکه ترون کاملا عملی هستند و هر شخصی با دانش فنی مناسب میتواند مراحل آن را به انجام رساند.
مزایای توسعه توکن با استاندارد TRC20 برای کسب و کار
توسعه توکن در شبکه ترون با استاندارد TRC-20 در چند سال اخیر محبوبیت زیادی بین صاحبان کسب و کار پیدا کرده است، چرا که این افراد به کمک فناوری بلاک چین میتوانند سوددهی، کسی سرمایه و اعتماد به پروژههای خود را بالاتر ببرند. از مزایای این کار میتوان به موارد زیر اشاره کرد.
- کاربران میتوانند تراکنشهای غیر متمرکز خود را به کمک توکن و قرارداد هوشمند آن انجام دهند.
- غیر متمرکز بودن همه چیز به شفافیت و اعتمادبخشی و جذب کاربران کمک میکند.
- پرداختهای نظیر به نظیر و ایمن، اعتبار پروژه را بالا میبرند.
- تراکنشهای آسان و بیدردسر رشد پروژه را در سطح جهانی ممکن میکند.
- فلسفه وجود پهنای باند و سطح انرژی در شبکه ترون، به توکنهای آن ارزش میدهد.
- مقیاس پذیری بالای شبکه موجب افزایش تراکنشها و بهبود عملکرد میشود.
- امکان هک یا نابودی آسان و نقطهزنی خرابکاران را از بین میبرد و همچنین در صورت بروز مشکل، بازیابی سرمایه و رفع مشکل آسانتر خواهد بود.
- دفتر کل توزیع شده شبکه ترون به شکلی کارآمد تمام تراکنشها و عملیاتها را ثبت میکند.
- بروز مشکل و وقفه در انجام تراکنشها کاهش مییابد.
اما در کنار نکات مثبت متعددی که گفته شد، باید در نظر داشت که توسعه توکن بر بستر شبکه ترون میتواند هزینه زیادی نیز داشته باشد که در بخش بعدی به بررسی آن میپردازیم.
هزینه ساخت توکن روی شبکه ترون با TRC20
هر استارتاپ یا پروژه تازهکار که قصد ساخت توکن با استاندارد TRC20 را داشته باشد به احتمال زیاد در یکی از مراحل کار، از نظر مالی دچار شک و تردید شده است. در چنین شرایطی اگر بتوان میزان هزینه لازم برای ساخت توکن را از پیش دانست، بسیاری از مراحل کار راحتتر پیش میروند.
البته قیمت راهاندازی یک توکن بر بستر شبکه ترون به موارد زیادی از جمله حیطه فعالیت کسب و کار، مشخصههای توکن استاندارد TRC20، عرضه و تقاضای رمز ارز، نحوه توزیع، پیچیدگیها و جزئیات طراحی، پشتیبانی و به روز رسانی و خدمات پس از عرضه توکن بستگی دارد.
به همین خاطر نمیتوان یک قیمت مشخص و دقیق برای ساخت توکن بر بستر شبکه ترون اعلام کرد و همیشه آن را دقیق دانست. قیمت نسبی و حداقلی برای توسعه یک توکن با استاندارد TRC-20 که البته پشتوانه درستی داشته باشد، از چند هزار دلار شروع میشود. گفتنی است که اگر بخواهید توکنی بدون مصرف و آزمایشی ایجاد کنید، هزینه آن به مراتب بسیار کمتر خواهد بود.
مشخصههای قرارداد هوشمند استاندارد TRC20
به منظور اینکه توکن ساخته شده با قرارداد هوشمند و استاندارد TRC-20 در شبکه ترون قابل مبادله، انتقال و اشتراک گذاری باشد، تمام رمز ارزهای مد نظر باید از 6 مشخصه الزامی پیروی کنند و همچنین 3 مشخصه نیز به صورت اختیاری برای آنها تعریف شده است. این قوانین و مشخصهها به صورت زیر هستند. در ابتدا سه مشخصه اختیاری را بررسی میکنیم.
نام توکن
هر توکن برای راهاندازی شدن روی شبکه ترون و قابل معامله بودن، در مرحله اول به یک اسم عمومی احتیاج دارد و این مورد باید در زمان طراحی قرارداد هوشمند آن ذکر شود. کد این عملیات به صورت زیر است:
string public constant name = “TRONEuropeRewardCoin”;
نماد توکن
هر توکن علاوه بر نامی که با آن شناخته میشود، برای خرید و فروش ارز دیجیتال در بازار جهانی به یک نماد نیز نیاز دارد که این نماد در بازار با نماد دیگر رمز ارزها جفت میشود. به عنوان مثال نماد ارز دیجیتال دلار تتر USDT است. به عنوان مثالی دیگر، توکن مشخص شده در کد بالا به احتمال زیاد نمادی خواهد داشت که مخفف نام آن است. این مخفف به صورت TERC خواهد بود. کد معرفی نماد توکن به شکل زیر است:
string public constant symbol = “TERC”;
دقت توکن
به تعداد ارقام اعشاری که برای هر توکن ممکن است، دقت آن میگویند. به بیان دیگر کوچکترین قسمت بخشپذیر یا کمترین اعشار هر توکن دقت آن را تعیین میکند. اگر دقت یک توکن استاندارد TRC20 با عدد 0 تعیین شود، یعنی کمترین واحد آن 1 توکن است و در حقیقت اصلا بخش پذیر نیست. اگر دقت توکن 2 باشد، کوچکترین بخش توکن 0.01 خواهد بود. گفتنی است که بالاترین دقت برای توکنهای ساخته شده بر بستر بلاک چین در حال حاضر 18 است و کوچکترین بخش این مدل از توکنها 0.000,000,000,000,000,001 خواهد بود. کد تعیین دقت توکن در زمان نوشتن قرارداد هوشمند آن به صورت زیر است:
uint8 public constant decimals = 6;
در ادمه به توضیح و معرفی 6 مشخصه الزامی در هر قرارداد هوشمند توکن ترونی با استاندارد TRC20 خواهیم پرداخت. ابتدا کد زیر را مشاهده کنید:
contract TRC20 { function totalSupply() constant returns (uint theTotalSupply); function balanceOf(address _owner) constant returns (uint balance); function transfer(address _to, uint _value) returns (bool success); function transferFrom(address _from, address _to, uint _value) returns (bool success); function approve(address _spender, uint _value) returns (bool success); function allowance(address _owner, address _spender) constant returns (uint remaining); }
این کد یک بخش از قرارداد هوشمندی ساده و معمولی برای یک توکن با استاندارد TRC20 است. بخشهای مختلف این کد هر کدام نمایانگر یکی از مشخصههای الزامی توکن هستند که آنها را توضیح خواهیم داد.
عرضه کل
تابع totalSupply یک فانکشن داخلی و از پیش تعریف شده در استاندارد TRC20 است که مقدار عرضه کل توکن را تعیین میکند. دقت کنید که این مقدار در یک متغیر عدد حسابی قرار میگیرد و 1 میلیون واحد دارد.
contract MyTRCToken { uint256 _totalSupply = 1000000; function totalSupply() constant returns (uint256 theTotalSuppl { theTotalSupply = _totalSupply; return theTotalSupply; } }
موجودی
تابع از پیش تعریف شده balanceOf میزان موجودی حساب بلاک چینی سازنده قرارداد هوشمند را در خروجی ثبت میکند.
contract MyTRCToken { mapping(address => uint256) balances; address public owner; // Owner of this contract function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } }
انتقال
برای انتقال و جابهجایی هر مقدار از توکنهای ساخته شده از داخل قرارداد هوشمند به یک آدرس مشخص، میتوان از تابع transfer استفاده کرد. دقت کنید که برای استفاده از این تابع باید آدرس گیرنده و همچنین مقدار تراکنش انتقال را مشخص کرده باشید.
contract MyTRCToken { mapping(address => uint256) balances; function transfer(address _to, uint256 _amount) returns (bool success) { if (balances[msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[msg.sender] -= _amount; balances[_to] += _amount; Transfer(msg.sender, _to, _amount); // trigger event return true; } else { return false; } } }
تایید
اگر کاربر قصد داشته باشد به کمک یک نرم افزار یا قرارداد هوشمند ثالث مثل اپلیکیشنهای هوشمند مالی، مقداری از توکنهای ساخته شده با استاندارد TRC20 را از حساب قرارداد هوشمند خارج کند، باید تابع approve را به کار گیرد.
contract MyTRCToken { mapping(address => mapping (address => uint256)) allowed; function approve(address _spender, uint256 _amount) returns (bool success) { allowed[msg.sender][_spender] = _amount; // msg.sender is the third party's account Approval(msg.sender, _spender, _amount); // trigger event return true; } }
انتقال از
زمانی که توسعهدهنده بخواهد امکان انتقال دارایی از حساب مالک توکن به یک حساب گیرنده توسط شخص یا اپلیکیشن ثالث ممکن باشد، میتواند از دستور transferFrom استفاده کند. البته از قبل باید امکان فرا خواندن حساب مالک توکن توسط شخص ثالث به تایید رسیده باشد.
اما مفهوم تابع transferFrom در مقایسه با تابع transfer چیست؟ با استفاده از تابع transferFrom، شخص ثالث میتواند به صورت خودکار توکنها را از حساب شما به یک حساب دیگر ببرد.
contract MyTRCToken { mapping(address => uint256) balances; function transferFrom(address _from, address _to, uint256 _amount) returns (bool success) { if (balances[_from] >= _amount && allowed[_from][msg.sender] >= _amount && _amount > 0 && balances[_to] + _amount > balances[_to]) { balances[_from] -= _amount; balances[_to] += _amount; Transfer(_from, _to, _amount); return true; } else { return false; } } }
باقیمانده
از این تابع برای به دست آوردن مقدار باقیمانده در حساب که شخص ثالث میتواند منتقل کند، استفاده میشود. پس از این تابع کاربر باید ابتدا با تابع approve اجازه دسترسی به حساب مالک را به شخص ثالث بدهد و سپس با transferFrom توکنها را برای گیرنده ارسال کند.
سخن پایانی
توکن های ساخته شده با استاندارد TRC20 مشخصاتی مشابه دیگر پروتکلهای معروف دنیای ارز دیجیتال دارند و از این جهت بسیار سازگار با شبکههای مختلف و میانزنجیرهای محسوب میشوند. اما نکته اصلی که موجب محبوب توکنهای TRC-20 میشود، سرعت بالا و هزینه پایین معامله و انتقال داراییها با استفاده از این پروتکل است.
با توجه به ازدحام همیشگی شبکه ملکه دنیای کریپتوکارنسی، رقابت بلاک چینها و استانداردهای توکنی دیگر برای جایگزینی آن شدت گرفت. در این میان پروژههای مختلفی سعی کردند حجمی از تراکنشهای این شبکه را به خود جذب کنند که بلاک چین ترون نیز به خصوص در زمینه معاملات و انتقال دلار تتر (USDT) با استاندارد TRC20 خود بسیار موفق عمل کرده است و از رقیبان اصلی اتریوم محسوب میشود.
تهیه شده در بیت 24