برنامه نویسی

چگونه زمان اجرای خود را به آخرین نسخه Polkadot SDK ارتقا دهیم و سعی در مرگ ندارم

💡 توجه: این آموزش در محیط های توسعه MACOS و لینوکس متمرکز است. اگر از ویندوز استفاده می کنید ، لطفاً در نظر بگیرید که لینوکس را تحت WSL اجرا کنید یا یک دیپرو اختصاصی لینوکس را در رایانه خود داشته باشید.

Polkadot SDK یکی از پیشرفته ترین مجموعه های ابزار برای نوشتن یک blockchain است که کار می کند. این که آیا شما یک زنجیره انفرادی یا یک قسمت از شبکه Polkadot را اجرا می کنید ، SDK یک چاقوی سوئیسی است که می توانید در ساخت یک blockchain عملکردی مفید باشد.

با این حال ، blockchains در سنگ تنظیم نشده است. سرانجام ، برای به دست آوردن آخرین به روزرسانی ها و بهترین ویژگی ها یا رفع آسیب پذیری های احتمالی که از زمان آخرین به روزرسانی شما پیدا شده است ، باید به نسخه بعدی ارتقا دهید.

این مقاله به عنوان راهنمایی برای انتقال تقریباً به طور معصومانه زمان اجرا بین نسخه فعلی Polkadot SDK و آخرین نسخه موجود است.

درک نسخه SDK Polkadot

جدول زمانی انتشار Polkadot SDK

وقتی در مورد نسخه Polkadot صحبت می کنیم ، دو کنوانسیون نسخه ای را پیدا می کنیم.

در پایدار کنوانسیون دنبال می شود stableYYMM-PATCH، کجا YYMM یک قالب تاریخ کوتاه (yy/mm) است که ماه را در ابتدا منتشر می کند. نسخه های Polkadot SDK در حدود پایان هر سه ماهه منتشر می شود ، و PATCH نسخه ها ماهانه منتشر می شوند.

کنوانسیون SEMVER به شرح زیر است 1.XX.PATCHبشر در این حالت ، نسخه جزئی به یک نسخه پایدار گره خورده است ، و PATCH همان نسخه پچ است ، به طور پیش فرض 0 اگر این نسخه اولیه است.

🗒 تغییرات دیگری در نسخه سازی وجود دارد (مانند نسخه های قبل از انتشار و نسخه های RC ، اما ما در حال حاضر به این موارد علاقه ای نداریم).

می توانید اطلاعات بیشتری در مورد برنامه انتشار Polkadot SDK در اینجا بیابید.

نسخه PSDK را که قصد دارید به روز کنید تعیین کنید

موارد فوق فقط یک اشاره برای کمک به شما در درک نسخه ای است که ممکن است در آن قرار داشته باشید و کدام یک را که قصد دارید به روز کنید.

در حالت ایده آل ، شما می خواهید آخرین نسخه موجود را به روز کنید ، زیرا بلافاصله آخرین موارد خوب و رفع امنیت را دریافت خواهید کرد. با این حال ، این به طور کلی توصیه نمی شود ، زیرا شما با تغییرات عظیمی مقابله خواهید کرد.

بهترین توصیه این است که یک نسخه پایدار را همزمان به روز کنید. این امن ترین راه برای جلوگیری از رفتارهای ناخواسته به دلیل دست زدن به نسخه های متعدد در حالی که نادرست انجام مهاجرت بین نسخه ها است.

یک استثناء بزرگ در این مورد وجود دارد: وقتی نسخه فعلی شما و موارد زیر از پایان زندگی گذشته است.

در اینجا چند قدم سریع در مورد نحوه انجام ارتقاء معمول آورده شده است. در آینده آنها را جستجو کنید ، و اگر چیزی را فراموش کرده اید ، بیشتر به بررسی جزئیات بروید:

به روزرسانی در آخرین نسخه پچ خود

این تا کنون ساده ترین فرایند است. بدون تغییر شکستن (به طور معمول) ، بدون به روزرسانی نسخه XCM ، بدون تغییر در

  1. نسخه پایدار فعلی خود را تعیین کنید.
    1. خواندن یادداشت ها برای دانستن اینکه چه چیزی بین نسخه های پچ تغییر کرده است.
  2. وابستگی ها را به آخرین نسخه از نسخه پایدار ارتقا دهید.
  3. بعضی اوقات ، ممکن است نیاز به تنظیم برخی از تغییرات پیکربندی داشته باشید.

