ICP·Devآی‌سی‌پی‌·دِو
بازگشت به مقالات
رایانه اینترنتی۳ تیر ۱۴۰۵3 دقیقه مطالعه

دفینیتی dfx را بازنشسته می‌کند: نگاهی به انقلاب توسعه‌دهندگان با ابزار جدید "icp-cli"

بنیاد دفینیتی رسماً در حال انتقال اکوسیستم توسعه‌دهندگان رایانه اینترنتی از ابزار قدیمی dfx است. با ابزار جدید icp-cli، پیکربندی YAML، محیط‌های محلی پروژه و ورود بدون دردسر با هویت اینترنتی از طریق ترمینال آشنا شوید.

نکات کلیدی

  • بنیاد دفینیتی رسماً در حال انتقال اکوسیستم توسعه‌دهندگان رایانه اینترنتی از ابزار قدیمی dfx است
  • با ابزار جدید icp-cli، پیکربندی YAML، محیط‌های محلی پروژه و ورود بدون دردسر با هویت اینترنتی از طریق ترمینال آشنا شوید
اشتراک‌گذاری
دفینیتی dfx را بازنشسته می‌کند: نگاهی به انقلاب توسعه‌دهندگان با ابزار جدید "icp-cli"

دفینیتی dfx را بازنشسته می‌کند: نگاهی به انقلاب توسعه‌دهندگان با ابزار جدید "icp-cli"

سال‌هاست که ابزار خط فرمان dfx ستون فقرات بی‌چون‌وچرای جریان کار توسعه‌دهندگان در رایانه اینترنتی (ICP) بوده است. اما در یک تغییر پارادایم بزرگ، بنیاد دفینیتی رسماً در حال آغاز عصری جدید است. دفینیتی نسخه v0.3.0 از icp-cli را منتشر کرده است؛ آخرین نقطه عطف بتا پیش از انتشار رسمی نسخه v1.0 که نشان‌دهنده بازنشستگی ابزار قدیمی dfx است.

icp-cli صرفاً یک تغییر نام ساده نیست، بلکه یک بازسازی ساختاری از پایه است که برای رفع مشکلات دیرینه توسعه‌دهندگان، تضمین ساخت‌های تکرارپذیر و بهبود چشمگیر تجربه توسعه‌دهنده (DX) در سطح ترمینال طراحی شده است.

خداحافظ JSON، سلام YAML و "دستورالعمل‌های" ساخت

اولین تغییر بزرگی که توسعه‌دهندگان متوجه آن خواهند شد، انتقال از JSON به YAML است. فایل‌های پیکربندی پروژه اکنون در icp.yaml قرار دارند. از آن مهم‌تر، icp-cli ابزار CLI را با استفاده از یک سیستم پیمانه‌ای دستورالعمل (recipe)، از کامپایلرها یا محیط‌های زمان اجرای زبان‌های برنامه‌نویسی خاص مستقل می‌کند.

در گذشته، به‌روزرسانی dfx فرآیند حساسی بود زیرا محیط‌های ساختِ سفت‌وسخت و یکپارچه‌ای را درون خود داشت. با icp-cli، ساخت باینری‌های وب‌اسمبلی (WASM) مستقیماً به زنجیره ابزارهای زیرین واگذار می‌شود. دستورالعمل‌های پین‌شده و قابل استفاده مجدد (مانند @dfinity/rust یا @dfinity/motoko) تضمین می‌کنند که فرآیند ساخت کاملاً تکرارپذیر باقی بماند.

به‌روزرسانی v0.3.0 این جداسازی را با پلاگین‌های همگام‌سازی (sync plugins) فراتر برده است. کانیسترهای دارایی (Asset canisters) — که پیش از این مستقیماً در باینری CLI تعبیه شده بودند — اکنون از طریق یک پلاگین ایزوله‌شده (sandboxed) از نوع WASM همگام‌سازی می‌شوند. این امر تضمین می‌کند که ابزار CLI هرگز به دلیل پیکربندی‌های قدیمی دارایی‌ها دچار کندی نشود.

