استاندارد توکن ERC-721 چیست و چگونه یک توکن ERC721 بسازیم؟
توکن های ERC721 یا توکن های غیر قابل تعویض (Non-Fungible tokens) در سپتامبر 2017 به عنوان یک پروتکل توسعه ای (EIP) روی اتریوم مطرح شد
توکنهای ERC-721 که عموما از آنها به عنوان توکنهای غیرقابلتبدیل یا غیرقابلتعویض یاد میشود (Non-Fungible tokens) از زمانی که اولین بار در سپتامبر ۲۰۱۷ به عنوان یک پروتکل توسعهای (EIP) روی اتریوم مطرح شد، توجه بسیاری از توسعهدهندگان را به خود معطوف داشته است.
این توکنها آزادی عمل بسیار زیادی برای توسعهدهندگان فراهم میکند تا بتوانند مالکیت دنبالههایی از اطلاعات را روی بلاکچین اتریوم فراهم آورند. مشخصه بارز توکنهای غیرقابلتبدیل این است که هر توکن به یک شناسه متفاوت مرتبط شده که آن را برای مالک توکن منحصر به فرد مینماید. این ویژگی یک تفاوت بنیادی با توکن های ERC-20 است که در آنجا هر توکن قابل تعویض است. در استاندارد ERC-20، توسعهدهندگان می توانند هر تعدادی از توکنها را در یک قرارداد هوشمند ایجاد کنند اما در ERC-721 هر توکن در قرارداد دربردارندهٔ مقدار متفاوتی است.
پیشنهاد مطالعه: توضیح ساده توکن غیر قابل تعویض (Non-Fungible Tokens)
توکن ERC-721 چیست؟
توکن ERC-721 نوعی توکن است که برای شبکه اتریوم و تحت استانداردهای قراردادهای هوشمند ایجاد شده است. پیشنهاد ایجاد این استاندارد توسط توسعهدهندهای بهنام دیتر شرلی (Dieter Shirley) در اواخر سال ۲۰۱۷ داده شد. این استاندارد بهطور مشخص با هدف ایجاد توکنهای قابل معاوضهای طراحی شد که منحصربهفرد و غیرقابل خرجکردن باشند. به عبارت دیگر، هر توکن در تمامی موجودیت خود منحصربهفرد است و نمیتواند زایل یا نابود شود.
هدف از این امر، توسعه توکنهاییست که کمیابی، ارزش ذاتی آنها را تعیین کند. این باعث میشود که توکنهای ERC 721 تا حد زیادی یادآور کلکسیونها و تایید اعتبار باشند. بهطور خلاصه و به بیان سادهتر، یک توکن ERC721 چیزی بیش از یک توکن قابل جمعآوری نیست. به همین دلیل است که میتوان ارزش یک توکن ERC-721 را بر اساس کمیابی و ویژگیهای خاص آن تعریف کرد. این یعنی که این توکنها برای خریداران آینده یا جمعآوریکنندهها جذابتر خواهند بود.
این امر باعث شده که یک اکوسیستم کاملا جدید از توکنها بر روی بلاک چین ساخته شود. این اکوسیستم موجود در بلاک چین اتریوم بر اساس مفهوم کمیابی دیجیتالی بنا است و ارزش چیزها در اینجا به دلیل ویژگیهای منحصربهفرد آنها حفظ شده و افزایش مییابد. بنابراین چیزی که کپی کردن آن آسان باشد، زیاد در اینجا جلب توجه نمیکند.
چرا توکن ERC-721 ایجاد شده است؟
تولید توکنی منحصربهفرد با ویژگیهای تکرارنشدنی را میتوان دلیل ایجاد این نوع توکنها دانست. ممکن است با خود بگویید که این نوع ویژگیها چه کاربردی میتوانند داشته باشند؟ این توکنها برای خواستاران ویژگی، یکتایی یا منحصربهفرد بودن، بسیار مناسب است و کمیابی این توکنها نوعی امتیاز ایجاد میکند. بنابراین علاقه برای بهدست آوردن این توکنها به نسبت علاقه برای کسب توکنهای مشابه، بسیار متفاوت خواهد بود.
مثالی را درنظر بگیرید که در آن یک موزه میخواهد باارزشترین کارهای خود را به مزایده بگذارد. فرض کنید شما به دلیل قرعهکشی خاصی که بین بلیطهای همه شرکتکنندگان انجام میشود، شانس دریافت یکی از این کارها را داشته باشید. در این مثال، هر بلیط با توجه به ویژگیهایی منحصربهفرد و تکرارنشدنی صادر شده است. فردی که دارای بلیط برنده است، تنها یک بلیط ساده در اختیار ندارد، بلکه این فرد به یک کار ارزشمند هنری دسترسی دارد. در این مثال، این بلیط همان توکن ERC-721 ماست. این بلیط درواقع توکنی است با ویژگیهایی منحصربهفرد که چنین ارزشی برای آن ایجاد کرده است.
چنین مثالی برای توکنهای ERC-20 صدق نمیکند، زیرا توکنهای ERC-20 قابلتقسیم، خرجشدنی و قابلتعویض هستند. چنین ویژگیهایی در توکنهای ERC-721 وجود ندارند زیرا این توکنها در همه اوقات یک یونیت را شکل میدهند و از این طریق، ارزش و یکتایی آنها دستنخورده باقی میماند. در زمان این نوشتار، کلا ۱۹۴۱ توکن مختلف ERC721 ایجاد شده است.
ویژگیهای استاندارد ERC-721
این توکنها از لحاظ ساختاری شبیه توکنهای ERC-20 هستند. اساس قرارداد هوشمند توکنهای ERC-721، عملکردهایی مشابه با قرارداد هوشمند توکنهای ERC-20 دارد؛ اما بعضی از خصیصهها ممکن است باعث ایجاد تفاوتهایی بین آنها شود، از جمله موارد زیر:
۱- هر توکن ERC-721 دارای یک نام است. از این فیلد برای نشان دادن نام توکن به قراردادها و اپلیکیشنهای بیرونی استفاده میشود.
۲- این ویژگیها خصیصهای را تعریف کردهاند که به برنامههای غیرمتمرکز اجازه میدهد به یک نام کوتاه برای این توکنها دسترسی داشته باشند.
۳- این ویژگیها عرضه کل توکن را تعریف کردهاند.
۴- آنها شامل فیلدی هستند که میزان توکنها در داخل یک آدرس را نشان میدهد.
۵- هر توکن ERC-721 دارای یک فیلد تعریفشده از عملکردهای مالک است که برای تعریف مالکیت توکن و نحوه انتقال آن مورد استفاده قرار میگیرد.
۶- آنها فیلدی را با نام owners تعریف کردهاند که غیرقابلتعویض بودن توکن و شناسایی رمزنگاری آن را تضمین میکند.
۷- دارای فیلدی بهنام Approval است که به یک نهاد اجازه میدهد بهجای مالک، توکن را انتقال دهد.
۸- همچنین دارای فیلد دیگری با نام Thomas de possession هستند که این امکان را برای یک کاربر فراهم میکند که مالک تعداد معینی توکن باشد و اگر بخواهد، بتواند آنها را از موجودی یک کاربر دیگر برداشت کند.
۹- از طرف دیگر، فیلد submission یا submissions، اجازه ارسال توکنها را به کاربری دیگر میدهد و این فرآیند دقیقا همانند ارسال یک رمز ارز است. این فیلد دارای جزئیات اکانت ارسالی و دریافتی به همراه آیدی توکن مورد نظر است.
۱۰- به دلیل منحصربهفرد بودن این نوع توکن و اینکه یک کاربر میتواند مالک توکنهای مختلف ERC-721 باشد، فیلدی بهنام owner token by index ایجاد شده است. این عملکرد باعث ردیابی توکن توسط یک آیدی یکتا میشود.
۱۱- درنهایت، توکنهای ERC-721 دارای فیلدی بهنام Metadata of the token هستند. دقیقا این فیلد است که باعث ایجاد وضعیت غیرقابلخرج این توکنها میشود و جایگاه همه خواصی است که یک توکن را از توکنهای دیگر متمایز میکند.
۱۲- این توکنها براساس ساختار خود اجازهی allowance نمیدهند.
تفاوت استاندارد ERC-20 و ERC-721 چیست؟
از میان تفاوتهای این دو دسته توکن، موارد زیر مهمتر هستند:
۱- توکنهای ERC-721 برخلاف توکنهای ERC-20، غیرقابلتعویض یا به اختصار NFT هستند؛ این یعنی توکنهای ERC-721 مانند توکنهای ERC-20 نیستند و خراب یا نابود نمیشوند.
۲- تفاوت مهم دیگر در این است که برخلاف توکنهای ERC-20، توکنهای ERC-721 قابلتقسیم نیستند.
توکن ERC-721 چه کاربردی دارد؟
یکی از اولین نمونههای کاربرد این توکنها، Cryptokitties یا Decentraland است. در میان این دو نمونه، Cryptokitties مشهورتر است. برنامه غیرمتمرکز Cryptokitties نوعی بازی است که به افراد اجازه مالکیت، پرورش و تطابق شخصیتهای گربهمانند مجازی را میدهد. هر بچهگربه نماینده یک توکن ERC-721 است و دارای ویژگیهای منحصربهفردی است که آن را از دیگر بچهگربهها متمایز میکند. این بازی و شخصیتهای آن درواقع تداعیگر نوعی خوششانسی و خوشیمنی دیجیتال بر روی بلاک چین هستند. علاوه بر این، Cryptokitties به کاربران اجازه میدهد که اقدامات دیگری نیز انجام دهند که از جمله برجستهترین آنها جمعآوری و جستجوی گربههایی است که حتی دارای ویژگیهای خاصتری هستند.
پیشنهاد مطالعه: با کریپتوکیتیز و نحوه خرید آنها آشنا شوید (CryptoKitties)
بنابراین Cryptokitties شما را تبدیل به یک جمعآوریکننده گربههای مجازی میکند که ارزش این گربهها بر اساس کمیابی آنهاست. پس عجیب نیست ببینیم افرادی که در این بازی شرکت میکنند، خزندههای دیجیتال خود را درعوض پول قابل توجهای مبادله کنند. شاید Cryptokitties Genesis Cat عالیترین نمونه در این ارتباط باشد که در ۲ دسامبر سال ۲۰۱۷ با قیمت ۲۴۷ اتریوم فروخته شد.
مورد مشابهی برای Decentraland نیز روی داد. Decentraland نیز نوعی بازی است که در آن کاربران میتوانند زمین مجازی برای ساختوساز دریافت کنند. در اینجا نیز موقعیتهایی پیش آمده که در آن یک محوطه با قیمت ۹۰۰۰ دلار به حراج گذاشته شده است. البته توکنهای ERC 721 قابلیتهای دیگری بهجز بازی نیز دارند؛ مثلا میتوان با استفاده از آنها مالکیت چیزهای واقعیِ زندگی مانند خانه، زمین، و وسیله نقلیه را بهصورت رمزنگاریشده تامین امنیت کرد. از توکنهای ۷۲۱ میتوان برای دادن مالکیت به افراد نیز استفاده کرد. اگر چیزی که قصد توکنیزه کردن آن را دارید، از همه جنبهها منحصربهفرد باشد، استاندارد ERC 721 کاملا به شما در این راه کمک خواهد کرد و اجازه خواهد داد آن را در داخل بلاک چین اتریوم تبدیل به توکن کنید.
پیشنهاد مطالعه: دیسنترالند (Decentraland) چیست؟ آشنایی با ارز مانا (MANA)
چگونه یک توکن ERC-721 بسازیم؟
مقالهای که در ادامه میآید اطلاعات مفیدی را در خصوص استاندارد ERC-721 و ساخت توکن ERC-721 در اختیار شما قرار میدهد. چنانچه فایل PDF در این صفحه باز نشد لطفا صفحه را Refresh کنید.
برای خوانایی بهتر پیشنهاد می شود فایل پی دی اف را دانلود کرده و آن را در برنامه هایی مانند Adobe reader باز کنید.