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