Link Search Menu Expand Document

Desplegar a tu blockchain

En esta guía, usarás cleos para desplegar y probar el contrato inteligente de WAX que creaste y compilaste en el tutorial Crear un Smart Contract.

Antes de empezar

  • nodeos debe estar ejecutándose
      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 wallet debe estar abierta y desbloqueada
      cleos wallet open
    
      cleos wallet unlock --password PW5KRXKVx25yjL3FvxxY9YxYxxYY9Yxx99yyXTRH8DjppKpD9tKtVz
    
  • Debes crear una cuenta de WAX para tu contrato inteligente. Si aún no la has creado, visita la guía Crear una cuenta de WAX.

Despliega tu contrato inteligente

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

Parámetro Ejemplo Descripción
account waxsc1 La cuenta de tu contrato inteligente.
path /users/wax-blockchain/wax-cdt/mycontracts/wax La ruta completa de tu archivo WASM.
permission -p waxsc1@active El permiso Active u Owner para la cuenta de tu contrato inteligente.
cleos set contract waxsc1 /users/wax-blockchain/wax-cdt/mycontracts/wax -p waxsc1@active

La consola mostrará esta confirmación:

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 ya debería estar disponible en tu blockchain local.

Prueba tu Smart Contract

Para probar tu contrato inteligente, usa la acción cleos push action desde la línea de comandos:

Parámetro Ejemplo Descripción
account waxsc1 La cuenta de tu contrato inteligente.
action hi Nombre de la acción.
datastream ’[“YourName”]’ Introduce tu nombre o cualquier otra cadena.
permission -p waxsc1@active El permiso Active u Owner para la cuenta de tu contrato inteligente.
cleos push action waxsc1 hi '["YourName"]' -p waxsc1@active

La consola mostrará lo siguiente:

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 aparece un error que indica que la transacción ha tardado demasiado, vuelve a ejecutar cleos push action. Si el error persiste, prueba a reiniciar nodeos.

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