یک رابط استاندارد برای قراردادهایی که چندین نوع توکن را مدیریت می کنند. یک قرارداد مستقر در آن ممکن است شامل هر ترکیبی از نشانه های قارچ ، نشانه های غیر قابل تغییر یا سایر تنظیمات (به عنوان مثال نشانه های نیمه قورباغه) باشد.
خلاصه
این استاندارد یک رابط قرارداد هوشمند را تشریح می کند که می تواند تعداد انواع توکن های قارچ و غیر قابل قارچ را نشان دهد. استانداردهای موجود مانند ERC-20 نیاز به استقرار قراردادهای جداگانه در هر نوع توکن دارد. شناسه توکن استاندارد ERC-721 یک شاخص غیرقانونی است و گروه این افراد غیرقانونی به عنوان یک قرارداد واحد با تنظیمات برای کل مجموعه مستقر می شوند. در مقابل ، استاندارد ERC-1155 Multi Token به هر شناسه توکن اجازه می دهد تا یک نوع توکن قابل تنظیم جدید را نشان دهد ، که ممکن است ابرداده ، عرضه و سایر ویژگی های خاص خود را داشته باشد.
آرگومان _id موجود در مجموعه آرگومان هر عملکرد نشان دهنده نوع خاص یا نوع توکن در یک معامله است.
انگیزه
استانداردهای توکن هایی مانند ERC-20 و ERC-721 نیاز به یک قرارداد جداگانه برای اعزام برای هر نوع یا مجموعه توکن دارند. این امر بسیاری از کد های اضافی را بر روی blockchain Ethereum قرار می دهد و عملکرد خاصی را با ماهیت جدا کردن هر قرارداد توکن در آدرس مجاز خود محدود می کند. با ظهور بازی ها و سیستم عامل های blockchain مانند Enjin Coin ، توسعه دهندگان بازی ممکن است هزاران نوع نوع توکن را ایجاد کنند و نوع جدیدی از استاندارد توکن برای پشتیبانی از آنها مورد نیاز است. با این حال ، ERC-1155 مختص بازی ها نیست و بسیاری از برنامه های دیگر می توانند از این انعطاف پذیری بهره مند شوند.
عملکرد جدید با این طرح مانند انتقال انواع مختلف توکن به طور همزمان ، صرفه جویی در هزینه های معامله امکان پذیر است. معاملات (مبادله های سپرده گذاری / اتمی) از چندین نشانه را می توان در بالای این استاندارد ساخته و نیاز به "تأیید" قراردادهای توکن جداگانه را به طور جداگانه برطرف کرد. همچنین توصیف و مخلوط کردن انواع مختلف توکن قارچ یا غیرقانونی در یک قرارداد واحد آسان است.
مشخصات
کلمات کلیدی "باید" ، "نباید" ، "لازم" ، "باید" ، "باید" ، "باید" ، "نباید" ، "توصیه شده" ، "مه" و "اختیاری" در این سند هستندهمانطور که در RFC 2119 شرح داده می شود ، تفسیر می شود.
قراردادهای هوشمند اجرای استاندارد ERC-1155 باید تمام عملکردهای موجود در رابط ERC1155 را پیاده سازی کنند.
قراردادهای هوشمند اجرای استاندارد ERC-1155 باید عملکرد ERC-165 را پشتیبانی کند و اگر 0xD9B67A26 از طریق آرگومان InterfaceID منتقل شود ، باید مقدار ثابت را درست برگردانند.
گیرنده Token ERC-1155
قراردادهای هوشمند باید تمام عملکردهای رابط ERC1155TokenReceiver را برای پذیرش انتقال اجرا کنند. برای جزئیات بیشتر به "قوانین انتقال ایمن" مراجعه کنید.
قراردادهای هوشمند باید تابع ERC-165 supportsInterface را اجرا کنند و نشان دهنده پشتیبانی از رابط ERC1155TokenReceiver برای پذیرش انتقال باشند. برای جزئیات بیشتر به "قوانین ERC-165TokenReceiver ERC1155" مراجعه کنید.
قوانین انتقال ایمن
برای توضیح بیشتر در مورد نحوه عملکرد استاندارد safeTransferFrom و safeBatchTransferFrom باید با توجه به توابع قلاب ERC1155TokenReceiver، فهرستی از سناریوها و قوانین را دنبال کنید.
سناریوها
سناریوی شماره 1: گیرنده قرارداد نیست.
- onERC1155Received و onERC1155BatchReceived نباید در یک EOA (حساب دارای مالکیت خارجی) فراخوانی شود.
سناریوی شماره 2: تراکنش یک ضرابخانه/انتقال توکن نیست.
- onERC1155Received و onERC1155BatchReceived نباید خارج از فرآیند ضرابخانه یا انتقال فراخوانی شوند.
سناریوی شماره 3: گیرنده تابع(های) رابط ERC1155TokenReceiver لازم را اجرا نمی کند.
- انتقال باید با یک اخطار زیر برگردانده شود.
- اگر توکن(های) ارسال شده بخشی از اجرای ترکیبی استاندارد دیگری باشد، قوانین آن استاندارد خاص در مورد ارسال به یک قرارداد اکنون ممکن است به جای آن رعایت شود. به بخش «سازگاری به عقب» مراجعه کنید.
سناریوی شماره 4: گیرنده تابع(های) واسط لازم ERC1155TokenReceiver را پیاده سازی می کند اما مقدار ناشناخته ای را برمی گرداند.
- انتقال باید برگردانده شود.
سناریوی شماره 5: گیرنده تابع(های) واسط لازم ERC1155TokenReceiver را پیاده سازی می کند اما یک خطا ایجاد می کند.
- انتقال باید برگردانده شود.
سناریوی شماره 6: گیرنده رابط ERC1155TokenReceiver را پیاده سازی می کند و دریافت کننده یک و تنها یک تغییر تعادل است (به عنوان مثال safeTransferFrom فراخوانی شده).
بازار رمزارزها...
ما را در سایت بازار رمزارزها دنبال می کنید
برچسب :
نویسنده : محمود کیانوش
بازدید : <-PostHit->
تاريخ : شنبه
26 فروردين
1402 ساعت: 10:15