به صورت اختیاری ، می توانید try-runtime و معیارهای اجرا را اجرا کنید ، اما این معمولاً در نسخه های پچ انتظار نمی رود. انتظار می رود که اینها غیر شکن باشند و تغییرات تمایل به حداقل ، بیشتر رفع و/یا معکوس دارند.

به روزرسانی به نسخه پایدار بعدی خود

  1. نسخه پایدار بعدی خود را تعیین کنید.
    1. خواندن یادداشت ها برای دانستن اینکه چه چیزی بین نسخه های پچ تغییر کرده است.
  2. وابستگی ها را به آخرین نسخه از نسخه پایدار ارتقا دهید.
  3. شما باید برخی از تغییرات پیکربندی را تنظیم کنید.
    1. (اختیاری) اگر از انواع XCM در پیکربندی ذخیره خود استفاده می کنید ، باید مهاجرت های XCM احتمالی را مرور کنید. در صورت عدم دسترسی به جعبه های XCM یا جاهای دیگر ، کدگذاری یک اسکریپت مهاجرت سفارشی ممکن است لازم باشد.
  4. try-runtime برای بررسی مهاجرت های مورد نیاز.

    1. پس از انجام این کار ، بررسی کنید که آیا پالت نیاز به مهاجرت دارای اسکریپت مهاجرت است یا خیر.
  5. نیازی به اجرای معیارها با استفاده از معیارهای مرجع ارائه شده توسط جعبه پالت نیست. در غیر این صورت ، معیارهای را برای به دست آوردن وزنهای به روز اجرا کنید.

به روزرسانی به آخرین نسخه پایدار

روند بالا را تکرار کنید تا به آخرین نسخه پایدار برسید. سپس اگر نسخه های پچ برای آن نسخه پایدار وجود دارند ، اولین فرآیند را دنبال کنید.

خواندن یادداشت های انتشار

بخش مهمی از ارتقاء خواندن است یادداشت هابشر هر نت تعویض بین دو نسخه از Polkadot SDK را خلاصه می کند و شامل لیستی از تغییرات برای مخاطبان مختلف است. مخاطبان1 هستند:

مخاطبان شرح
گره دوتایی کسانی که در اطراف کد جانبی مشتری ایجاد می کنند. سازندگان مشتری جایگزین ، Smoldot ، کسانی که RPC را مصرف می کنند. اینها افرادی هستند که از تغییرات زمان اجرا غافل هستند. آنها فقط به متا-پروتکل اهمیت می دهند ، نه خود پروتکل.
زمان اجرابشر همه کسانی که به زمان اجرا تکیه می کنند. یک تیم پاراچین که از پالت استفاده می کند. DAPP که از پالت استفاده می کند. اینها افرادی هستند که به پروتکل (WASM) اهمیت می دهند ، نه متا-پروتر (مشتری).
عملگر گره کسانی که هیچ کد نمی نویسند و فقط کد را اجرا می کنند.
کاربر زمان اجرا هرکسی که از زمان اجرا استفاده می کند. این می تواند یک دارنده توکن یا یک دیو باشد که انتهای جلوی یک زنجیره را می نویسد.

در مورد ما ، شما باید عمدتاً به به روزرسانی های مربوطه علاقه مند باشید زمان اجرابشر اگر یک گره سفارشی را اجرا می کنید ، و نمی توانید blockchain خود را با استفاده از omni-node (شاید به این دلیل که شما از یک الگوریتم اجماع غیر استاندارد استفاده می کنید) نیز گره دوتاییبشر

💡 اشاره اگر شما یک blockchain را اداره کرده اید که در یک کار می کند راه استاندارد (یعنی با استفاده از الگوریتم های اجماع مانند قرعه کشی یا پدر بزرگ) ، من اکیداً توصیه می کنم از شما استفاده کنید polkadot (برای کار کردن solochains) یا polkadot-parachain (برای پاراچین های عامل). این باعث می شود کدی که باید حفظ کنید و زمان لازم برای مهاجرت بیشتر.

