Los tokens dentro del mundo de las criptomonedas y las Blockchain están agarrando una enorme popularidad, tanto que son cada vez más lo que existen en el mercado.
Actualmente hay más de cinco mil tokens diferentes que puedes comprar o tradear, ofreciendo algunas ventajas en materia económica.
SI eres de los que les gustan las criptomonedas, quizás en algún punto te has preguntado cómo crear un token criptográfico. Antes de entrar en materia debes saber que existen varias clases de tokens, pero los principales son:
- Governance tokens
- Platform tokens
- Security tokens
- Transactional tokens
- Utility tokens
Otra cosa que debes tener muy en cuenta antes de crear tu token es saber la diferencia frente a las criptomonedas.
Token vs criptomonedas
Dentro del mundo de las criptomonedas existen varios tipos de activos criptográficos, entre ellos por supuesto tenemos el token y las cripto, cada una con sus diferencias marcadas.
Las criptomonedas son activos que tienen su propia cadena de bloques o registro de transacciones. Por ejemplo, el Bitcoin tiene su propia Blockchain, protocolo y token llamado BTC.
El token por su parte, hacen uso de otras Blockchain el lugar de las suyas propias. Un ejemplo muy popular son los tokens ERC20 que utilizan la cadena de bloques Ethereum (ETH).
Otra de las diferencias es que construir un token es mucho más sencillo que una cripto.
Es decir, si decides crear una criptomoneda, tendrás que hacerlo creando tu propia blockchain y esto te llevará mucho trabajo. 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 se crea un token criptográfico?
Una vez ya tengas definida la idea, deberás elegir una blockchain en la que albergar tu token. Recomendamos la de Ethereum o Bitcoin.
Recuerda que tu token debe tener un propósito, es decir, aportar algún valor al ecosistema cripto o será un rotundo fracaso. Además, deberás construir una comunidad que siga y respalde el proyecto.
Una vez que tengas claro estos puntos, tendrás que decidir en qué plataforma lanzar tu token. La mayoría de los tokens recién creados fueron armados en la blockchain de Ethereum como tokens ERC20, debido a que Ethereum fue el primero en ofrecer este servicio.
Otra plataforma usada es NEO, ya que este te permite trabajar con diferentes lenguajes de programación como C++ y Java, mientras que Ethereum sólo permite crear tokens usando su propio lenguaje de programación, Solidity.
Ahora bien, pasemos a la creación del token.
Primero, deberás implementar un nuevo Contrato Inteligente o Smarth Contract. Para ello descarga la 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. Ahora ve a la pestaña “Wallets” y has clic en “Ccontracts”, ahora pulsas “implementar nuevo contrato”.
Donde dice “Select Contract to Deploy”, buscarás el menú plegable y seleccionas “My Token”. Añadirás el siguiente código en el campo Código fuente del contrato de Solidity.
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.
Ahora vamos al segundo paso. Aquí decidirás cuántos tokens vas a crear. Para ellos deberás incluir el siguiente código:
function MyToken() {
balanceOf[msg.sender] = 2100000;
}
En este ejemplo vemos que el número de tokens a suministrar será de 21 millones, pero puedes cambiarlo a voluntad.
En el tercer paso tendremos que habilitar el envío de tu token. Para lograr eso tendremos que añadir el siguiente código:
/* 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;
}
Con ese código podrás enviar, agregar y restar tus tokens de las direcciones de envío. Además podrás evitar que los usuarios envíen más tokens de los que tienen.
El cuarto paso es en donde le darás nombre, símbolo y unidades decimales al token. Para lograr esto simplemente tienen que copiar 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
}
Ahora para el quinto paso, debemos informar a los wallets de ETH cuando se realicen trasferencias de un token, por eso debemos añadir el siguiente evento.
Crear un evento de transferencia de tokens
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);
}
Por último ahora viene el lanzamiento de tu token. Ya solo debes fijar la tarifa de transacción y cuando esté activo solo debes darle a “enviar” en Mist y listo.