Skip to main content
Version: v8.5.x

Client

CLI​

A user can query and interact with the 08-wasm module using the CLI. Use the --help flag to discover the available commands:

Transactions​

The tx commands allow users to interact with the 08-wasm submodule.

simd tx ibc-wasm --help

store-code​

The store-code command allows users to submit a governance proposal with a MsgStoreCode to store the byte code of a Wasm light client contract.

simd tx ibc-wasm store-code [path/to/wasm-file] [flags]

path/to/wasm-file is the path to the .wasm or .wasm.gz file.

migrate-contract​

The migrate-contract command allows users to broadcast a transaction with a MsgMigrateContract to migrate the contract for a given light client to a new byte code denoted by the given checksum.

simd tx ibc-wasm migrate-contract [client-id] [checksum] [migrate-msg]

The migrate message must not be empty and is expected to be a JSON-encoded string.

Query​

The query commands allow users to query 08-wasm state.

simd query ibc-wasm --help

checksums​

The checksums command allows users to query the list of checksums of Wasm light client contracts stored in the Wasm VM via the MsgStoreCode. The checksums are hex-encoded.

simd query ibc-wasm checksums [flags]

Example:

simd query ibc-wasm checksums

Example Output:

checksums:
- c64f75091a6195b036f472cd8c9f19a56780b9eac3c3de7ced0ec2e29e985b64
pagination:
next_key: null
total: "1"

code​

The code command allows users to query the Wasm byte code of a light client contract given the provided input checksum.

./simd q ibc-wasm code

Example:

simd query ibc-wasm code c64f75091a6195b036f472cd8c9f19a56780b9eac3c3de7ced0ec2e29e985b64

Example Output:

code: AGFzb...AqBBE=

gRPC​

A user can query the 08-wasm module using gRPC endpoints.

Checksums​

The Checksums endpoint allows users to query the list of checksums of Wasm light client contracts stored in the Wasm VM via the MsgStoreCode.

ibc.lightclients.wasm.v1.Query/Checksums

Example:

grpcurl -plaintext \
-d '{}' \
localhost:9090 \
ibc.lightclients.wasm.v1.Query/Checksums

Example output:

{
"checksums": [
"c64f75091a6195b036f472cd8c9f19a56780b9eac3c3de7ced0ec2e29e985b64"
],
"pagination": {
"total": "1"
}
}

Code​

The Code endpoint allows users to query the Wasm byte code of a light client contract given the provided input checksum.

ibc.lightclients.wasm.v1.Query/Code

Example:

grpcurl -plaintext \
-d '{"checksum":"c64f75091a6195b036f472cd8c9f19a56780b9eac3c3de7ced0ec2e29e985b64"}' \
localhost:9090 \
ibc.lightclients.wasm.v1.Query/Code

Example output:

{
"code": AGFzb...AqBBE=
}