بررسی استاندارد های ERC-721 و ERC-1155
در این مطلب به بررسی استانداردهای توکن های NFT بر بستر اتریوم می پردازیم که می توانند یکی از شناسه های ERC-721 یا ERC-1155 را داشته باشند.
اگر بعد از مطالعه کامل این مطلب همچنان سوال یا ابهامی برای شما وجود داشت، حتما در نظرات وبسایت برای ما درج کنید.
پیشنهاد میشه اگر درباره ی پروژه اتریوم (Ethereum) اطلاعات بیشتری نیاز دارید حتما اینجا کلیک کنید تا مقاله کامل اتریوم رو بتونید مطالعه کنید.
ERC چیست؟
ERC مخفف عبارت Ethereum Request for Comment می باشد.
721 و 1155 شماره شناسه پروپوزال می باشند.
با بررسی تصویر زیر به مفهوم استاندارد هایی از اکوسیستم اتریوم میرسیم.(مانند ERC-20)
انواع مختلف ERC چطور ایجاد می شوند؟
استانداردهای مختلف یعنی انواع مختلف ERC کدهای برنامه نویسی از پیش آماده شده ای هستند که توسط برنامه نویسان نوشته میشوند، نویسنده یک ERC موظف است که با کامیونیتی اتریوم به یک اجماع برسد و زمانی که پروپوزال نوشته شده ( ERC نوشته شده) مورد تائید واقع شد به یک استاندارد تبدیل می شود.
استاندارد ERC-721
استاندارد ERC-721 نوشته شد تا عملکرد انتقال و ردیابی کردن NFT ها را راحت کند.
ERC-721 استانداردی است که چگونگی ساخت توکن های NFT بر روی ماشین مجازی اتریوم (EVM) را توضیح میدهند ERC-721 استانداردی برای توکن های NFT است که با قوانینی که دارد باعث میشود به راحتی با توکن های NFT کار کنیم. البته NFT ها فقط با استاندارد ERC-721 ساخته نمی شوند و ما برای توکن های NFT استاندارد ERC-1155 را هم داریم.
در ادامه تابع و رویدادهایی که در کدنویسی ERC-721 تعریف شده است را می بینیم.
ERC-721 بعضی از تابع ها را مطابق با ERC-20 تعریف می کند.که این مورد باعث شده است کیف پول های فعلی که در بازار موجود هستند به راحتی بتوانند اطلاعات اولیه توکن های NFT که براساس استاندارد ERC-721 نوشته شده اند را نمایش دهند.
شباهت های ERC-721 با استاندارد ERC-20:
- تابع name، که برای شرح نام توکن استفاده می شود و باقی قراردادها و اپلیکیشن ها را قادر به شناسایی توکن میکند.
- تابع symbol، که به اختصار علامت و توکن را به ما نمایش می دهد.
- تابع totalSupply،این تابع تعداد کل توکن های مورد نظر در بلاکچین را نشان میدهد.
- تابع balanceof، عملکرد Balance of برای نشان دادن تعداد توکن ها در یک آدرس خاص استفاده می شود.
تابع های مرتبط به مالکیت
- تابع ownerOf، عملکرد owner of به یک آدرس خاص که مالک یک توکن خاص است اشاره می کند.از آن جایی که هر توکن ERC-721 یک توکن منحصر به فرد است هر کدام از آن ها در بلاکچین با یک ID مشخص می شوند، و سایر کاربرها، قراردادها، اپلیکیشن ها می توانند از این ID استفاده کنند تا صاحب توکن را تعریف کنند.
- تابع approve، این تابع به یک نهاد دیگر اجازه میدهد تا توکن NFT شخصی را با اجازه خود شخص منتقل کند.
- تابع takeOwnership، که یک تابع اختیاری است و مانند یک تابع برداشت عمل میکند اما در این تابع یک طرف خارجی می تواند با فراخوانی این تابع توکن ها را از حساب شخص دیگری خارج کند. بنابراین، تابع بدست آوردن مالکیت زمانی قابل استفاده است که یک کاربری مجاز شده باشد که دارای مقدار مشخصی توکن باشد و بخواهد توکن های مذکور را از موجودی کاربر دیگر خارج کند.
- تابع transfer، که به یک کاربر اجازه میدهد یک توکن NFT را مانند سایر دارایی های دیجیتالی برای یک کاربر دیگر ارسال کند.
تابع متا دیتا در استاندارد ERC-721:
تابع tokenmetadata ، این تابع هم جزو تابع های اختیاریست که به ما این امکان را می دهد که متادیتای یک توکن NFT یا لینک های مرتبط به NFT را همراه با NFT نمایش دهیم.
رویدادها:
الف) رویداد transfer ، این رویداد وقتی اجرا می شود که مالک یک توکن از یک شخص به یک شخص دیگر منتقل شود و وظیفه آن این است که مشخص کند کدام حساب فرستنده و کدام حساب دریافت کننده توکن بوده است و کدام توکن منتقل شده است.
ب) رویداد approve ، این رویداد وقتی اجرا می شود که یک کاربر تایید میکند که یک کاربر دیگر مالکیت یک توکن را برعهده بگیرد. این رویداد هر زمان که تابع تایید اجرا شود، فعال می شود. اطلاعاتی را منتشر می کند که در حال حاضر کدام حساب مالک توکن است، کدام حساب برای تصاحب مالکیت توکن در آینده تایید شده است، و کدام توکن (با چه شناسه ای) برای انتقال مالکیت آن تایید شده است.
استاندارد ERC-1155
استاندارد ERC-1155 هم مثل ERC-721 یک استاندارد آماده برای نوشتن توکن بر روی بلاکچین اتریوم است با این تفاوت که گستره وسیع تری از توکن ها را پشتیبانی میکند، یعنی یک استاندارد برای توکن های فانجبل و NFT ها و توکن های Semi-fungible مورد استفاده قرار میگیرد.به این سبک استانداردها، استانداردهای مولتی-توکن میگویند.
استاندارد مولتی-توکن چیست؟
در استانداردهای مولتی توکن یک رابط کاربری آسان برای ساخت توکن های NFT و فانجبل و …. ایجاد می شود، یعنی یک توکن که با استاندارد ERC-1155 نوشته شده است، می تواند عملکردهایی دقیقا مثل توکن های ERC-20 و یا ERC-721 و یا هردوی آنها به صورت همزمان داشته باشند.
و از همه مهمتر آن که نقص های احتمالی استانداردهای ERC-20 یا ERC-721 در استاندارد ERC-1155 بهبود بخشیده شده اند.
مزیت ERC-1155 نسبت به ERC-20 و ERC-721
استانداردهایی مثل ERC-20 و ERC-721 برای ایجاد هر توکن یا کالکشن به یک قرارداد مجزا نیاز دارند که در نتیجه این موضوع فضای اشغالی کدهای آن ها در بلاکچین بسیار بالاتر است. همچنین با رشد پلتفرم های NFT و گیمینگ بر بستر بلاکچین،ممکن است توسعه دهندگان گیمینگ تمایل داشته باشند انواع مختلفی از توکن ها را ایجاد کنند بنابراین یک استاندارد واحد نیاز است تا بتواند انواع مختلف توکن ها یا نوع های جدید از توکن ها را پشتیبانی کند.
همچنین در طراحی استاندارد ERC-1155 امکان ایجاد تغییرات در کدها لحاظ شده است برای مثال اگر نیاز باشد که برای صرفه جویی در هزینه های ناشی از کارمزد تراکنش ها کدهای جدیدی برای انتقال چندتایی یک کالکشن بنویسید استاندارد ERC-1155 این امکان را به شما می دهد.
مهم ترین تابع ها در کدهای ERC-1155
- تابع safebatchtransferfrom ، که این تابع برای ارسال یک دسته NFT به صورت همزمان و فقط با یک فراخوان در کدها استفاده می شود.
- تابع balanceofbatch ، که این تابع برای بدست آوردن بالانس چند دارایی در یک فراخوان مورد استفاده قرار میگیرد.
- تابع setApprovalForAll، که برای تائید ارسال دسته ای توکن ها به یک آدرس استفاده می شود.
- تابع hooks، برای دریافت هوک توکن ها
سوالات خود درباره استانداردهای مختلف را در بخش نظرات از ما بپرسید.
امتیاز 4.75 از 4 رای
[…] ازای یک NFT، دارایی یا NFT هایی که از تکنولوژی های ETH / ERC20 / ERC721 / ERC1155 استفاده می کنند به مبادلات […]
بسیار عالی 👏👏👏