Crear y acuñar un token de activo fungible
En este tutorial, aprenderás cómo crear y acuñar un token de activo fungible en la red principal de WAX.
Antes de Comenzar
Necesitarás completar nuestro Inicio Rápido con Docker (recomendado) y usar la Guía de desarrollo para la Blockchain de WAX para construir desde el código fuente.
Para compilar y desplegar tu contrato inteligente, necesitarás utilizar el Kit de Desarrollo de Contratos de WAX (WAX-CDT).
Para desplegar tu contrato inteligente en la red principal de WAX o en la red de pruebas de WAX, necesitarás crear una Cuenta de Blockchain de WAX autogestionada.
Clonar el Contrato Inteligente desde GitHub
Clona el contrato inteligente de activo fungible desde el repositorio de GitHub de WAX:
shellgit clone https://github.com/worldwide-asset-exchange/wax-system-contracts.git
Navega al directorio del contrato inteligente:
shellcd wax-system-contracts/contracts/eosio.token
IMPORTANTE
Para las acciones que vamos a realizar a continuación es necesario desbloquear la wallet
cleos wallet unlock
NOTA
Sustituye estas variables por tus propios valores:
<TOKEN_ACCOUNT_NAME>
: Nombre de la cuenta del token de activo fungible (Será el propietario del token de activo fungible).<OWNER_PUBLIC_KEY>
: Clave pública de la cuenta del token de activo fungible.<ACTIVE_PUBLIC_KEY>
: Clave pública activa de la cuenta del token de activo fungible.<ACTIVE_PRIVATE_KEY>
: Clave privada activa de la cuenta del token de activo fungible.<MAX_ISSUE>
: Cantidad máxima de tokens de activo fungible a acuñar.<SYMBOL>
: Símbolo del token de activo fungible.<AMOUNT>
: Cantidad de tokens de activo fungible a acuñar (issue) o a enviar (transfer). El total de tokens acuñados no puede exceder el valor de<MAX_ISSUE>
.
Crea una cuenta para el token de activo fungible:
shellcleos create account eosio <TOKEN_ACCOUNT_NAME> <OWNER_PUBLIC_KEY> <ACTIVE_PUBLIC_KEY>
Agrega la cuenta del token de activo fungible a la wallet:
shellcleos wallet import --private-key <ACTIVE_PRIVATE_KEY>
Compila el contrato inteligente:
shellmkdir build cd build cmake .. make
Despliega el contrato inteligente en la red principal de WAX:
shellcleos set contract eosio.token ../ --abi eosio.token.abi -p <TOKEN_ACCOUNT_NAME>@active
Acuña el token de activo fungible:
shellcleos push action <TOKEN_ACCOUNT_NAME> create '["<TOKEN_ACCOUNT_NAME>", "<MAX_ISSUE> <SYMBOL>"]' -p <TOKEN_ACCOUNT_NAME>@active
Verifica que el token de activo fungible se haya acuñado correctamente:
shellcleos get currency stats <TOKEN_ACCOUNT_NAME> <SYMBOL>
Acuñar tokens de activo fungible adicionales:
shellcleos push action <TOKEN_ACCOUNT_NAME> issue '["<TOKEN_ACCOUNT_NAME>", "<AMOUNT> <SYMBOL>", "memo"]' -p <TOKEN_ACCOUNT_NAME>@active
Verifica que los tokens de activo fungible adicionales se hayan acuñado correctamente:
shellcleos get currency stats <TOKEN_ACCOUNT_NAME> <SYMBOL>
Transferir tokens de activo fungible a otra cuenta:
shellcleos push action <TOKEN_ACCOUNT_NAME> transfer '["<TOKEN_ACCOUNT_NAME>", "<RECIPIENT_ACCOUNT_NAME>", "<AMOUNT> <SYMBOL>", "memo"]' -p <TOKEN_ACCOUNT_NAME>@active
Verifica que los tokens de activo fungible se hayan transferido correctamente:
shellcleos get currency balance <TOKEN_ACCOUNT_NAME> <RECIPIENT_ACCOUNT_NAME> <SYMBOL>
¡Felicidades! Has creado y acuñado un token de activo fungible en la red principal de WAX.