cw-orchestrator icon indicating copy to clipboard operation
cw-orchestrator copied to clipboard

[Feature] Command Line Interface (CLI)

Open Buckram123 opened this issue 1 year ago • 14 comments

cw-orch-cli is a chain-agnostic interactive cli for cosmos chains, with main focus on wasm operations Currently supported features:

Key management

CLI allows managing keys, using platform-specific secure store. Saved keys are used to perform signing transactions of other CLI commands

Add key

Add key command saves provided(or generated) key to cw-orch keyring

  • Generate new random key : cw-orch-cli key add [NAME] new
  • Recover from seed phrase: cw-orch-cli key add [NAME] from-seed

Show seed of saved key

Show seed command loads saved seed phrase from cw-orch keyring and outputs it

  • Shows seed phrase of the key cw-orch-cli key show [NAME]

Remove key

Remove key command deletes entry of provided key-id from the cw-orch keyring

  • Removes key: cw-orch-cli key remove [NAME]

Cosmwasm

Queries

  • Smart wasm query: cw-orch-cli action [CHAIN-ID] cw query smart [CONTRACT_ADDR] [MSG-TYPE] [MSG]

Transactions

  • Store wasm contract: cw-orch-cli action [CHAIN-ID] cw tx store [WASM_PATH] [SIGNER]
  • Instantiate wasm contract: cw-orch-cli [CHAIN-ID] action cw tx instantiate [CODE_ID] [MSG_TYPE] [MSG] [ADMIN] [LABEL] [COINS] [SIGNER]
  • Execute wasm cw-orch-cli [CHAIN-ID] action cw tx execute [CONTRACT_ADDR] [MSG_TYPE] [MSG] [COINS] [SIGNER]

Arguments details:

  • [NAME]: chosen by user key-id that will be used to sign transactions
  • [CHAIN-ID]: chain id
  • [CONTRACT_ADDR]: Address of the contract
  • [WASM-PATH]: Path to the wasm file of the contract to upload
  • [SIGNER]: key-id from cw-orch keyring that will be used to sign transaction
  • [MSG-TYPE]: in which type [MSG] will be provided, options: json-msg: Valid JSON string (e.g. {"foo": "bar"}), base64-msg: Base64-encoded string (e.g. eyJmb28iOiJiYXIifQ==)
  • [MSG]: the message either in json or base64 encoded format(based on MSG-TYPE)
  • [COINS]: list of coins to be attached to this transaction

Demo of interactivity:

Instantiate

Execute and queries

[New] Selecting chain

Buckram123 avatar Aug 08 '23 14:08 Buckram123