AlgoKit Lora 2.4.0-beta دادههای متا از یک رجیستری درون زنجیرهای از طریق ARC-89 را استخراج میکند.
جایی که هویت یک دارایی واقعاً وجود دارد
الگوراند استاندارد اسست (ASA) — مکانیزم لایه ۱ که به هر کسی امکان میدهد توکن صادر کند، از یک استیبل کوین گرفته تا یک NFT — تنها ضروریات را در دفترکل ثبت میکند: یک نام، یک نام واحد، یک عرضه کل، اعشار و یک URL. هر چیزی که یک توکن را برای یک خریدار یا یک اپلیکیشن قابل خواندن کند، مانند تصویر، توضیحات و دادههای ویژگی، هیچگاه در زنجیره بلاک به صورت اختصاصی وجود نداشته است. لورا، اکسپلورر تصویری که همراه با ابزار توسعهدهنده الگو کیت عرضه میشود، با درهمبافتن هر استاندارد متادادهای که پیدا کرده، این شکاف را پر کرده است.
این وضعیت در آوریل تغییر کرد. نسخه ۲.۴.۰-beta.۱ لورا که در ۱۴ آوریل ۲۰۲۶ منتشر شد، قادر است متادیتای یک دارایی را مستقیماً از رجیستریای که درون خود دفترکل الگوراند قرار دارد، بخواند. لاگ تغییرات این نسخه تنها یک خط دارد — «support arc-89» — اما این تغییر ساختاری است: به جای دریافت توضیحات یک دارایی از یک میزبان فایل یا شاخص جستجو، اکسپلورر اکنون آن را از زنجیره میخواند.
سه نسل از متادیتای خارج از زنجیره
ASAs با یک مجموعه پارامترِ عمدتاً محدود طراحی شده بودند و بقیهٔ کار را باید اکوسیستم انجام میداد. در «مشخصات ARC-89» specification به روشنی توضیح داده شده که چه اتفاقاتی پیش از این رخ داده بود: نبود یک مخزن متادادهٔ بومی، اکوسیستم را به سمت اتخاذ «راهکارهای کمتر از ایدهآل» سوق داد، از جمله «هک کردن نقشهای RBAC ASA برای دسترسی به تغییرپذیری متادادهٔ داراییها».
رویکرد | مفهوم | کاربرد در دنیای واقعی |
| [ARC-3](/glossary/arc-3 "یک استاندارد فنی برای تعریف توکنهای غیرقابل تعویض در بلاکچین الگوراند، که نحوه ذخیره دادههای متادیتا مانند نام دارایی، تصویر و پیوندهای صوتی را مشخص میکند") | یک فایل متادیتا JSON در [IPFS](/glossary/ipfs "یک سیستم ذخیره فایل غیرمتمرکز که دادهها در آن در چندین کامپیوتر ذخیره میشود و در برابر سانسور یا از دست رفتن مقاوم است. NFTها اغلب از IPFS استفاده میکنند")، که با فیلد URL دارایی اشاره میشود | هر بار که صفحهدارایی بارگذاری میشود، یک درخواست خارجی انجام میشود؛ یک دروازه مرده، دارایی را ناشناس میگذارد |
| [ARC-19](/glossary/arc-19 "یک استاندارد برای توکنهای غیرقابل تعویض در الگوراند که متادیتا در آن خارج از زنجیره (معمولاً در IPFS) ذخیره میشود و با استفاده از یک الگوی از فیلد URL دارایی به آن اشاره میشود، به طوری که توکنها میتوانند در هر بازاری که از آن پشتیبانی میکند معامله شوند") | همان اشارهگر IPFS، که با پیکربندی مجدد آدرس Reserve دارایی قابل اشاره مجدد است | بهروزرسانیها مؤثر هستند، اما تاریخچه متادیتا در زنجیرهای از تراکنشهای پیکربندی پراکنده میشود |
| [ARC-69](/glossary/arc-69 "یک استاندارد برای نحوه ذخیره متادیتا در توکنهای الگوراند، که امکان قرار دادن ویژگیها درون زنجیره را فراهم میکند تا توکنها بتوانند در هر بازاری که از آن پشتیبانی میکند معامله شوند") | یک یادداشت JSON در تراکنش پیکربندی دارایی | تنها از طریق یک ایندکسر قابل کشف است — یک سرویس جداگانه که تاریخچه زنجیره را فهرست میکند؛ بهروزرسانی به معنای یک تراکنش دیگر است |
ARC-89 | ذخیره در باکس، یک وضعیت کلید-ارزش درون زنجیرهای که متعلق به یک حساب هوشمند است، درون یک اپلیکیشن رجیستری | یک مشتری با یک درخواست به یک گره، رکورد کامل و قابل تأیید با هش را دریافت میکند؛ بدون میزبانی فایل، بدون ایندکسر |
هر نسل یک مشکل را حل کرد و دیگری را ایجاد کرد و هر مصرفکنندهای از دادههای دارایی — یک کیف پول، یک بازار، یک داشبورد تحلیلی — از این معامله متضرر شد. ARC-89 که به صراحت جایگزین ARC-19 و ARC-69 است، تلاش برای پایان دادن به زنجیرهحلهای موقت با تبدیل زنجیرهبه منبع اصلی حقیقت است.
ARC-89: یک رجیستری درون زنجیره
این استاندارد یک اپلیکیشن سینگلتون را تعریف میکند — یک قرارداد هوشمند که یک بار پیادهسازی میشود — که باکسهای آن هر دارایی را با یک رکورد نگه میدهد که با شناسه هشتبایتی آن دارایی کلید میشود. یک هدر ثابت ۵۱ بایت، پرچمهای برگشتپذیر و برگشتناپذیر را همراه با یک هش متاداده که محتوای رکورد را پیوند میدهد، حمل میکند و محتوای طولانیتر به صورت صفحهبندی شده است تا محدودیتهای اندازه بازگشت پروتکل رعایت شود. خواندنها از طریق algod، API گره یا مستقیماً از داخل سایر قراردادهای هوشمند در حال اجرا بر روی AVM، ماشین مجازی قرارداد هوشمند Algorand انجام میشود — بنابراین یک قرارداد میتواند در همان تراکنش که دارایی را معامله میکند، متاداده آن را دریافت و تأیید کند.
ARC در ۲۲ سپتامبر ۲۰۲۵ پیشنهاد شد و توسط بنیاد الگوراند حمایت میشود. رجیستری تستنت در اپلیکیشن ۷۵۳۳۲۴۰۸۴ فعال است؛ حساب کاربری سازنده آن از آن زمان ۴۹ اپلیکیشن آزمایشی ساخته و تا اوایل ماه مه ۲۰۲۶ همچنان در حال پاسخ دادن به درخواستهای اپلیکیشن بود. استقرار MainNet در هر دو جایگاه مهم به پایان نرسیده است: جدول استقرار رجیستری نشان میدهد «TBD» و پیکربندی شبکه لورا تستنت را به اپلیکیشن زنده متصل میکند در حالی که MainNet و LocalNet را بدون تعریف باقی میگذارد.
واقعاً لورا بتا چه چیزی را تغییر داد
لورا — که در مرورگر به آدرس lora.algokit.io یا از طریق فرمان «algokit explore» قابل دسترسی است — لایه تصویری زنجیره ابزارهای آلگوکیت است که در کنار یک ابزار ساخت تراکنش تصویری، یک آزمایشگاه استقرار اپلیکیشن و یک شیر آب تستنِت قرار دارد. گذرگاه کد آن منبع باز است و کار ARC-89 از طریق درخواست ادغام #582 انجام شد که نویسنده آن، پاتریک دین، آن را «درخواست ادغامِ خالی برای راهاندازی نسخهٔ جدید» توصیف کرد. یک نسخه بتا بعدی، v2.4.0-beta.2، در ماه مه عرضه شد.
خود لایه داده فشرده است. یک تابع fetchArc89Metadata() از asa-metadata-registry-sdk بنیاد، جعبه دارایی را از رجیستری درخواست میکند و در صورت عدم وجود جعبه، هیچ نتیجهای برنمیگرداند — در این صورت، صفحه دارایی به هر رکورد ARC-3، ARC-19 یا ARC-69 که هنوز بتواند پیدا کند، بازمیگردد، بنابراین نمایشهای موجود همچنان کار میکنند. این مخزن همچنین یک ماژول اختصاصی arc89-migrate را در خود دارد، ابزار مهاجرت که جزئیات داخلی آن در متریال بررسی شده مستند نشده است.
این که تغییر در محدودهٔ خود باقی ماند، نتیجهٔ هدف طراحی لورا در آغاز بود: سادگی عملیاتی، اجرا مستقیم بر روی algod و ایندکسر بدون بکاند سفارشی. بنابراین، منبع متادیتای جدید، فراخوانی جدیدی به یک گره است نه زیرساخت جدیدی برای اجرا. نمای زنده این نکته را به وضوح نشان میدهد — در ۷ آگوست، صفحهٔ اصلی نتورک اصلی در ۲۵ ثانیه ده بلاک جدید را نمایش داد.
یک استاندارد که هنوز در انتظار Mainnet است
برای تمام لولهکشیها، میزان پذیرش به دهها اندازه میشود. خود کتابخانهی Lora که استفاده میشود، در هفته گذشته ۱۸ بار و در ماه گذشته ۶۵ بار دانلود شده است. از نظر کاربردی، این استاندارد در هیچ جای دیگری خارج از پشتهٔ پشتیبان خود اثبات نشده است.
ویژگی طراحی اصلی نیز درعینزمان، تفاوتناپذیرترین نکته است: «پس از استقرار، ثبتنام متادیتای ASA نباید به روز شود.» قراردادی که هرگز قابل وصلهزدایی نباشد، در صورت وجود باگ در منطق آن قابل رفع نیست و پس از آن نیز قابل گسترش به فرمتهای متادیتای غنیتر نخواهد بود — تنها راهحل، استقرار کاملاً جدیدی به همراه مهاجرت از هر دارایی ثبتنام شده است. در کنار ردیف اصلیشبکه (MainNet) خالی که در بالا توضیح داده شد، همه کارهایی که یک توسعهدهنده امروزه با ARC-89 میتواند انجام دهد، در TestNet صورت میگیرد.
همچنین لازم است مشخص شود که چه کسی چه چیزی را نشان میدهد. بنیادِ حامیِ ARC همچنین توسعهدهنده را مدیریت میکند و SDK را منتشر میکند، بنابراین پشتیبانی Lora از ARC-89، یک نمونهسنجی داخلیِ سازمان برای استاندارد خود است — نه شواهد مستقلی از تقاضا. ARC در ۱ فوریه ۲۰۲۶، بررسیِ Last Call را آغاز کرد؛ تصویری که چند ماه بعد گرفته شده است هنوز آن را Last Call نشان میدهد و نتیجه آن چرخه بررسی را تایید نشده باقی میگذارد.
آنچه با دادههای زنجیرهای قابل خرید است
اگر راهاندازی MainNet انجام شود، این تفاوت در کوچکترین تعاملات نیز نمایان خواهد شد: یک کیف پول که تصویری از یک دارایی را نمایش میدهد، یا یک بازار که ویژگیها را در زمان تسویه حساب نشان میدهد. امروزه این جستجوها به یک میزبان وابسته هستند که ممکن است از بین برود. با ARC-89، همان رکورد را میتوان در یک دور رفت و برگشت به یک گره — یا درون خود تراکنش که دارایی را منتقل میکند — دریافت و تأیید کرد، و تا زمانی که زنجیره وجود دارد، بخشی از وضعیت زنجیره باقی خواهد ماند. پذیرش هنوز در حد چند ده بار دانلود در ماه است، و این میزان صادقانه نشان میدهد که استاندارد تا چه حد باید پیش برود. آنچه بتا Lora نشان میدهد این است که این مسیر از ابتدا تا انتها کار میکند، و به اکوسیستم یک پیادهسازی مرجع برای کپی کردن در زمانی که ثبتنام در نهایت به MainNet برسد، ارائه میدهد.
منبع
- [Lora — explorer اصلی شبکه] (https://lora.algokit.io)
- [ذخیرهسازی Lora در Algokit] (https://github.com/algorandfoundation/algokit-lora)
- [ARC-89: مشخصات ثبتنام دادههای ASA] (https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0089.md)
- [درخواست کشش #582: پشتیبانی از arc-89] (https://github.com/algorandfoundation/algokit-lora/pull/582)
- [Lora Explore mainnet] (https://lora.algokit.io/mainnet)
- [معرفی Algokit 3.0: عصر جدیدی برای توسعهدهندگان Algorand] (https://algorand.co/blog/introducing-algokit-3.0-a-new-era-for-algorand-developers-typescript-debugger)
- [ARCs/ARCs/arc-0089.md در main · algorandfoundation/ARCs · GitHub] (https://github.com/algorandfoundation/ARCs/tree/main/templates)
- [مرور کلی Lora | پورتال توسعهدهندگان Algorand] (https://dev.algorand.co/algokit/lora/overview/)
- [raw.githubusercontent.com] (https://raw.githubusercontent.com/algorandfoundation/ARCs/main/ARCs/arc-0089.md)
- [GitHub - awesome-algorand/awesome-algorand: ⚡یک فهرست گردآوری شده از منابع عالی مرتبط با بلاکچین Ⱥlgorand ⛓] (https://github.com/awesome-algorand/awesome-algorand)
Source: https://lora.algokit.io/mainnet/transaction/7LLFUXNQUPYVWLJK3AVFPUM3BBTF3IQ2URIHHXYM7KOZNSL2CDXQ