Ejemplo de cosmoWasm

Construyendo contratos

Para trabajar con CosmWasm recomendamos utilizar los marcos de desarrollo Sylvia o comenzar con la plantilla CosmWasm .

  1. Configure su entorno de desarrollo e instale el espacio de trabajo de CosmWasm, que incluye plantillas y herramientas para crear contratos inteligentes de CosmWasm.

cargo install cargo-generate --features vendored-openssl
cargo generate --git https://github.com/CosmWasm/cw-template.git --name my-contract
cd my-contract
  1. Escriba su contrato inteligente

Edite los archivos src/contract.rsy src/msg.rspara definir la lógica de su contrato y los mensajes que maneja.

  1. Pruebe su contrato

Escriba pruebas unitarias en el testsdirectorio.

cargo test
  1. compilar el contrato

Compile su contrato CosmWasm en un binario WebAssembly (WASM):

RUSTFLAGS='-C link-arg=-s' cargo wasm

Optimice el binario WASM para reducir su tamaño y prepararlo para blockchain:

docker run --rm -v "$(pwd)":/contract \
    --mount type=volume,source="$(basename "$(pwd)")\_cache",target=/code/target \
    --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
    cosmwasm/workspace-optimizer:0.12.6
  1. Subir el contrato

Conéctese a RollApp X:

rollappd tx wasm store contract.wasm --from <your-wallet> --chain-id <chain-id> --gas auto --gas-adjustment 1.3 --gas-prices 0.025roly -y
  1. Crear una instancia del contrato Después de cargarlo, debe crear una instancia del contrato con su configuración inicial.

rollappd tx wasm instantiate <code_id> '{"count": 100}' --label "my counter" --from <your-wallet> --chain-id <chain-id> --amount 5000roly --gas auto

Last updated