در نهایت ، بررسی کنید عملگر گره برای به روزرسانی های مربوط به اپراتورهای زیرساختی و تیم های DevOps شما. وت کاربر زمان اجرا برای دیدن اینکه آیا DAPP ها و برنامه های مشتری شما نیاز به ارتقا دارند یا خیر.

با استفاده از psvm برای مدیریت به روزرسانی وابستگی ها

Polkadot SDK مجموعه ای از هزاران جعبه است که شامل بستر (استخوان های برهنه) ، قاب (برای ساختن منطق زمان اجرا) ، کامولوس و پولکادوت (برای تعامل با پولکادوت) است.

این بدان معنی است که هر جعبه متفاوت است ، و هیچ راهی آسان برای تعیین اینکه کدام نسخه جعبه مربوط به نسخه SDK است ، وجود ندارد.

🗒 یک استثنا در این مورد جعبه چتر است (polkadot-sdk) کدام نسخه با نسخه پایدار تراز شده است (یعنی v2503.0.0 امتیاز به stable2503) با آخرین منتشر شده در مارس 2025. ساده ترین راه برای مهاجرت فقط استفاده است polkadot-sdk به عنوان تنها وابستگی ، که ما در یک پست پیگیری آن را پوشش خواهیم داد.

پس از تعیین نسخه خود و برنامه ریزی برای به روزرسانی ، ما استفاده خواهیم کرد psvm (کوتاه برای مدیر نسخه Polkadot SDK) ، یک ابزار CLI برای تسهیل این فرآیند طراحی شده است.

مراحل نصب آن را روی دستگاه خود دنبال کنید و پس از آماده شدن ، به پروژه خود بروید ، سپس اجرا کنید psvm برای به روزرسانی وابستگی های پروژه خود به آخرین نسخه:

psvm -v stableYYMM-ZZ
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر وابستگی های شما به درستی پیکربندی شده است ، باید بتوانید نحوه تغییر نسخه ها را ببینید.

تنظیم پیکربندی زمان اجرا

مرحله بعدی تنظیم تغییرات پیکربندی است. استراتژی های متعدد می توانند به این هدف برسند: ما می توانیم یک لیست چک اجرا کنیم ، استفاده کنیم cargo check, یا هر دو

یک لیست چک اجرا کنید

  1. لیستی از تنظیمات پالت را در زمان اجرا خود تهیه کنید.
  2. با لیست تغییرات تعریف شده توسط یادداشت ها از نسخه SDK شما قصد دارید به آن ارتقا دهید.

با انجام این کار ، شما قادر خواهید بود یک لیست چک از پالت ها بسازید که ممکن است نیاز به تنظیم یا تغییر پیکربندی داشته باشد.

مرحله بعدی یافتن پیکربندی مرجع برای هر پالت است. بسته به اینکه کدام پالت را که می خواهید پیکربندی کنید ، می توانید پیکربندی را برای Westend Asset Hub یا Westend Runtime بررسی کنید.

سرانجام ، شما قادر خواهید بود تفاوت های پیکربندی را که باید برای هر ویژگی پیکربندی مرتبط با زمان اجرا خود تنظیم شود ، مشاهده کنید.

استفاده کردن cargo check

اگر از مکانهای کاری استفاده می کنید ، نقطه cargo check مستقیماً به پروژه خود اجرا:

cargo +nightly-2025-01-30 check -p your-chain-runtime
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این روش مفید است زیرا معمولاً ابتدا تغییرات پیکربندی را ردیابی می کند. با این حال ، برای به دست آوردن بهترین نتیجه ، باید با دقت ، اغلب در رابطه با رویکرد لیست چک استفاده شود. بعضی اوقات ، از آنجا که مرزهای صفت برای برخی از عناصر بیرونی زمان اجرا برآورده نمی شود ، کل ساخت و ساز در زمان اجرا ممکن است شکست بخورد و دنباله ای از صدها خطا را ترک کند که دقیقاً یکسان هستند (مرزهای صفت برآورده نشده است) ، که می تواند یک بار غیر ضروری اضافه کند.

چک های بار با یک لیست چک

