Implementación del contrato CosmWasm
Descripción general
Esta guía proporciona una descripción general completa de la creación, implementación e interacción con contratos CosmWasm en Wasm Minitia. Es esencial tener en cuenta que los contratos CosmWasm se admiten exclusivamente en Minitias que utilizan WasmVM.
Tutorial
Paso 1: clonar el cw-contracts
repositorio
cw-contracts
repositorioPara comenzar, usaremos el nameservice
módulo del cw-contracts
repositorio como nuestro proyecto de ejemplo. Ejecute los siguientes comandos para clonar el repositorio y navegar hasta el directorio del contrato correspondiente:
Paso 2: compilar un contrato
Utilice el siguiente comando para compilar un binario Wasm y prepararlo para su implementación en Wasm Minitia:
Tras una compilación exitosa, target/wasm32-unknown-unknown/release/cw_nameservice.wasm
se generará el binario.
Compilación avanzada conrust-optimizer
Para una eficiencia óptima, particularmente para minimizar los costos de gas asociados con la implementación y la interacción, se debe minimizar el tamaño del archivo binario. Esto requiere la instalación de Docker y el uso de rust-optimizer
, una herramienta diseñada para reducir el tamaño binario sin comprometer la funcionalidad del contrato.
Ejecute el siguiente comando para utilizar rust-optimizer
:
Este proceso generará un archivo binario ubicado en artifacts/cw_nameservice.wasm
.
Paso 3: almacenar un contrato
La siguiente fase consiste en almacenar el cw_nameservice.wasm
contrato compilado en Minitia.
CLIinicia.js
Paso 4: crear una instancia de un contrato
El último paso consiste en crear una instancia del contrato recién almacenado. Para lograrlo es necesaria la codeId
del contrato almacenado . cw_nameservice.wasm
Obtenga el codeId
con la siguiente línea de comando:
CLIinicia.js
Ahora puedes crear una instancia de un nuevo contrato Wasm usando este código:
CLIinicia.js
Paso 5: interactuar con un contrato
Habiendo creado con éxito una instancia del contrato CosmWasm, el siguiente paso consiste en interactuar con él. Esta fase requiere la dirección del contrato, que se puede recuperar usando el comando que se describe a continuación:
CLIinicia.js
Ejecutar una función de contrato
Con la dirección del contrato a mano, ahora podemos ejecutar funciones dentro del contrato. Como ejemplo, ejecutaremos la register
función para registrar "prueba" como dominio de servicio de nombres. El comando de ejecución es el siguiente:
CLIinicia.js
Resultados de la consulta
Después de la ejecución exitosa de la register
función, la verificación del nombre registrado se puede lograr mediante una consulta de contrato. Utilice el siguiente comando para realizar la consulta:
CLIinicia.js
Esta consulta arrojará resultados en el siguiente formato, confirmando el registro exitoso:
Este paso completa la guía sobre desarrollo, implementación e interacción con contratos CosmWasm. Ilustra las etapas desde la compilación del contrato, el almacenamiento y la creación de instancias hasta la fase de interacción final. Seguir esta guía garantiza un enfoque estructurado para el desarrollo de contratos de CosmWasm, lo que permite a los desarrolladores crear y gestionar contratos de manera eficiente dentro de Wasm Minitia.
Last updated