EN
→ بازگشت به خبرخوان
شمارهٔ ۰۲۴۰Internet Computer۲ دقیقه۳ منبع

موتوکو یک دروازهٔ ارتقا اضافه می‌کند: تغییرات نسخهٔ ۱.۱۲ برای ماندگاری کانتینرها

نسخهٔ ۱.۱۲ موتوکو یک خط مبنای وضعیت پایدار را به بررسی ارتقا اضافه می‌کند و به توسعه‌دهندگان ICP امکان می‌دهد ناسازگاری‌های ماندگاری را پیش از استقرار نسخهٔ جدید کانتینر شناسایی کنند.

اشتراک‌گذاری
رایانه اینترنتی (ICP)
موتوکو یک دروازهٔ ارتقا اضافه می‌کند: تغییرات نسخهٔ ۱.۱۲ برای ماندگاری کانتینرها
تصویر: تولید هوش مصنوعی

موتوکو نسخهٔ ۱.۱۲ که در ۳۰ ژوئیه منتشر شد، یک سازوکار ایمنی متمرکز برای ارتقای کانتینرها اضافه می‌کند: --stable-baseline <file.most>. این قابلیت برای کار همراه با enhanced migration طراحی شده و نمای ثبت‌شده‌ای از وضعیت قبلی اکتور را در اختیار کامپایلر می‌گذارد تا برنامهٔ جدید با آن مقایسه شود.

اهمیت موضوع در این است که خطاهای ماندگاری با خطاهای معمول کامپایل تفاوت دارند. یک کانتینر موتوکو ممکن است با موفقیت کامپایل شود، اما ارتقای بعدی آن همچنان فیلد یا شکل نوعی را انتظار داشته باشد که با وضعیت ذخیره‌شدهٔ اکتور در حال اجرا سازگار نیست. یادداشت انتشار نسخهٔ ۱.۱۲ می‌گوید خط مبنا می‌تواند موارد نامشخصِ «اکتور اولیه به فیلد نیاز دارد» را به خطای M0267 تبدیل کند. اگر نوع موجود در خط مبنا همچنان زیرنوع پایدار نوع موردنیاز باشد، کامپایلر تشخیص را در سطح هشدار M0254 نگه می‌دارد.

این انتشار خط مبنا را به مسیر بررسی عادی نیز متصل می‌کند. با استفاده از --stable-baseline، دستور moc --check همان بررسی ارتقایی مرتبط با --stable-compatible را انجام می‌دهد؛ بنابراین ابزارها می‌توانند در یک اجرا هم کد را بررسی نوعی کنند و هم ایمنی ارتقا را ارزیابی کنند. این تغییر عملی است: سازگاری ماندگاری می‌تواند به مرحله‌ای تکرارپذیر در ساخت یا بازبینی تبدیل شود، نه فرضی که پس از استقرار آزموده شود.

این قابلیت با مدل گسترده‌تر enhanced orthogonal persistence در موتوکو هم‌راستا است. مستندات توسعه‌دهندگان ICP این مدل را حفظ حافظهٔ اصلی کانتینر هنگام ارتقا، گسترش heap به ۶۴ بیت و بررسی سازگاری ساختار حافظهٔ برنامهٔ جدید با نسخهٔ قبلی توصیف می‌کند. در نتیجه، مدل برنامه‌نویسی مستقیم‌تری در اختیار توسعه‌دهنده قرار می‌گیرد، اما مرز ارتقا همچنان به اعتبارسنجی صریح نیاز دارد.

یک روند منطقی این است که خط مبنای .most نماینده‌ای از وضعیت را نگه دارید، فرمان بررسی کامپایلر را در CI اجرا کنید و خطاهای تازه را به‌عنوان کار مهاجرتی پیگیری کنید، نه اینکه آن‌ها را نادیده بگیرید. تیم‌ها باید ارتقاهای واقعی را نیز آزمایش کنند و مسیر بازیابی داشته باشند. مستندات صراحتاً آزمایش کامل ارتقا و داشتن امکان پشتیبان‌گیری، مانند فراخوانی‌های خواندنی با دسترسی controller، را حتی در صورت فعال بودن ماندگاری پیشرفته توصیه می‌کند.

محدودیت مهم در خود انتشار نیز ذکر شده است: --stable-baseline برای تبدیل‌های legacy به enhanced migration یک نمونهٔ اولیه توصیف شده است. این قابلیت ابزار کمکی برای راستی‌آزمایی است، نه تضمینی برای موفقیت هر ارتقا. ارزش فوری آن برای سازندگان ICP محدود اما ملموس است: قرارداد وضعیت ذخیره‌شده را پیش از رسیدن ارتقای کانتینر به محیط تولید برای کامپایلر قابل مشاهده می‌کند.

برچسب‌هاInternet ComputerICPMotokocanisters
منابع مستند۳ مرجع
  1. [۰۱]Motoko compiler changelogdocs.internetcomputer.org
  2. [۰۲]Motoko 1.12.0 releasegithub.com
  3. [۰۳]Enhanced orthogonal persistence | ICP Developer Docsdocs.internetcomputer.org
خواندنی بعدی

خبرخوان را در ایمیل بگیرید

هر سیگنال تازه، مستقیم از خط تولید. بدون مزاحمت، لغو عضویت در هر زمان.

خوراک RSS در دسترس · بدون هرزنامه