بهترین رویکرد داشتن لیستی از صفات پیکربندی برای تنظیم ، به کمک cargo checkبشر شما می توانید با اجازه دادن به یک IDE (مانند Rustrover یا هر ویرایشگر کد با آن ، به این هدف برسید rust-analyzer) خطاهای پیکربندی را برای شما برجسته کنید ، در حالی که می دانید کجا باید جستجو کنید (در زمان های اجرا ، صفات پیکربندی معمولاً در یک مکان شناخته شده قرار می گیرند). این یکی از مفیدترین هاست و گردش کار بهتری به شما می دهد.

از جمله چیزهای جدید

اکنون که پیکربندی را تنظیم کرده اید ، وقت آن است که موارد جدید را بررسی کنید. هر نسخه Polkadot SDK معمولاً ویژگی های جدیدی مانند پالت های جدید ، پیشرفت در UX و پسوندهای بهتر را معرفی می کند.

نسخه SDK مورد نظر خود را بخوانید یادداشت ها برای کسب اطلاعات بهتر در مورد این تغییرات.

تضمین مهاجرت و try-runtime

این یک گام ضروری است ، زیرا حفظ یکپارچگی ذخیره سازی زمان اجرا شما تضمین می کند که هیچ رفتاری یا مسائلی ناخواسته رخ نمی دهد.

اول ، نصب کنید try-runtime-cliبشر شما باید آخرین نسخه را بفهمید ، سپس دستور زیر را اجرا کنید:

cargo install --git https://github.com/paritytech/try-runtime-cli --tag vX.Y.Z --locked
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

از طرف دیگر ، آخرین باینری را از صفحه نسخه های موجود در آن بارگیری کنید try-runtime مخزن

# Use `try-runtime-x86_64-unknown-linux-musl` if on Linux, 
# or `try-runtime-x86_64-apple-darwin` otherwise if on Mac.
curl -o try-runtime -L https://github.com/paritytech/try-runtime-cli/releases/download/v0.8.0/try-runtime-x86_64-unknown-linux-musl 
chmod +x ./try-runtime
./try-runtime --version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

همچنین ، شما باید زمان اجرا خود را با استفاده از try-runtime ویژگی.

cargo build --release --features try-runtime -p my-runtime
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پس از ساخت ، می توانید از آن استفاده کنید try-runtime-بشر متداول ترین روش برای استفاده try-runtime مانند این است که یک به روزرسانی زمان اجرا را آزمایش کنید:

./try-runtime \
    --runtime target/release/wbuild/my-runtime/my-runtime.wasm \
    on-runtime-upgrade \
    live --uri wss://your-chain-node.example.com
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این امر باید اشاره کند که در آن برای حفظ یکپارچگی ذخیره زنجیره ای شما باید مهاجرت ها را اجرا کنند. پالت های قاب اغلب همراه هستند VersionedMigrationS هر زمان که تغییراتی در انواع ذخیره سازی آنها وجود دارد. وارد کردن آنها به زمان اجرا معمولاً به سادگی اعلام a Migrations تایپ کنید (یک Tuple ، یا یک Tuple of Tuples) که به زمان اجرا خود وصل خواهید شد Executive کنترل کننده

این نمونه ای از زمان اجرا است که نیاز به مهاجرت های متعدد دارد:

/// A list of migrations that need to undergo.
pub type Migrations = (
    // Unreleased
    pallet_collator_selection::migration::v2::MigrationToV2<Runtime>,
    pallet_session::migrations::v1::MigrateV0ToV1<
        Runtime,
        pallet_session::migrations::v1::InitOffenceSeverity<Runtime>,
    >,
    cumulus_pallet_aura_ext::migration::MigrateV0ToV1<Runtime>,
    cumulus_pallet_xcmp_queue::migration::v4::MigrationToV4<Runtime>,
    cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5<Runtime>,
    // Permanent
    pallet_xcm::migration::MigrateToLatestXcmVersion<Runtime>,
);

// ...

/// Executive: handles dispatch to the various modules.
pub type Executive = frame_executive::Executive<
    Runtime,
    Block,
    frame_system::ChainContext<Runtime>,
    Runtime,
    AllPalletsWithSystem,
    Migrations,
>;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

همچنین ، می توانید نمونه های بیشتری را در مورد try-runtime مخزن برای دیدن امکانات استفاده از این ابزار.

