Le contamos cómo lanzar un contrato de ICO en la red ethereum usando un contrato inteligente y una cartera MyEtherWallet.
Los tokens serán del estándar ERC-20, y configuraremos algunos parámetros, incluyendo el tipo de cambio de nuestros tokens por ethereum (por separado durante el período de bonificación y después de él). ¿Por dónde empezar?
Para crear su propio token, necesitamos varios componentes:
- Una dirección de ethereum (red Ropsten)
- Un poco de ethereum (red Ropsten)
- Un editor de texto (por ejemplo, Sublime o Atom)
- Un contrato en el lenguaje Solidity
Dirección de ethereum
- No vamos a gastar ethers reales, sino que para lanzar nuestros tokens utilizaremos una red de prueba llamada Ropsten Test. Primero, vaya a MyEtherWallet y cree una cuenta allí.
- Ahora, en la esquina superior derecha, cambie a la red Ropsten (MyEtherWallet) → Introduzca una contraseña que pueda recordar → Haga clic en el botón New Wallet (Crear nueva cartera) → Guarde el archivo con las claves en un lugar seguro → Guarde la clave secreta en un lugar seguro.
- Para ver la dirección de la cartera, vaya a View Wallet Info (Ver información de la cartera) → Private Key (Clave privada) → Introduzca la clave privada guardada → Desbloquee la cartera: ahora debería estar disponible.
Editor de texto
Descargue uno de los siguientes editores de texto:
Contrato
Descargue un ejemplo de contrato inteligente en el lenguaje Solidity. Edite el código y obtenga su propio contrato inteligente para la ICO.
Ethers Ropsten
Hemos creado un servicio desde el cual puede solicitar ethers Ropsten. Simplemente vaya a https://faucet.bitfwd.xyz/ y copie su dirección ropsten en el formulario, y nuestro contrato inteligente le enviará algunas monedas.
Entonces, empecemos:
- Abra el contrato descargado en el editor de texto seleccionado.
- Vaya a las líneas 3 a 15. Como puede ver, este es un comentario, pero es necesario. Comencemos especificando el nombre de la plantilla ICO: contrato de tokens CROWDSALE “bitfwd”.
- Cambie el nombre que aparece en la línea 4 por el nombre de su ICO.
- Después de desplegar el contrato en el blockchain, puede cambiar la línea 6.
- Cambie Symbol en la línea 7 por el nombre de la moneda (que sea breve).
- En la línea 8, escriba el nombre de su token.
- Vaya a la línea 102 y cambie “bitfwd” a “NombreICO”. Sin espacio, de lo contrario, no funcionará.
- Lo mismo debe hacerse en la línea 118.
- Vaya a la línea 119 y cambie el nombre de la moneda (Symbol), al igual que en la sección de comentarios. Haga lo mismo en la línea 120.
- En la línea Decimals (Decimales), deje 18.
- En la línea 122, debe definir el primer parámetro de su ICO: cuándo finaliza el periodo de bonificación.
- Y en la línea 123, se indica el tiempo de finalización de la colocación inicial de monedas.
- Ahora vaya a la línea 212. En este comentario, debe especificar cuántos tokens recibirá por cada ether.
- En la línea 218, determine cuántos tokens recibirán las personas por cada ether mientras dure el período de bonificación.
- En la línea 220, determine cuántos tokens se emitirán por cada ether después del final del período de bonificación (aquí se usa la misma relación que en la línea 212).
“Msg.value” es el número de ethers enviados por alguien, por lo que si tomo mi contrato como ejemplo, doy 1.000 FWD por cada ether.
¡El contrato ya está listo! Ahora lo más interesante.
- Vaya a http://remix.ethereum.org/.
- En el campo browser/ballot.sol, introduzca el código recién editado. Si hay algún mensaje rojo, eso significa que hay algunos errores en el código. Sin embargo, si se encuentra con algunas advertencias amarillas, no se preocupe.
- Ahora en la sección de Compile (Compilación), seleccione el token generado y haga clic en Details (Detalles).
- En la sección ByteCode, haga clic en el botón Copiar para copiar el código en el portapapeles.
- Ahora péguelo en el editor de código. Hay un montón de texto, ¡pero no tenga miedo! Lo único que necesitamos es el objeto BYTECODE (una gran secuencia de números y letras). Este es su aspecto: “object”: “BYTECODE”.
- Añada “0x” al principio del BYTECODE. Ahora debe ser “object”: “0xBYTECODE” (si tiene dudas vaya aquí). Copie la línea a un nuevo archivo en un editor de texto.
- Ahora vaya a MEW, donde comenzaremos a implementar el contrato. Verifique que la red de prueba de Ropsten esté seleccionada en la esquina superior derecha.
- Vaya a la pestaña Contracts (Contratos) y haga clic en Deploy Contract (Implementar contrato).
- Inserte su bytecode en el campo ByteCode. Al mismo tiempo, el límite de gas debe actualizarse automáticamente. Acceda a la cartera yendo a la sección Private Key (Clave privada)
- Ahora haga clic en Sign Transaction (Firmar transacción) y luego en Deploy Contract (Implementar contrato).
Haga clic en transacción tx o vaya a https://ropsten.etherscan.io para verificar si el contrato ha funcionado. Si no ha funcionado, comience nuevamente y trate de entender en qué se ha equivocado. Si ha funcionado, ¡enhorabuena! Si todo funciona, entonces debería ver algo así:
Ahora necesita registrar este contrato. Para hacerlo, en la sección Overview (Descripción general), haga clic en la dirección del contrato, luego vaya a la pestaña Contract Code (Código de contrato). Haga clic en Verify and Publish (Verificar y Publicar).
Los siguientes pasos son muy importantes, así que tenga cuidado. El código que implementamos y registramos ahora permanecerá en la red para siempre.
Por lo tanto, si comete un error, no podrá corregirlo.
En esta página debe realizar 5 acciones.
- Asegúrese de que el contenido del campo dirección del contrato coincida con la dirección del contrato que acaba de implementar. Recuerde que la dirección del contrato es diferente de la dirección de la cartera de MEW, y no los confunda.
- El nombre del contrato debe coincidir con el nombre en el código, en mi caso es bitfwdToken (vea la línea 102 del contrato).
- Para comprobar la versión del compilador, vuelva a la página en la que copió el BYTECODE, y mire en la barra de direcciones del navegador, ahí podrá ver la versión del compilador. En la mayoría de los casos, será algo como: v0.4.19 + commit.c4cbbb05.js
- En la sección de Optimisation (Optimización), seleccione No (No) (no la hemos activado antes).
- En el campo titulado ENTER THE SOLIDITY CONTRACT CODE BELOW (Introducir código de contrato Solidity debajo), copie todo el código de Remix. ¡No el BYTECODE, sino el código en sí! También puede copiarlo desde un editor de texto.
Deje el resto de los campos en blanco y haga clic en Verify and Publish (Verificar y publicar).
¡Este es el momento que estábamos esperando!
Si le aparece un mensaje de que todo está bien, y todos los tics están verdes, entonces todo está listo.
Si aparece un mensaje rojo, debe volver a intentarlo y buscar el error en uno de los pasos.
¿Y cómo funciona?
Sencillamente. Envíe ethers Ropsten a la nueva dirección de contrato y este le enviará nuevos tokens en respuesta a la tasa especificada en el código. Y esto se aplica a cualquier persona que realice esta operación.
Los ethers Ropsten se envían a la dirección del propietario del contrato.
Nota
Este contrato no ha sido verificado, por lo que si desea implementarlo en la red principal, primero contrate a alguien que entienda lo que hace.
Preparado por José Rodríguez