Skip to main content
Version: Next

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 emptied 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=
}