Motoko 1.13 فایلهای محلی Candid را به مرز نوعامن ICP تبدیل میکند
نسخه 1.13.0 موتوکو سازوکار import با پیشوند `idl:` را اضافه کرده است تا توسعهدهندگان بتوانند نوع سرویس و انواع نامگذاریشده را مستقیماً از فایلهای محلی Candid دریافت کنند؛ بدون نیاز به واردکردن دستی principal یا پرچم actor-IDL.

آخرین نسخه موتوکو محل تعریف رابطهای برنامههای Internet Computer را تغییر میدهد. نسخه 1.13.0 که در 3 اوت 2026 منتشر شد، سازوکار URI با پیشوند idl: را برای واردکردن فایل محلی Candid بهعنوان یک ماژول فقطنوع اضافه میکند.
اکنون یک پروژه میتواند بنویسد: import S "idl:foo.did". ماژول واردشده، S.Self را برای نوع actor سرویس و همچنین انواع نامگذاریشده Candid در اختیار میگذارد. وقتی نامی ابهام نداشته باشد، موتوکو آن را به قالب PascalCase تبدیل میکند؛ برای نمونه، user_id به S.UserId تبدیل میشود. یادداشت انتشار همچنین میگوید این مسیر به principal یا پرچم --actor-idl نیاز ندارد.
تغییر عملی کوچک اما مهم است: یک فایل محلی .did میتواند منبع حقیقت برای نوعهای رابط در زمان کامپایل باشد، درحالیکه پیادهسازی در موتوکو باقی میماند. این قابلیت میتواند اعلانهای تکراری نوع را در مخزنهای چندکانستری کاهش دهد و بررسی تغییرات رابط را مانند تغییرات عادی فایلهای تحت کنترل نسخه سادهتر کند. این یک پیامد مهندسیِ سازوکار جدید import است، نه ادعایی مبنی بر حذف بررسی سازگاری در زمان اجرا.
این قابلیت زمانی اهمیت بیشتری دارد که یک کانستر سرویس دیگری را مصرف کند و تعریف رابط آن سرویس در مخزن موجود باشد. توسعهدهنده بهجای تبدیل دستی تعریف Candid به نوعهای موتوکو، میتواند فایل را import کند و به نوع سرویس تولیدشده ارجاع دهد. در نتیجه، کامپایلر میتواند ناسازگاریها را در مرحله کامپایل آشکار کند و همه خطاهای رابط به زمان استقرار یا آزمون یکپارچهسازی موکول نشوند.
Motoko 1.13.0 همچنین تولید کد WebAssembly چندمقداری را دائماً فعال میکند. گزینههای قدیمی --experimental-multi-value و --no-experimental-multi-value فقط برای سازگاری خط فرمان باقی ماندهاند و دیگر رفتار کامپایلر را تغییر نمیدهند. برای سازندگان، پیام اصلی یک API جدید برنامهنویسی نیست؛ بلکه مرزی منسجمتر میان فایلهای رابط Candid، بررسی نوع موتوکو و زنجیره ابزار WebAssembly است.
این انتشار برای تیمهای ICP که کدبیسهای بزرگتری نگهداری میکنند، نشانهای کاربردی دارد: مصرف مستقیم مصنوعات رابط آسانتر میشود و در عین حال پرچمهای قدیمی کامپایلر بهتدریج کنار گذاشته میشوند. تیمها باید پیش از ارتقا، اسکریپتهای build را از نظر وابستگی به رفتار پرچمهای حذفشده آزمایش کنند و نوعهای importشده یا تولیدشده را پیش از ارتقای کانسترهای production بازبینی کنند.
خبرخوان را در ایمیل بگیرید
هر سیگنال تازه، مستقیم از خط تولید. بدون مزاحمت، لغو عضویت در هر زمان.


