¿Cómo crear un token?

¿Cómo crear un token?
10 min read

Si eres un apasionado de las criptomonedas y de la tecnología blockchain, ya estarás al tanto de todos los tokens que han salido en el mercado desde los inicios del bitcoin hasta hoy.

Tanto que podemos decir con gran satisfacción que, al día de hoy, existen en el mercado casi 5.000 tokens diferentes. 

Si no lo sabías, ahora te has enterado. Y también sería bueno que sepas que existen varias clases de token. Los principales son:

  1. Governance tokens
  2. Platform tokens
  3. Security tokens
  4. Transactional tokens
  5. Utility tokens

Si cómo yo, te has preguntado mil veces cómo crear un token y si es muy difícil lanzar tu propia moneda digital en el crypto mercado, hoy tendré el placer de profundizar sobre el tema y quizás ayudarte a lanzar el que será el token más popular de la historia moderna. ¿Estás listo?

Diferencia entre criptomoneda y token criptográfico  

Antes de ir al grano, es importante que sepas que en el mundo de las criptomonedas existen varios tipos de activos criptográficos y existe más de una diferencia entre las criptomonedas y los tokens criptográficos. Vamos a ver cuáles son.

CRIPTOMONEDA: Antes que todo, las criptomonedas son activos que tienen su propia cadena de bloques o registro de transacciones. Un ejemplo clave es el Bitcoin que cuenta con su propia blockchain, protocolo y token (BTC).

TOKEN: Por otro lado, los tokens usan otra blockchain en lugar de la suya propia. Un ejemplo muy popular son los tokens ERC20 que utilizan la cadena de bloques Ethereum (ETH).

Entonces, ¿Por qué algunos activos son tokens y no criptomonedas? La respuesta es casi obvia… seguramente es mucho más fácil construir sobre una plataforma ya existente que construir una desde cero. 

Es decir, si decides crear una criptomoneda, tendrás que hacerlo creando tu propia blockchain y esto te llevará mucho trabajo, tiempo y costes. En cambio, crear un token desde cero es mucho más rápido y fácil ya que se crea en una plataforma existente.

Cómo crear tu propio token

Entonces, si no quieres crear tu propia blockchain, la solución más práctica es desarrollar un token usando una  cadena de bloques existente, como Ethereum o Bitcoin.

Antes de lanzarte al desarrollo de tu token, tendrás que tener un propósito, es decir, tu token tendrá que aportar valor al ecosistema crypto o será destinado al fracaso. Junto a este punto, tendrás que construir una comunidad que te siga y que cree en tu proyecto/propósito y, finalmente, tendrás que tener algún conocimiento técnico para saber y entender cómo tiene que funcionar tu token.

Una vez que tengas claro estos puntos, tendrás que decidir en qué plataforma lanzar tu token. La mayoría de los tokens vienen creados en la blockchain de Ethereum como tokens ERC20, debido a que Ethereum fue el primero en ofrecer este servicio.

Otra plataforma muy popular que permite usar su cadena de bloques para crear aplicaciones y tokens es NEO, que utiliza el token Estándar NEP-5

La ventaja de Ethereum es que es la plataforma más popular para crear tokens y es de confianza, en cambio con NEO puedes utilizar una amplia variedad de lenguajes de programación, incluyendo C++ y Java, mientras que Ethereum sólo permite crear tokens usando su propio lenguaje de programación: Solidity.

En los próximos párrafos te enseñaremos a crear un token en la plataforma más popular por la creación de tokens: la de Ethereum.

Cómo crear un token criptográfico paso a paso

Para crear tu token en Ethereum tendrás que:

  1. Implementar un nuevo Contrato Inteligente (Smart Contract) 

Descarga el wallet de Ethereum, Mist, que también te permite minar o desarrollar token ERC20.

Una vez que hayas descargado y abierto Mist, llénalo con fondos de ETH

Ve a la pestaña:  WALLETS, haz clic en la pestaña «CONTRACTS” y luego haz clic en «Implementar nuevo contrato» (Deploy New Contract). Donde dice «Select Contract to Deploy», haz clic en el menú desplegable y selecciona «MyToken».

Ingresa este código en el campo Código fuente del contrato de Solidity que aparece:

contract MyToken {

/* Esto crea una matriz con todos los saldos. */

mapping (address => uint256) public balanceOf;

}

