try-runtime 사용하기

try-runtime 을 사용하여 스토리지 마이그레이션을 테스트하는 방법

try-runtime 도구를 사용하면 런타임을 프로덕션에 배포하기 전에 시뮬레이션 환경에서 테스트하고 작업을 확인할 수 있습니다. 이 가이드에서는 try-runtime 도구를 런타임에 통합하는 기본 단계를 보여줌으로써 스토리지 마이그레이션을 테스트하는 데 사용할 수 있도록 합니다.

일반적으로 try-runtime 도구를 런타임에 추가하는 것은 팔레트를 가져오는 것과 유사합니다. 적절한 종속성을 올바른 위치에 추가하고 런타임 로직을 try-runtime 기능을 포함하도록 업데이트하는 것이 포함됩니다. 팔레트와 마찬가지로 종속성을 추가할 때 적절한 태그 또는 브랜치를 사용하여 try-runtime 도구에 대한 종속성을 추가하는지 확인하십시오.

런타임 종속성 추가

  1. 터미널 쉘을 열고 노드 템플릿의 루트 디렉토리로 이동합니다.

  2. 텍스트 편집기에서 runtime/Cargo.toml 구성 파일을 엽니다.

  3. [dependencies] 섹션을 찾고 다른 팔레트가 가져오는 방법을 확인합니다.

  4. frame-try-runtime 종속성을 추가합니다:

    [dependencies]
    frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "polkadot-v1.0.0", optional = true }

    다른 팔레트가 서로 호환되도록 가져온 팔레트와 동일한 브랜치와 버전 정보를 사용하는지 확인하십시오. 다른 브랜치에서 팔레트를 사용하면 컴파일러 오류가 발생할 수 있습니다. 이 예제는 다른 팔레트가 branch = "polkadot-v1.0.0"를 사용하는 경우 Cargo.toml 파일에 frame-try-runtime 팔레트를 추가하는 방법을 보여줍니다.

  5. try-runtime-cli 종속성을 추가합니다:

    try-runtime-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "polkadot-v1.0.0", optional = true }
  6. 표준 기능 목록에 frame-try-runtime을 추가합니다:

    [features]
    default = ["std"]
    std = [
      "codec/std",
      "scale-info/std",
      "frame-try-runtime/std",
      ...
    ]
  7. [features] 섹션에 try-runtime을 추가하거나 업데이트하여 런타임의 모든 팔레트를 포함하도록 합니다.

    try-runtime = [
      "frame-executive/try-runtime",
      "frame-try-runtime",
      "frame-system/try-runtime",
      "pallet-aura/try-runtime",
      "pallet-balances/try-runtime",
      "pallet-nicks/try-runtime",
      "pallet-grandpa/try-runtime",
      "pallet-randomness-collective-flip/try-runtime",
      "pallet-sudo/try-runtime",
      "pallet-template/try-runtime",
      "pallet-timestamp/try-runtime",
      "pallet-transaction-payment/try-runtime",
    ]

런타임 API에 try-runtime 구현하기

  1. try-runtime 기능을 위한 구성 블록을 추가합니다.

노드 종속성 추가

  1. 텍스트 편집기에서 node/Cargo.toml 구성 파일을 엽니다.

  2. [dependencies] 섹션을 찾고 다른 팔레트가 가져오는 방법을 확인합니다.

  3. frame-try-runtime 종속성을 추가합니다:

  4. try-runtime-cli 종속성을 추가합니다:

  5. [features] 섹션에 clitry-runtime을 추가하거나 업데이트합니다.

명령줄 하위 명령 추가

  1. 텍스트 편집기에서 node/src/cli.rs 파일을 엽니다.

명령 추가

  1. 텍스트 편집기에서 node/src/commands.rs 파일을 엽니다.

  2. 명령을 추가합니다.

작업 공간에서 사용자 정의 팔레트를 사용하는 경우 작업 공간의 pallets/pallet_name/Cargo.toml 파일의 종속성에 try-runtime을 포함했는지 확인하십시오.

try-runtime 사용하기

try-runtime 도구를 사용하는 방법은 유닛 테스트를 작성하는 것과 유사합니다.

try-runtime을 사용하려면 다음을 수행합니다:

  1. Externalities 인스턴스를 생성합니다.

  2. 인스턴스에서 execute_with를 호출합니다.

다음으로 이동할 위치

Last updated