معیار و وزن

تازه کردن وزنهای زمان اجرا برای جریان آنها ضروری است ، به خصوص اگر از انواع سفارشی یا پیکربندی های خاصی استفاده می کنید که در معیار مرجع موجود در پالت های خود در قاب در نظر گرفته نشده است.

برای انجام این کار ، شما نیاز دارید frame-omni-bencherبشر

# Note: it says `--profile=production` in the GitHub README, but this tends
# to fail MacOS machines.
cargo install frame-omni-bencher --profile=release
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

همچنین ، شما باید زمان اجرا خود را با runtime-benchmarks ویژگی.

cargo build --release --features runtime-benchmarks -p my-runtime
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نکته: try-runtime وت runtime-benchmarks منحصر به فرد نیستند. بنابراین ، شما می توانید یک زمان اجرا را با هر دو ویژگی به طور همزمان بسازید ، بنابراین در ساخت و سازهای زمان در زمان صرفه جویی می کنید.

در آخر ، اگر زمان اجرا شما از پیکربندی Genesis از طریق API های زمان اجرا پشتیبانی می کند ، اطمینان حاصل کنید dev (نه development) پیکربندی زیرا نیمکت CLI از آن استفاده می کند تا هنگام اجرای معیارها ، زمان اجرا خود را آغاز کند.

با استفاده از این دستور ، معیارهای خود را تضمین کنید

frame-omni-bencher v1 benchmark pallet --runtime target/release/wbuild/my-runtime/my-runtime.wasm --all --steps 2 --repeat 1 --quiet
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر کد تنظیم ، اجرای یا تأیید برای برخی از آنها انجام نشود بیرونی، می توانید آن را بگیرید. در این حالت ، ممکن است شما با مراجعه به پیکربندی پالت شکست خورده و چک کردن بر روی یاور معیار یا انواع (بعضی اوقات ، این یک منشأ نادرست پیکربندی شده است ، گاهی اوقات یک منشأ نادرست پیکربندی شده یا گاهی اوقات هر دو است).

هنگامی که می توانید تنظیم کنید نیمکت استفاده برای تازه کردن پرونده های وزنه. این حتی در CI شما نیز امکان پذیر است (اگر می توانید یک دستگاه اختصاصی را مطابق با حداقل نیازهای خود داشته باشید).

در اینجا نمونه ای از اجرای معیار خودکار:

frame-omni-bencher v1 benchmark pallet \
    --runtime {{runtime}} \
    --pallet "{{pallet}}" --extrinsic "*" \
    --steps 50 \
    --repeat 20 \
    --output ./my-runtime/src/weights/ | \
    save --force .benchmarking-logs/{{pallet}}.out.txt \
    --stderr .benchmarking-logs/{{pallet}}.log.txt
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مباحث پیشرفته

ارتقاء یاران Polkadot runtimes

به روزرسانی زمان Runtimes هیچ کار ساده ای نیست. و هنگام حفظ شبکه Polkadot و Kusama بدتر می شود runtimes، کاری که به کمک هزینه تحصیلی Polkadot اختصاص داده شده است.

من شخصاً مسئول پیشبرد ارتقاء Polkadot SDK در کل زمان دو بار بود ، و در حالی که بیشتر این مراحل اعمال می شود ، شما همیشه به دلیل پیچیدگی ، به کمک اضافی نیاز دارید ، و چندین زمینه و مواردی که شما باید درک کنید و بتوانید همه چیز را پیکربندی کنید (یعنی افرادی در بورس تحصیلی وجود دارند که روی موضوعات تخصصی مانند Bridges و XCM کار می کنند ، یا ممکن است شما از نگهدارنده Encointer به کمک نیاز داشته باشید) که همه از یک دانش عمومی فرار می کنند.

با این حال ، اگر به طور مناسب دنبال شود ، یک سری مراحل ممکن است احتمال رسیدن به جایی را که پس از انجام صحیح بیشتر دست انداز به کمک نیاز دارید ، افزایش دهد.

برای این راهنما ، وظایف خود را ذکر می کنم (مانند پیکربندی ها را تنظیم کنید) به عنوان تک گلها ، با توجه به اینکه کل پست را تاکنون خوانده اید و در مورد آنچه برای ارتقاء یک زمان اجرا با موفقیت لازم است ، درک می کنید.

