Local dev and testing
Unit tests (cw-multi-test)
Add to Cargo.toml:
[dev-dependencies]
cw-multi-test = "2.0"
use cw_multi_test::{App, Executor};
use cosmwasm_std::Addr;
#[test]
fn instantiate_works() {
let mut app = App::default();
let code_id = app.store_code(my_contract_wasm());
let contract = app
.instantiate_contract(code_id, Addr::unchecked("owner"), &init_msg, &[], "label", None)
.unwrap();
assert!(contract.to_string().starts_with("cosmos"));
}
Local chain
| Option | Use |
|---|---|
| Local devnet | Full safrochaind on safro-devnet-1 (recommended) |
| Local testnet | Minimal manual init |
wasmd | Upstream CosmWasm dev node |
Build note: CosmWasm may require clang on your machine. See install.
Deploy loop
cargo testcosmwasm/optimizer→.wasmtx wasm storeon local or testnet- Interact from apps against local REST