subxt
subxt
라이브러리를 사용하면 원격 프로시저 호출을 통해 Substrate 노드에 트랜잭션을 제출할 수 있습니다. subxt
라이브러리를 사용하기 전에 독립적인 subxt
명령 줄 인터페이스를 사용하여 트랜잭션을 제출할 대상으로 사용할 Substrate 노드의 메타데이터를 다운로드할 수 있습니다. subxt-cli
도구를 사용하면 subxt
라이브러리를 사용하는 데 중요한 두 가지 핵심 작업을 수행할 수 있습니다:
subxt-cli
도구를 사용하여 대상 Substrate 노드에서 메타데이터를 다운로드할 수 있습니다.subxt-cli
도구를 사용하여 대상 Substrate 노드의 메타데이터에서 런타임 API 코드를 생성할 수 있습니다.
subxt
라이브러리와 subxt-cli
도구는 메타데이터 v14 이상을 사용하는 모든 노드에 사용할 수 있습니다. subxt
라이브러리의 사용 예는 examples 폴더를 참조하십시오.
설치
subxt-cli
를 설치하려면:
필요한 경우 터미널 셸을 엽니다.
필요한 경우 Rust 컴파일러와 툴체인이 설치되어 있는지 확인합니다.
다음 명령을 사용하여 필요한 패키지를 다운로드합니다:
cargo install subxt-cli
기본 명령 사용법
subxt
명령을 실행하는 기본 구문은 다음과 같습니다:
subxt <SUBCOMMAND>
subxt
가 노드를 로컬에서 실행 중이거나 대상 체인을 지정해야만 subxt
가 노출하는 명령을 사용할 수 있습니다. 메타데이터가 이미 제공된 경우 노드를 실행하지 않고 codegen
하위 명령을 사용할 수 있습니다.
플래그
subxt
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h, --help
사용법 정보 표시
-V, --version
버전 정보 표시
하위 명령
subxt
명령 줄 인터페이스와 함께 다음 하위 명령을 사용할 수 있습니다.
codegen
메타데이터에서 런타임 API 클라이언트 코드를 생성합니다.
metadata
subxt
코드 생성에 사용할 Substrate 노드에서 메타데이터를 다운로드합니다.
출력
하위 명령을 지정하는 방식에 따라 subxt
의 출력에는 다음 정보 중 일부 또는 모두 포함됩니다:
메타데이터
대상 체인의 메타데이터가 포함된 파일입니다.
API
대상 체인의 API가 포함된 파일입니다.
예제
subxt
프로그램의 버전 정보를 표시하려면 다음 명령을 실행합니다:
subxt --version
subxt metadata
명령의 사용법 정보를 표시하려면 다음 명령을 실행합니다:
subxt metadata --help
codegen
subxt codegen
명령을 사용하여 대상 Substrate 노드에 대한 인터페이스를 생성합니다.
이는 노드의 API를 디버깅하거나 특정 하드웨어 제약 조건을 충족시키기 위해 수정하는 데 유용할 수 있습니다.
기본 사용법
subxt codegen [OPTIONS]
플래그
subxt codegen
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h, --help
사용법 정보 표시
-V, --version
버전 정보 출력
옵션
subxt codegen
명령과 함께 다음 명령 줄 옵션을 사용할 수 있습니다.
-f, --file <file>
인코딩된 메타데이터 파일의 경로를 지정합니다.
--url <url>
코드 생성을 위해 메타데이터를 쿼리할 Substrate 노드의 URL을 지정합니다.
예제
생성된 API를 형식화하여 터미널에 출력하려면 다음 명령을 실행합니다:
subxt codegen | rustfmt
생성된 API를 파일에 저장하려면 다음 명령을 실행합니다:
subxt codegen | rustfmt --edition=2018 > api.rs
metadata
subxt metadata
명령을 사용하여 대상 Substrate 노드의 메타데이터를 가져옵니다.
기본 사용법
subxt metadata [OPTIONS]
플래그
subxt metadata
명령과 함께 다음 선택적 플래그를 사용할 수 있습니다.
-h, --help
사용법 정보 표시
-V, --version
버전 정보 출력
옵션
subxt metadata
명령과 함께 다음 명령 줄 옵션을 사용할 수 있습니다.
-f, --format <format>
표시할 메타데이터의 형식을 지정합니다. 유효한 형식은 json
, hex
또는 bytes
입니다. 기본 형식은 json
입니다.
--url <url>
메타데이터를 쿼리할 Substrate 노드의 URL을 지정합니다. 기본 URL은 http://localhost:9933
입니다.
예제
로컬 노드에서 바이트로 인코딩된 메타데이터를 파일로 저장하려면 다음 명령을 실행합니다:
subxt metadata -f bytes > metadata.scale
Rococo 네트워크의 메타데이터를 JSON 파일로 저장하려면 다음 명령을 실행합니다:
subxt metadata --url https://rococo-rpc.polkadot.io:443 > <contract_name>.json
메타데이터의 타입 배열에서 타입 125
를 쿼리하고 JSON으로 출력하려면 다음 명령을 실행합니다:
subxt metadata --format json | jq '.[1].V14.types.types | .[125]'
Last updated