محیط‌های منطقی در برابر شبکه‌های محلی پروژه

استقرار کد در رایانه اینترنتی نیز دستخوش یک ارتقای مفهومی عظیم شده است:

  • محیط‌های منطقی (Logical Environments): توسعه‌دهندگان اکنون به جای استفاده از --network ic، از پرچم -e یا --environment استفاده می‌کنند (مثلاً icp deploy -e ic). این کار آدرس‌های اینترنتی سخت‌کد شده شبکه را از منطق کانیستر جدا می‌کند و به توسعه‌دهندگان اجازه می‌دهد تا چندین محیط مجزا (مانند استیجینگ و پروداکشن) را روی یک شبکه فیزیکی زیربنایی هدف قرار دهند.
  • شبکه‌های محلی پروژه (Project-Local Networks): برعکس dfx که یک شبکه سراسری مشترک را در پس‌زمینه اجرا می‌کرد، icp-cli یک شبکه ایزوله برای هر پروژه را با استفاده از یک پوسته سبک PocketIC اجرا می‌کند. اجرای دستور icp network start -d یک محیط ایزوله محلی برای پروژه راه‌اندازی می‌کند که از قبل با کانیسترهای سیستمی، ICP آزمایشی و سایکل‌ها (cycles) آماده‌سازی شده است.

A sleek conceptual diagram showing a project direc...

ورود به هویت اینترنتی به‌صورت بومی در ترمینال

شاید هیجان‌انگیزترین پیشرفت برای کارهای روزمره، امکان ورود به سیستم در سطح ترمینال با هویت اینترنتی (Internet Identity) باشد. توسعه‌دهندگان اکنون می‌توانند به صورت برنامه‌نویسی، یک هویت مبتنی بر وب را به نشست CLI خود متصل کنند. شناسه (principal) ترمینال شما کاملاً با شناسه ایجادشده در فرانت‌اند وب مطابقت خواهد داشت و دردسر ساخت دستی و تایید کلیدهای توسعه‌دهنده مجزا را از بین می‌برد.

علاوه بر این، icp-cli ویژگی دامنه‌های محلی کاربرپسند (Friendly Local Domains) را معرفی می‌کند (دیگر نیازی به کپی و پیست کردن شناسه‌های طولانی و مبهم کانیسترها در مرورگر نیست) و همچنین ابزار دستیار کندید (Candid Assist) که راهنمایی‌های تعاملی و تکمیل خودکار را در ترمینال برای نوشتن فراخوانی‌های پیچیده کانیستر ارائه می‌دهد.

نحوه ارتقا

مجموعه ابزار جدید به صورت جهانی در دسترس است. شما می‌توانید ابزارهای اصلی را از طریق npm نصب کنید:

bash
npm install -g @icp-sdk/icp-cli @icp-sdk/ic-wasm

یا در سیستم‌عامل‌های macOS و لینوکس با استفاده از Homebrew:

bash
brew install icp-cli

با نزدیک شدن به انتشار رسمی نسخه 1.0، دفینیتی از تمام تیم‌های توسعه‌دهنده فعال می‌خواهد که راهنمای مهاجرت را مطالعه کرده و پروژه‌های خود را به icp.yaml منتقل کنند تا برای آینده محاسبات تماماً زنجیره‌ای (on-chain) آماده شوند.

برچسب‌ها

#icp-cli#دفینیتی#رایانه اینترنتی#وب۳#ابزارهای توسعه‌دهنده

منابع و ارجاعات مستند

پیشنهاد مطالعه بعدی

خوشتان آمد؟ مقاله بعدی را بگیرید

در خبرنامه عضو شوید تا راهنمای بعدی در ایمیلتان باشد — بدون مزاحمت، لغو عضویت در هر زمان.