Skip to content

Desplegar en tu Blockchain ​

En esta guía, usarás cleos para desplegar y probar el contrato inteligente wax que creaste y compilaste en el tutorial Crear un Contrato Inteligente.

Antes de Comenzar ​

  • nodeos debe estar en ejecución

    shell
    nodeos -e -p eosio \
        --plugin eosio::producer_plugin \
        --plugin eosio::chain_api_plugin \
        --plugin eosio::http_plugin \
        --access-control-allow-origin='*' \
        --contracts-console \
        --http-validate-host=false \
        --verbose-http-errors >> nodeos.log 2>&1 &
  • Tu billetera debe estar Abierta y Desbloqueada

    shell
    cleos wallet open
    shell
    cleos wallet unlock --password PW5KRXKVx25yjL3FvxxY9YxYxxYY9Yxx99yyXTRH8DjppKpD9tKtVz
  • Debes crear una Cuenta WAX para tu contrato inteligente. Consulta Crear Cuentas si aún no has completado este paso.

Desplegar Tu Contrato Inteligente ​

Para desplegar el archivo WASM de tu contrato inteligente en tu blockchain local, utiliza cleos set contract desde la línea de comandos:

ParámetroEjemploDescripción
cuentawaxsc1La cuenta de tu contrato inteligente.
ruta/users/wax-blockchain/wax-cdt/mycontracts/waxRuta completa a tu archivo WASM.
permiso-p waxsc1@activePermiso Activo o de Propietario para la cuenta de tu contrato inteligente.
shell
cleos set contract waxsc1 /users/wax-blockchain/wax-cdt/mycontracts/wax -p waxsc1@active

La consola imprime la siguiente confirmación:

shell
Reading WASM from /users/wax-blockchain/wax-cdt/mycontracts/wax/wax.wasm...
Publishing contract...
executed transaction: 8a79664a3f0457513fabaa5753c41b18588cb2994cd5e3164328eafc9663f7a8  2832 bytes  57440 us
#         eosio <= eosio::setcode               {"account":"waxsc1","vmtype":0,"vmversion":0,"code":"0061736d01000000013a0b60017f0060027f7f0060037f7...
#         eosio <= eosio::setabi                {"account":"waxsc1","abi":"0e656f73696f3a3a6162692f312e3100010567726565740000010000000080acd46505677...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

Tu contrato inteligente ahora debería estar en vivo en tu blockchain local.

Probar Tu Contrato Inteligente ​

Para probar tu contrato inteligente, utiliza cleos push action desde la línea de comandos:

ParámetroEjemploDescripción
cuentawaxsc1La cuenta de tu contrato inteligente.
acciónhiNombre de la acción.
flujo de datos'["YourName"]'Introduce tu nombre o cualquier otra cadena.
permiso-p waxsc1@activePermiso Activo o de Propietario para la cuenta de tu contrato inteligente.
shell
cleos push action waxsc1 hi '["YourName"]' -p waxsc1@active

La consola imprime lo siguiente:

shell
executed transaction: 6a0b1489d903f2cacc6480830358f07aaf65b20bf1d7e855dc20097f4d64dc52  104 bytes  1727 us
#        waxsc2 <= waxsc2::hi                   {"nm":"YourName"}
>> Name : YourName
warning: transaction executed locally, but may not be confirmed by the network yet         ]

Si recibes un error de que la transacción tomó demasiado tiempo, ejecuta cleos push action nuevamente. Si aún recibes un error, intenta reiniciar nodeos.

shell
Error 3080006: Transaction took too long
Error Details:
deadline exceeded
pending console output: