این مجموعه از رابط ها به یک قرارداد هوشمند اجازه می دهد تا یک تصویر SVG را در اتریوم ذخیره کند و یک تصویر SVG را از Ethereum برای نشانه های قارچ ، نشانه های غیرقانونی و نشانه ها بر اساس استانداردهایی که در آینده تهیه می شود ، بازیابی کند.
مجموعه رابط دارای دو رابط است: یکی برای ذخیره یک فایل SVG در اتریوم و دیگری برای بازیابی یک فایل SVG از Ethereum.
برنامه های معمولی شامل: اما محدود به:
- یک راه حل برای ذخیره نماد توکن قارچ.
- یک راه حل برای ذخیره سازی نماد توکن غیرقانونی.
- راه حلی برای ذخیره سازی نماد/آرم نشانه شهرت DAO.
انگیزه
استاندارد توکن ERC-721 یک استاندارد محبوب برای تعریف یک نشانه غیر قابل تغییر در اتریوم است. این استاندارد به طور گسترده ای برای مشخص کردن هدیه رمزنگاری ، مدال رمزنگاری ، کلکسیون Crypto و غیره استفاده می شود. مشهورترین مورد استفاده Cryptokitty است.
در بیشتر این برنامه ها ، یک تصویر به یک نشانه ERC-721 وصل شده است. به عنوان مثال ، در مورد cryptokitty هر بچه گربه تصویری منحصر به فرد دارد. در حالی که کد توکن به طور دائم در اتریوم ذخیره می شود ، تصویر متصل به توکن نیست.
راه حل های موجود هنوز به جای اتریوم ، چنین تصویری را در یک سرور متمرکز نگه می دارد. هنگامی که این برنامه ها تصویری را برای یک نشانه نشان می دهند ، اطلاعات توکن را از Ethereum بازیابی می کنند و با استفاده از اطلاعات Token ، سرور متمرکز را برای تصویر مرتبط با نشانه جستجو می کنند.
اگرچه این یک روش کاربردی برای نمایش تصویر برای یک نشانه است ، اما تصویر هنوز در برابر خطرات آسیب دیده یا از بین رفتن در هنگام ذخیره در یک سرور متمرکز آسیب پذیر است.
از این رو ما مجموعه ای از رابط ها را برای ذخیره تصویری برای یک نشانه جهانی در اتریوم پیشنهاد می کنیم تا تصویر دائمی و مقاوم در برابر دستکاری نگه داشته شود و یک تصویر را برای یک نشانه جهانی از اتریوم بازیابی کند.
مشخصات
یک قرارداد سازگار با EIP-2569 باید یک روش با امضای GetTokenimagesvg (UINT256) بازده (حافظه رشته) و روشی با امضا settokenimagesvg (uint256 tokenid ، string memory sicesVG) داخلی داشته باشد.
این روش ها تعریف می کنند که چگونه یک قرارداد هوشمند یک تصویر را برای یک نشانه جهانی در اتریوم ذخیره می کند که تصویر را دائمی و مقاوم در برابر دستکاری نگه می دارد ، و چگونه یک قرارداد هوشمند تصویری از Ethereum را برای یک نشانه جهانی بازیابی می کند.
با فراخوانی روش هایی که کاربران باید به یک تصویر SVG دسترسی پیدا کنند.
- GetTokenImagesVG (UINT256 TokenId) بازده خارجی (حافظه رشته): برای یک نشانه ERC-721 یا ERC-1155 یا نشانه ای که توسط یک قرارداد اجرا شده است که دارای یک "شناسه" عضو برای مشخص کردن نوع نشانه یا شاخص توکن ما است. با استفاده از شماره شناسه توکن ، یک تصویر SVG دریافت کنید. برای یک نشانه ERC-20 یا نشانه ای که توسط یک قرارداد اجرا شده است که یک "شناسه" عضو برای مشخص کردن نوع نشانه یا شاخص توکن آن وجود ندارد ، ما یک رابط را برای دریافت یک تصویر SVG برای آن تعریف می کنیم اگر توکن دارای یک متغیر متغیر باشد. برای ذخیره تصویر
این پارامتر زیر دارد:
TokenId: برای یک نشانه غیر قابل تغییر مانند یک نشانه ERC-721 یا یک توکن چند نفره مانند یک توکن ERC-1155 که دارای یک "شناسه" عضو برای مشخص کردن نوع توکن یا فهرست نشانه های پیشنهادی ما است ، یک فایل تصویر SVG را اختصاص می دهدمحتوا به متغیر رشته ای از قرارداد توکن و تصویر SVG را به این شماره "شناسه" مرتبط می کند. از این شناسه منحصر به فرد برای دسترسی به تصویر SVG خود در هر دو عمل "مجموعه" و یک عمل "دریافت" استفاده می شود. برای یک نشانه قارچ مانند یک نشانه ERC-20 چنین شناسه ای لازم نیست و رابط پیشنهادی ما فقط محتوای فایل تصویر SVG را به متغیر رشته ای از قرارداد توکن اختصاص می دهد.
- SetTokenImagesVG (Uint256 TokenId ، String Memory ImagesVG) داخلی: برای یک نشانه ERC-721 یا ERC-1155 یا نشانه ای که توسط یک قرارداد اجرا شده است که دارای یک عضو "شناسه" برای مشخص کردن نوع توکن یا شاخص توکن خود است ، ما یک رابط را برای همبستگی تعریف می کنیمتصویر SVG به شماره شناسه توکن. برای یک نشانه ERC-20 یا نشانه ای که توسط یک قرارداد اجرا شده است که یک "شناسه" عضو ندارد تا نوع نشانه یا شاخص توکن خود را مشخص کند ، ما یک رابط را برای اختصاص یک تصویر SVG به یک متغیر عضو از قرارداد این توکن تعریف می کنیم.
این دو پارامتر زیر دارد:
TokenId: برای یک نشانه غیر قابل تغییر مانند یک نشانه ERC-721 یا یک توکن چند نفره مانند یک توکن ERC-1155 که دارای یک "شناسه" عضو برای مشخص کردن نوع توکن یا فهرست نشانه های پیشنهادی ما است ، یک فایل تصویر SVG را اختصاص می دهدمحتوا به متغیر رشته ای از قرارداد توکن و تصویر SVG را به این شماره "شناسه" مرتبط می کند. از این شناسه منحصر به فرد برای دسترسی به تصویر SVG خود در هر دو عمل "مجموعه" و یک عمل "دریافت" استفاده می شود. برای یک نشانه قارچ مانند یک نشانه ERC-20 چنین شناسه ای لازم نیست و رابط پیشنهادی ما فقط محتوای فایل تصویر SVG را به متغیر رشته ای از قرارداد توکن اختصاص می دهد.
ImagesVG: ما از یک متغیر رشته برای ذخیره محتوای فایل تصویر SVG استفاده می کنیم. یک تصویر SVG که در رشته ImagesVG ذخیره می شود ، باید حداقل دو ویژگی را شامل شود: "نام" ، "DESC" (توضیحات).
روش ذخیره یک تصویر برای یک نشانه در اتریوم به شرح زیر است:
مرحله 1: برای نگه داشتن یک تصویر یا آرایه ای از تصاویر ، یک متغیر رشته یا آرایه ای از رشته ها را تعریف کنید.
مرحله 2: یک تابع را برای تنظیم محتوای فایل تصویر (SVG) یا آرایه ای از محتوای پرونده تصویر به متغیر رشته یا آرایه رشته ها تعریف کنید.
مرحله 1: برای یک نشانه مانند یک نشانه ERC-721 یا ERC-1155 که دارای یک متغیر عضو "شناسه" برای مشخص کردن نوع یا شاخص توکن و یک رشته متغیر عضو برای نگه داشتن یک تصویر (SVG) مرتبط با "ID" است.، با فراخوانی رابط "دریافت" ما با شناسه توکن ، تصویر (SVG) را از Ethereum بازیابی کنید. برای نشانه ای که دارای یک متغیر عضو "شناسه" برای مشخص کردن نوع شاخص است اما دارای یک رشته متغیر عضو برای نگه داشتن یک تصویر (SVG) است ، با فراخوانی "دریافت" پیشنهادی ما ، تصویر (SVG) را از Ethereum بازیابی کنید. بدون "شناسه"
بنیاد و پایه
پس از ایجاد بیت کوین ، مردم با رمزگذاری پیام های متنی که می خواهند به طور دائم و مقاوم در برابر دستکاری در معاملات blockchain حفظ کنند ، راه هایی برای حفظ اطلاعات دائمی و مقاوم در برابر دستکاری پیدا کرده اند. با این حال برنامه های موجود فقط این کار را برای اطلاعات متنی انجام می دهند و هیچ راه حلی برای نگه داشتن یک تصویر دائمی و مقاوم در برابر دستکاری وجود ندارد.
یکی از مهمترین دلایل عدم انجام این کار این است که به طور کلی اندازه یک تصویر بسیار بزرگتر از اندازه یک فایل متنی است ، بنابراین گاز مورد نیاز برای ذخیره یک تصویر در اتریوم از حد گاز بلوک فراتر می رود.
با این حال ، این تغییر زیادی پس از مشخصات SVG (گرافیک وکتور مقیاس پذیر) توسط W3C از سال 1999 ایجاد شد.
مشخصات SVG چندین مزیت (برای اطلاعات بیشتر در مورد مزایا را ارائه می دهد ، لطفاً به لینک مرجع مراجعه کنید: https: //en. wikipedia. org/wiki/scalable_veector_graphics) بر روی تصاویر شطرنج. یکی از این مزایا اندازه پرونده جمع و جور آن است.
"اندازه پرونده جمع و جور-تصاویر مبتنی بر پیکسل از همان ابتدا در اندازه بزرگ ذخیره می شوند زیرا فقط می توانید کیفیت را در هنگام کوچکتر کردن تصویر حفظ کنید ، اما نه وقتی که آن را بزرگتر کنید. این می تواند بر سرعت بارگیری یک سایت تأثیر بگذارد. از آنجا که SVG ها مقیاس پذیر هستند ، می توانند با حداقل اندازه پرونده ذخیره شوند. "
این ویژگی به خوبی نقطه درد ذخیره یک فایل تصویری در اتریوم را برطرف می کند ، بنابراین ما فکر می کنیم صرفه جویی در تصویر SVG در اتریوم یک راه حل مناسب برای نگه داشتن تصویر دائمی و مقاوم در برابر دستکاری است.
در بیشتر DAPP های مربوط به ERC-721 ، آنها تصویری را برای یک نشانه غیر قابل تغییر نشان می دهند. در بیشتر DAPP های مربوط به ERC-20 ، آنها تصویری برای یک نشانه قارچ ندارند. ما فکر می کنیم نمایش یک تصویر برای یک نشانه یا بر اساس استانداردهای موجود توکن مانند ERC-20 ، ERC-721 ، ERC-1155 یا بر اساس استانداردهای آینده در بسیاری از موارد استفاده مورد نیاز است. بنابراین آن دسته از DAPP هایی که در حال حاضر تصویری برای یک نشانه نشان نمی دهند ، در نهایت به چنین عملکردی احتیاج دارند.
با این حال با توجه به بیشتر DAPP های موجود که می توانند تصویری را برای نشانه ای نشان دهند ، چنین تصویری را در یک سرور متمرکز ذخیره می کنند که فکر می کنیم ، فقط یک راه حل به خطر افتاده است. با استفاده از مشخصات SVG ، فکر می کنیم تبدیل تصویر یک توکن به یک تصویر SVG و ذخیره آن در Ethereum راه حل بهتری برای DAPP ها برای دسترسی به یک تصویر برای یک نشانه فراهم می کند.
این راه حل نه تنها برای نشانه های مبتنی بر ERC-721 ، ERC-1155 و ERC-20 کار می کند بلکه براساس استانداردهای آینده برای نشانه ها کار خواهد کرد.
سازگاری به عقب
هیچ مسئله سازگاری عقب مانده وجود ندارد.
اجرای مرجع
TokenId: یک شاخص توکن در یک توکن ERC-721 یا نوع/شاخص توکن در یک نشانه ERC-1155. این یک متغیر uint256 است.
ImagesVG: محتوای پرونده یک تصویر SVG. این یک متغیر رشته است. توجه: تصویر SVG باید حداقل سه ویژگی را شامل شود: "نام" ، "توضیحات" و "صادرکننده".
SetTokenImagesVG: رابط برای تنظیم یک تصویر SVG روی یک نشانه با یا بدون شماره شناسه.
GetTokenImagesVG: رابط برای دریافت یک تصویر SVG برای یک نشانه با شماره شناسه یا بدون شماره شناسه.
ما پیشنهاد می کنیم سه پرونده SOL را در اجرای ERC-721 موجود اضافه کنیم. در اینجا جزئیات پرونده های SOL پیشنهادی آورده شده است.
کپی رایت
حق چاپ و حقوق مربوطه از طریق CC0 از بین رفت.
استناد
لطفاً این سند را به این صورت ذکر کنید:
Hua Zhang ، Yuefei Tan ، Derek Zhou ، Ran Xing ، "EIP-2569: صرفه جویی و نمایش تصویر برای نشانه های جهانی [پیش نویس] ،" پیشنهادات بهبود اتریوم ، نه. 2569 ، مارس 2020. [سریال آنلاین]. موجود: https://eips. ethereum. org/eips/eip-2569.
پیشنهادات بهبود اتریوم
پیشنهادات بهبود اتریوم (EIPs) استانداردهای مربوط به بستر اتریوم ، از جمله مشخصات پروتکل اصلی ، API های مشتری و استانداردهای قرارداد را توصیف می کند.
آموزش تحلیل گری...
ما را در سایت آموزش تحلیل گری دنبال می کنید
برچسب :
نویسنده : ملیکا زارعی
بازدید : 33
تاريخ : پنجشنبه
14 ارديبهشت
1402 ساعت: 20:26