Despliegue e interacción
Ya tienes listo el binario wasm. Es hora de desplegarlo en la red de pruebas de Archway (Constantine) y comenzar a interactuar con tu contrato inteligente. Puedes usar archwayd CLI, Archway Developer CLI, o arch3.js, dependiendo de tu preferencia.
Desplegar contrato
En la página Compilar contrato, generamos un ejecutable binario wasm. Puedes subir el código a la blockchain y, una vez completado el proceso, puedes descargar el bytecode para verificarlo.
Despliegue con archwayd
Ahora almacenará el bytecode wasm del contrato cw_namespace en cadena y obtendrá el id de código. Este id de código se utilizará más tarde para crear una instancia del contrato cw_namespace.
Cambia mywallet por el nombre del monedero que creaste en la página Configuración del entorno. Ejecuta los siguientes comandos para almacenar el contrato en cadena:
Mainnet
RES=$(archwayd tx wasm store artifacts/cw_nameservice.wasm --from mywallet --node https://rpc.mainnet.archway.io:443 --chain-id archway-1 --gas auto --gas-prices $(archwayd q rewards estimate-fees 1 --node 'https://rpc.mainnet.archway.io:443' --output json | jq -r '.gas_unit_price | (.amount + .denom)') --gas-adjustment 1.3 -y --output json -b block)
Testnet
RES=$(archwayd tx wasm store artifacts/cw_nameservice.wasm --from mywallet --node https://rpc.constantine.archway.tech:443 --chain-id constantine-3 --gas auto --gas-prices $(archwayd q rewards estimate-fees 1 --node 'https://rpc.constantine.archway.tech:443' --output json | jq -r '.gas_unit_price | (.amount + .denom)') --gas-adjustment 1.3 -y --output json -b block)La respuesta contiene el Código Id del binario wasm cargado:
echo $RESLa siguiente es una forma más sencilla de obtener el Id. de código de la respuesta
CODE_ID=$(echo $RES | jq -r '.logs[0].events[] | select(.type=="store_code") | .attributes[] | select(.key=="code_id") | .value')echo $CODE_IDPuede ver la lista de contratos instanciados utilizando el CODE_ID generado anteriormente ejecutando el siguiente comando:
Mainnet
archwayd query wasm list-contract-by-code $CODE_ID --node https://rpc.mainnet.archway.io:443 --output json
Testnet
archwayd query wasm list-contract-by-code $CODE_ID --node https://rpc.constantine.archway.tech:443 --output jsonLa respuesta debe ser una lista vacía, ya que aún no se ha instanciado ningún contrato.
Antes de instanciar un contrato utilizando el Code Id e interactuar con él, vamos a verificar si el código almacenado en la blockchain es efectivamente el binario cw_namespace.wasm que subiste.
Descarga el binario wasm de la cadena y compáralo con el original:
Los dos binarios deben ser idénticos:
Si el comando diff produce una salida vacía, esto indica que los dos archivos comparados son idénticos.
Despliegue con archway developer cli
Si tu contrato fue creado usando el comando archway new, puedes desplegar el contrato usando el siguiente comando:
Para obtener más información sobre cómo crear un proyecto CosmWasm con la CLI de Archway Developer, consulte Creación de un proyecto.
Instanciación del contratio
Ya puedes crear una instancia del contrato wasm. Después de la instanciación, puede realizar consultas y ejecutar transacciones.
Instanciar usando archwayd
Interacción con el contrato
Ahora que el contrato está instanciado, puede registrar un nombre y transferirlo a otra dirección pagando la tasa de transferencia.
Interactúa con archwayd
Last updated