وابستگی ها را به روز کنید

استفاده کردن psvm -v stableXXYY همانطور که در بالا ذکر شد.

قالب بندی (بعد از هر مرحله)

ما فرار می کنیم zepterبا taplo برای قالب بندی TOML ، cargo fmt -p {runtime} برای قالب بندی کد

غیرفعال کردن Encointer (و درخواست کمک)

هر مرجع Encointer را در مکان های زیر نظر دهید:

  • گردش کار GitHub: این اختیاری است و برای اطمینان از مشاهده CI می توانید بررسی کنید.
  • chain-spec-generator
  • Cargo.toml

پس از این ، به یکی از نگهدارنده های Encointer که در کانال کمک هزینه تحصیلی موجود است ، برسید و درخواست کمک کنید.

توجه: این کار را در یک انجام دهید مجرد متعهد شوید ، بنابراین نگهدارنده Encointer که به آن می رسید می توانید تغییرات را با یک مرحله واحد برگردانید.

تنظیمات زمان اجرا را تنظیم کنید

برای تنظیم پیکربندی ها در زمان های اجرا ، این دستور را دنبال کنید:

  1. staging-kusama-runtime (relay/kusama).
  2. polkadot-runtime (relay/polkadot).
  3. asset-hub-kusama-runtime (system-parachains/asset-hubs/asset-hub-kusama).
  4. asset-hub-polkadot-runtime (system-parachains/asset-hubs/asset-hub-polkadot).
  5. bridge-hub-kusama-runtime (system-parachains/bridge-hubs/bridge-hub-kusama).
  6. bridge-hub-polkadot-runtime (system-parachains/bridge-hubs/bridge-hub-polkadot).
  7. collectives-polkadot-runtime (system-parachains/collectives/collectives-polkadot).
  8. coretime-kusama-runtime (system-parachains/coretime/coretime-kusama).
  9. coretime-polkadot-runtime (system-parachains/coretime/coretime-polkadot).
  10. glutton-kusama-runtime (system-parachains/gluttons/glutton-kusama).
  11. people-kusama-runtime (system-parachains/people/people-kusama).
  12. people-polkadot-runtime (system-parachains/people/people-polkadot).

توجه: این سفارش فقط به صورت واژگونی مناسب نیست بلکه اطمینان می دهد که شما از پایگاه کد قابل مقایسه مناسب پیروی می کنید (Rococo برای اکثر تغییرات Kusama ، Westend برای تغییرات Polkadot).

همچنین ، اگر تغییرات فقط مربوط به Kusama باشد ، این ترتیب نشان می دهد که در هر زمان اجرا چه کاری باید انجام شود.

دویدن cargo check وت cargo clippy بعد از تنظیم هر زمان اجرا.

پیکربندی ها را به طور همزمان تنظیم کنید. این و مرتکب تغییرات برای یک زمان اجرا همزمان git اتمی ، بنابراین در صورت نیاز به بازگشت برخی از تعهدات یا حتی مجدداً ، این کار را آسان تر می کند.

تست های ادغام را تنظیم کنید

همان ترتیب را که در مرحله تنظیم تنظیمات زمان تنظیم شده نشان داده شده است ، دنبال کنید. integrated-tests/emulated/chains، پس integrated-tests/emulated/testsبشر گاهی اوقات ، شما باید چیزی را تغییر دهید emulated/helpers یا zombienet، اما این غیر معمول تر است.

مهاجرت و معیارها

CI به شما می گوید ، اما شما همچنین باید مهاجرت ها را بررسی کنید و (در صورت لزوم) پیکربندی های معیار را تنظیم کنید.

ربات نیمکت

سرانجام ، پس از باز کردن روابط عمومی ، و همه چیز را تنظیم کنید (همه چک های سبز) به عنوان یک نظر در مورد روابط عمومی خود ، نیمکت را اجرا کنید.

این دستور را برای هر زنجیره ای اجرا کنید (به همان ترتیب که در بالا گفته شد ، در حالت ایده آل).

/cmd bench --runtime polkadot --pallet pallet_rc_migrator
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


  1. با توجه به طرحواره PRDOC

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا