name: deployment description: Axone deployment workflows with cargo-make, cw-orch, and Abstract. Use when publishing modules, installing them on accounts, running local chain tasks, or inspecting deployments. license: BSD-3-Clause metadata: author: axone.xyz version: "1.0"
Deployment
Rule
Prefer repository tasks over ad hoc deployment commands.
Environment Setup
Configure Credentials
cp .env.example .env
Then set the relevant mnemonic values in .env.
The repository already defines:
LOCAL_MNEMONICfor local developmentTEST_MNEMONICfor testnet deploymentMAIN_MNEMONICfor mainnet deployment
Supported Network IDs
Primary repository aliases:
localtestnetmainnetaxone-localnetaxone-dendrite-2axone-1
Other cw-orch-supported networks may also work when the scripts support them.
Local Chain Operations
Use these tasks for local chain lifecycle:
cargo make chain-initialize
cargo make chain-start
cargo make chain-logs
cargo make chain-stop
cargo make clean-chain
Repository note:
- many deployment and inspection tasks already call
chain-startautomatically for local targets - do not duplicate that manually unless you specifically need the chain running ahead of time
Abstract Infrastructure
Deploy Abstract core contracts with:
cargo make deploy-abstract local
cargo make deploy-abstract testnet
Inspect the resulting deployment info with:
cargo make deploy-abstract-info local
cargo make deploy-abstract-info testnet
Treat deploy-abstract-info as the normal post-deploy verification step for infrastructure.
Publishing a Contract
Publish a module with:
cargo make deploy-contract axone-gov local
cargo make deploy-contract axone-gov testnet
Repository behavior of deploy-contract:
- builds WASM if no suitable artifact is found
- copies built
.wasmfiles intoartifacts/for cw-orch lookup - runs the contract publish script through
cargo make deploy-script publish ...
Use cargo make release-wasm only when you explicitly need optimized production artifacts and checksums. The normal publish flow uses cargo make wasm when it needs to build.
Installing a Module
Install a module on an Abstract account with:
cargo make deploy-install axone-gov local
cargo make deploy-install axone-gov testnet
The repository task also supports additional CLI-style arguments after the contract name. Keep using cargo make deploy-install ... instead of calling the binary directly unless you have a reason to bypass the task wrapper.
Inspection and Debugging
Use the repository inspection tasks instead of raw chain commands when possible:
cargo make contract-list
cargo make contract-inspect <code_id>
cargo make contract-query <address> '{"query_msg": {}}'
cargo make contract-execute <address> '{"execute_msg": {}}'
For lower-level chain access:
cargo make chain status
cargo make chain query bank balances <address>
Custom Deployment Scripts
The repository keeps publish and install entrypoints in each contract:
contracts/<name>/src/bin/publish.rs
contracts/<name>/src/bin/install.rs
Use the wrapper task when running them:
cargo make deploy-script publish axone-gov local
cargo make deploy-script install axone-gov local
Practical Order Of Operations
For a normal local flow:
cargo make deploy-abstract localcargo make deploy-abstract-info localcargo make deploy-contract <contract> localcargo make deploy-install <contract> local- verify with
contract-query,contract-inspect, or targeted chain queries