Composable CosmWasm CLI
Composable Cosmwasm CLI is a CLI tool to quickly get started with the XCVM ecosystem and
interact with a chain that runs pallet-cosmwasm
.
Create a CosmWasm project
You can create a base CosmWasm project that you can work on.
ccw new --name get-started --description "Get started with CosmWasm"
See here for more.
Upload a CosmWasm contract
For interacting with pallet-cosmwasm
, substrate
subcommand is used. To be able
to call your contracts, you need to upload them to the chain first. There are several
sources to upload your contracts:
1. Upload a local contract binary
You need to specify the file path and the signer to be able to upload a contract
from the file path. Extrinsics must be called by a signed entity in pallet-cosmwasm
.
For now, the examples will use development accounts for signing extrinsics, but
we will explain it further later.
ccw -n alice upload -f /path/to/file.wasm
2. Upload a contract from a running chain
If a Cosmos chain provides an RPC endpoint, you can use it to load the contracts
to ccw
. All you need to know is the RPC endpoint to fetch the
contract from, and either the contract address that uses the contract code
or code ID that identifies the contract code.
Fetch using the contract address:
ccw substrate -n alice tx upload --cosmos-rpc https://juno-api.polkachu.com --contract juno19rqljkh95gh40s7qdx40ksx3zq5tm4qsmsrdz9smw668x9zdr3lqtg33mf
Fetch using the code ID:
ccw substrate -n alice tx upload --cosmos-rpc https://juno-api.polkachu.com --code-id 1
3. Upload a contract from a server
One common thing is to go to a contract's release page and download the contract
binary from there. You don't have to do that with ccw
.
# Fetch the official release of `cw20_base.wasm`
ccw substrate -n alice tx upload --url https://github.com/CosmWasm/cw-plus/releases/download/v1.0.1/cw20_base.wasm
Interact with a contract
For examples of interacting with the contract, go to the walkthrough.