Publica tu smart contract
En este ejemplo, utilizaremos las herramientas WAX-CDT para desplegar tu contrato inteligente. Consulta WAX-CDT Deploy para más información.
- En primer lugar tendremos que crear una cuenta autocustodiada en testnet o en mainnet para desplegar el smart contract. Para nuestro ejemplo vamos a suponer que la cuenta se llama mywaxrngtest
Nota: Puede utilizar las herramientas de equipo de WAXSweden para crear la cuenta testnet y suplirla con fondos que necesitará para comprar la RAM necesaria para el despliegue del smart contract.
- Desde Docker, abrimos y desbloqueamos la wallet que hemos creado en los tutoriales acerca de cómo crear el entorno de desarrollo.
cleos wallet open -n mywallet && cleos wallet unlock -n mywallet --password {wallet.pwd}
y agregamos la clave active (privada) para poder firmar las transacciones con esta nueva cuenta.
cleos wallet import --private-key {mywaxrngtest_active_private_key}
- Para ejecutar la acción inline requestrand en el contrato inteligente orng.wax, necesitarás dar a tu permiso mywaxrngtest@active el permiso adicional eosio.code. Este permiso mejora la seguridad y permite a tu contrato inteligente enviar acciones en línea. Desde la línea de comandos, ejecuta el comando
cleos set account permission
, e incluye el parámetro--add-code
.
cleos -u [chain-api-url] set account permission mywaxrngtest active --add-code
Podemos verificar el nuevo permiso ejecutando el comando cleos get account
:
cleos -u [chain-api-url] get account mywaxrngtest
- Compramos RAM para alojar el smart contract:
cleos -u [chain-api-url] push action eosio buyram '["mywaxrngtest", "mywaxrngtest", "200.00000000 WAX"]' -p mywaxrngtest@active
- Finalmente, desplegamos el smart contract en la blockchain con el comando
cleos set contract
:
cleos -u [chain-api-url] set contract mywaxrngtest mycontracts/rngtest/build/rngtest -p mywaxrngtest@active