Donde “Mapping” vincula los saldos a las direcciones, que están en formato hexadecimal (ej. 0xab7c74abC0C4d48d1bdad5DCB26153FC8780f83E) y “Public” significa que cualquiera podrá ver los saldos de tokens de otras direcciones.

  1. Decidir el suministro de tu token

Después del código añadido anteriormente, tendrás que añadir otra línea de código que indique el suministro o límite de tokens que quieres que se creen:

function MyToken() {

balanceOf[msg.sender] = 2100000;

}

El número que está subrayado, indica que quieres un suministro de token de 21 millones, pero puedes cambiarlo y configurarlo como quieras.

Ahora ya tienes un contrato inteligente vinculado a tu token.

  1. Habilitar el envío de tu token

Ahora tendrás que configurar el token de manera que se pueda enviar. Por eso, añade este código al final del campo Solidity Contract Source Code:

/* Enviar monedas */

function transfer(address _to, uint256 _value) {

/* Comprueba si el remitente tiene saldo y si hay desbordamientos */

require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >=

balanceOf[_to]);

/* Suma y resta nuevos saldos */

balanceOf[msg.sender] -= _value;

balanceOf[_to] += _value;

}

Este código permite enviar, agregar (a las direcciones de recepción) y restar tus tokens (de las direcciones de envío). Además, para evitar que los usuarios envíen más tokens de los que tienen, se agrega una línea de código que verifica si el remitente tiene saldo y si hay desbordamientos.

  1. Configurar el nombre, el símbolo y las unidades decimales de tu token

Para cambiar el nombre, el símbolo y las unidades decimales de tu token, agrega este código:

/* Inicializa el contrato con tokens de suministro inicial para el creador del contrato. */

function MyToken(uint256 initialSupply, string tokenName, string tokenSymbol, uint8 decimalUnits) {

balanceOf[msg.sender] = initialSupply; // Da al creador todas los tokens iniciales

name = tokenName; // Configura el nombre para fines de visualización

symbol = tokenSymbol; // Configura el símbolo para fines de visualización

decimals = decimalUnits; // Cantidad de decimales para fines de visualización

}

  1. Crear un evento de transferencia de tokens

Para que los wallets de ETH sepan cuando se realizan transferencias de un token, añade un evento a través del siguiente código :

event Transfer(address indexed from, address indexed to, uint256 value);

Además, añade el siguiente código (el texto de color rojo) a la función de transferencia del paso 3 para avisar con una notificación que la transferencia tuvo lugar:

/* Enviar monedas */

function transfer(address _to, uint256 _value) {

/* Comprueba si el remitente tiene saldo y si hay desbordamientos */

require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >=

balanceOf[_to]);

/* Suma y resta nuevos saldos */

balanceOf[msg.sender] -= _value;

balanceOf[_to] += _value;

/* Notifica a todos los que estén escuchando que esta transferencia se realizó */

Transfer(msg.sender, _to, _value);

}

Si quieres copiar el código completo para crear un token ERC20 en la plataforma de Ethereum, puedes copiarlo desde la página de Github y guardarlo en un editor de texto.

6. ¡Lanza tu token!

Si has llegado hasta aquí, tienes suerte, ¡ya puedes lanzar tu token ERC20!

Sólo te falta establecer una tarifa para enviar tu transacción de contrato de token, y, una vez que tu token esté activo, haz clic en la pestaña Enviar de Mist para enviar tu token a quien quieras. 

Crear un token con MetaMask

Hay otra opción para implementar y lanzar tu nuevo token y es usando el wallet de MetaMask en vez que el de Mist.

Una vez descargada la extensión de MetaMask en el navegador, tendrás que poner dentro una cantidad de ETH, así como hicimos con Mist,  para pagar el despliegue del contrato.

En este caso, tendrás que copiar el código de contrato inteligente que pusimos anteriormente en la ventana principal de Remix.

Haz clic en la pestaña «Ejecutar», para que el Smart-Contract se pueda implementar en la cadena de bloques Ethereum. El número total de tokens definidos en el Código de Smart Contract debe asociarse y mantenerse en el MetaMask Wallet.

Haciendo clic en «Deploy», se puede implementar el Smart-Contract. Una vez que la transacción ha sido confirmada por la Blockchain de Ethereum, el número de tokens emitidos debería aparecer en MetaMask Wallet, listos para ser enviados a cualquier billetera ETH.

banner-compra-bitcoin