El sector blockchain está ganando una atención significativa con los desarrollos en curso en blockchain, Bitcoin, Ethereum, criptomonedas e ICOs. Esto me impulsó a escribir este tutorial, el primero de una serie diseñada para ayudar a las personas a comprender cómo utilizar la tecnología blockchain y las criptomonedas para crear aplicaciones impactantes.
En este tutorial, mi objetivo es guiarte a través de todo el proceso, desde configurar tu cuenta hasta emitir tu primer token en la red de prueba de Ethereum mediante un solo contrato inteligente y Metamask. Este token funcionará como un token ERC20 estándar en la red de prueba de Ethereum, equipado con características principales que pueden servir como una base versátil para aplicaciones más complejas más allá de simples transferencias.
Antes de crear tu propio token ERC20, debes preparar lo siguiente:
ERC significa Ethereum Request for Comment, siendo 20 el número de identificación de la propuesta. El propósito de ERC-20 es mejorar la red Ethereum. Es uno de los estándares ERC más significativos y se ha convertido en el marco técnico para crear tokens en la cadena de bloques de Ethereum a través de contratos inteligentes. ERC-20 establece un conjunto de reglas que todos los tokens basados en Ethereum deben cumplir, definiéndolos como activos basados en la cadena de bloques que pueden ser enviados y recibidos, tienen valor, operan en la cadena de bloques de Ethereum y generan tarifas de gas para las transacciones.
En 2015, el desarrollador alemán Fabian Vogelsteller contribuyó a la historia de Ethereum al comentar en la página de GitHub del proyecto. Este fue su comentario número 20, durante el cual mencionó por primera vez ERC-20. A medida que Ethereum se expandía rápidamente, se introdujo ERC-20 como solución a los desafíos de escalabilidad de la red.
La reconocimiento formal y la adopción de ERC-20 como una Propuesta de Mejora de Ethereum (EIP-20), co-redactada por Vogelsteller y el co-fundador de Ethereum Vitalik Buterin, ocurrió a finales de 2017.
Antes del estándar ERC-20, los creadores de tokens tenían que empezar desde cero, lo que llevaba a inconsistencias entre diferentes tokens. Los desarrolladores necesitaban entender completamente el código del contrato inteligente de otros tokens debido a la ausencia de una estructura estandarizada, lo que complicaba las cosas para las carteras y los intercambios que tenían que revisar el código de cada token para brindar soporte. Agregar nuevos tokens a las aplicaciones se convirtió en una tarea compleja.
Con la introducción del estándar ERC-20, sus características estandarizadas, interoperabilidad y transferibilidad han permitido a las carteras y los intercambios integrar múltiples tokens y facilitar los intercambios entre ellos fácilmente. Los contratos inteligentes empleados en los tokens ERC-20 pueden ejecutar y hacer cumplir automáticamente transacciones financieras complejas, lo cual es esencial para las plataformas DeFi. En estas plataformas, los tokens pueden representar varios instrumentos financieros, como préstamos o acciones en pools de liquidez.
El estándar ERC-20 especifica seis funciones obligatorias y tres opcionales que los contratos inteligentes deben implementar.
Aquí están las funciones requeridas y sus descripciones:
Además de las funciones esenciales mencionadas anteriormente, hay funciones opcionales adicionales que pueden mejorar la usabilidad del token:
Si estás familiarizado con la programación orientada a objetos, puedes pensar en ERC-20 como una interfaz. Para hacer que tu token sea un token ERC-20, debes implementar la interfaz ERC-20, lo cual requiere que incluyas estas seis funciones esenciales. Básicamente, la interfaz ERC-20 sirve como una plantilla, y cualquier contrato que pretenda ser clasificado como un token ERC-20 debe diseñar e implementar sus funciones utilizando esta plantilla.
Para comenzar a implementar su contrato en la red de prueba Ethereum Sepolia, debe instalar el MetaMaskextensión del navegador o utilizar otra billetera Web3, como Phantom, o cualquier billetera compatible con WalletConnect. Después de configurar su billetera, necesitará obtener algo de ETH de prueba. Puede obtener esto de Grifo Ethereum Sepoliaque está diseñado específicamente para la red de prueba Ethereum Sepolia. Obtener ETH de prueba es sencillo: simplemente visite el sitio web del grifo, conecte su dirección de billetera o ingrese su dirección y siga las instrucciones. También puede compartir un tweet para recompensas adicionales, o puede seleccionar la opción 'No, gracias, simplemente envíeme 0.05 ETH' para recibir su ETH de prueba directamente. Sin embargo, tenga en cuenta que necesita tener al menos 0.001 ETH en su cuenta de Ethereum mainnet para usar el grifo de monedas de prueba de QuickNode.
Actualmente, hay muchos tokens que cumplen con el estándar ERC20 y que se ejecutan en la cadena de bloques de Ethereum, desarrollados por varios grupos. Estas implementaciones difieren; algunos se centran en minimizar los costos de gas, mientras que otros priorizan mejorar la seguridad. Para crear un token fuerte y seguro, muchos desarrolladores optan por el estándar de token ERC20 de OpenZeppelin. OpenZeppelin es una biblioteca de contratos inteligentes reutilizables, exhaustivamente probada y revisada por la comunidad, que incluye un marco de token ERC20 confiable y seguro. Garantiza que el desarrollo de tokens sea conforme y seguro, convirtiéndose en la elección preferida para muchos desarrolladores de tokens hoy en día.
Para mayor facilidad y seguridad, utilizaremos el OpenZeppelin ERC-20contrato para crear nuestro token en esta guía. Con OpenZeppelin, no necesitamos escribir la interfaz completa de ERC-20; simplemente importamos el contrato de la biblioteca y utilizamos sus funciones. En este caso, emitiremos 1 millón de tokens ERC-20 llamados MNT.
A continuación, dirígete a la Ethereum RemixIDE (el entorno de desarrollo integrado para Ethereum que admite el lenguaje de programación Solidity) y crear un nuevo archivo Solidity, como - MyNewToken.sol.
Por favor, pegue el siguiente código en su nuevo script de Solidity:
// SPDX-License-Identifier: MIT pragma solidez ^0.8.20;
import “@openzeppelin/contratos/token/ERC20/ERC20.sol";
contrato MyNewToken es ERC20 { constructor() ERC20("MyNewToken", "MNT") { _mint(msg.sender, 1000000 (10 *uint256(decimales()))); } }
Esto es lo que hace el código:
El comentario SPDX-License-Identifier indica la licencia bajo la cual se libera el contrato.
La directiva Pragma especifica la versión del compilador que se utilizará.
El contrato ERC20 se importa de OpenZeppelin y sirve como base para su token.
MyNewToken es el nombre de su contrato, que hereda del contrato ERC20.
la función constructora inicializa su token con el nombre (“MyNewToken”) y el símbolo (“MNT”).
La función _mint dentro del constructor crea el suministro inicial de tokens. En este caso, se acuñan 1 millón de tokens y se asignan a la dirección que implementa el contrato. El número total de tokens se ajusta según el valor de decimales, que por defecto es 18 en la implementación de OpenZeppelin.
Como importamos el contrato inteligente ERC20 de OpenZeppelin y el contrato MyNewToken hereda de él, no es necesario definir todas las funciones nosotros mismos. Todas las funciones definidas en el contrato ERC20 están incluidas en el contrato MyNewToken. Si desea ver una versión más detallada del código completo de ERC-20, puede consultar este archivo.
Ahora, tómate un tiempo para personalizar el contrato inteligente para satisfacer tus necesidades. También puedes cambiar el nombre y el símbolo del token modificando esta sección: ERC20("MiNuevoToken","MNT").
Una vez que haya personalizado su contrato inteligente, el siguiente paso es compilarlo.
Paso 1: Haz clic en el botón Compilador de Solidity. Verifica la versión del compilador y asegúrate de que se haya seleccionado el contrato correcto. Dado que tu contrato inteligente incluye la línea pragma solidity ^0.8.20;, la versión del compilador debe ser al menos 0.8.20. A continuación, haz clic en el botón Compilar MyNewToken.sol. Si todo es exitoso, verás una marca de verificación verde en el botón de compilación.
Paso 2: NaviGate a la pestaña Deploy & Run Transactions. En la sección Environment, elija la opción Injected Provider para el despliegue. Antes de continuar, asegúrese de que su MetaMask esté configurado en la red de prueba Sepolia y que haya seleccionado el contrato MyNewToken para el despliegue. Finalmente, haga clic en el botón Deploy para desplegar su contrato.
Si no estás seguro de cómo cambiar de red, abre la extensión de MetaMask, haz clic en el selector de red en la esquina superior izquierda y elige Sepolia. Si no está visible, asegúrate de que la opción "Mostrar redes de prueba" esté habilitada. Para obtener instrucciones sobre cómo agregar la URL de RPC de QuickNode a MetaMask, por favor consulta el Guía de QuickNode.
Paso 3: Confirmar la transacción en MetaMask:
¡Felicidades! ¡Tu contrato de token ha sido desplegado exitosamente en la red de prueba Sepolia de Ethereum y oficialmente eres dueño de tu primer token!
El sector blockchain está ganando una atención significativa con los desarrollos en curso en blockchain, Bitcoin, Ethereum, criptomonedas e ICOs. Esto me impulsó a escribir este tutorial, el primero de una serie diseñada para ayudar a las personas a comprender cómo utilizar la tecnología blockchain y las criptomonedas para crear aplicaciones impactantes.
En este tutorial, mi objetivo es guiarte a través de todo el proceso, desde configurar tu cuenta hasta emitir tu primer token en la red de prueba de Ethereum mediante un solo contrato inteligente y Metamask. Este token funcionará como un token ERC20 estándar en la red de prueba de Ethereum, equipado con características principales que pueden servir como una base versátil para aplicaciones más complejas más allá de simples transferencias.
Antes de crear tu propio token ERC20, debes preparar lo siguiente:
ERC significa Ethereum Request for Comment, siendo 20 el número de identificación de la propuesta. El propósito de ERC-20 es mejorar la red Ethereum. Es uno de los estándares ERC más significativos y se ha convertido en el marco técnico para crear tokens en la cadena de bloques de Ethereum a través de contratos inteligentes. ERC-20 establece un conjunto de reglas que todos los tokens basados en Ethereum deben cumplir, definiéndolos como activos basados en la cadena de bloques que pueden ser enviados y recibidos, tienen valor, operan en la cadena de bloques de Ethereum y generan tarifas de gas para las transacciones.
En 2015, el desarrollador alemán Fabian Vogelsteller contribuyó a la historia de Ethereum al comentar en la página de GitHub del proyecto. Este fue su comentario número 20, durante el cual mencionó por primera vez ERC-20. A medida que Ethereum se expandía rápidamente, se introdujo ERC-20 como solución a los desafíos de escalabilidad de la red.
La reconocimiento formal y la adopción de ERC-20 como una Propuesta de Mejora de Ethereum (EIP-20), co-redactada por Vogelsteller y el co-fundador de Ethereum Vitalik Buterin, ocurrió a finales de 2017.
Antes del estándar ERC-20, los creadores de tokens tenían que empezar desde cero, lo que llevaba a inconsistencias entre diferentes tokens. Los desarrolladores necesitaban entender completamente el código del contrato inteligente de otros tokens debido a la ausencia de una estructura estandarizada, lo que complicaba las cosas para las carteras y los intercambios que tenían que revisar el código de cada token para brindar soporte. Agregar nuevos tokens a las aplicaciones se convirtió en una tarea compleja.
Con la introducción del estándar ERC-20, sus características estandarizadas, interoperabilidad y transferibilidad han permitido a las carteras y los intercambios integrar múltiples tokens y facilitar los intercambios entre ellos fácilmente. Los contratos inteligentes empleados en los tokens ERC-20 pueden ejecutar y hacer cumplir automáticamente transacciones financieras complejas, lo cual es esencial para las plataformas DeFi. En estas plataformas, los tokens pueden representar varios instrumentos financieros, como préstamos o acciones en pools de liquidez.
El estándar ERC-20 especifica seis funciones obligatorias y tres opcionales que los contratos inteligentes deben implementar.
Aquí están las funciones requeridas y sus descripciones:
Además de las funciones esenciales mencionadas anteriormente, hay funciones opcionales adicionales que pueden mejorar la usabilidad del token:
Si estás familiarizado con la programación orientada a objetos, puedes pensar en ERC-20 como una interfaz. Para hacer que tu token sea un token ERC-20, debes implementar la interfaz ERC-20, lo cual requiere que incluyas estas seis funciones esenciales. Básicamente, la interfaz ERC-20 sirve como una plantilla, y cualquier contrato que pretenda ser clasificado como un token ERC-20 debe diseñar e implementar sus funciones utilizando esta plantilla.
Para comenzar a implementar su contrato en la red de prueba Ethereum Sepolia, debe instalar el MetaMaskextensión del navegador o utilizar otra billetera Web3, como Phantom, o cualquier billetera compatible con WalletConnect. Después de configurar su billetera, necesitará obtener algo de ETH de prueba. Puede obtener esto de Grifo Ethereum Sepoliaque está diseñado específicamente para la red de prueba Ethereum Sepolia. Obtener ETH de prueba es sencillo: simplemente visite el sitio web del grifo, conecte su dirección de billetera o ingrese su dirección y siga las instrucciones. También puede compartir un tweet para recompensas adicionales, o puede seleccionar la opción 'No, gracias, simplemente envíeme 0.05 ETH' para recibir su ETH de prueba directamente. Sin embargo, tenga en cuenta que necesita tener al menos 0.001 ETH en su cuenta de Ethereum mainnet para usar el grifo de monedas de prueba de QuickNode.
Actualmente, hay muchos tokens que cumplen con el estándar ERC20 y que se ejecutan en la cadena de bloques de Ethereum, desarrollados por varios grupos. Estas implementaciones difieren; algunos se centran en minimizar los costos de gas, mientras que otros priorizan mejorar la seguridad. Para crear un token fuerte y seguro, muchos desarrolladores optan por el estándar de token ERC20 de OpenZeppelin. OpenZeppelin es una biblioteca de contratos inteligentes reutilizables, exhaustivamente probada y revisada por la comunidad, que incluye un marco de token ERC20 confiable y seguro. Garantiza que el desarrollo de tokens sea conforme y seguro, convirtiéndose en la elección preferida para muchos desarrolladores de tokens hoy en día.
Para mayor facilidad y seguridad, utilizaremos el OpenZeppelin ERC-20contrato para crear nuestro token en esta guía. Con OpenZeppelin, no necesitamos escribir la interfaz completa de ERC-20; simplemente importamos el contrato de la biblioteca y utilizamos sus funciones. En este caso, emitiremos 1 millón de tokens ERC-20 llamados MNT.
A continuación, dirígete a la Ethereum RemixIDE (el entorno de desarrollo integrado para Ethereum que admite el lenguaje de programación Solidity) y crear un nuevo archivo Solidity, como - MyNewToken.sol.
Por favor, pegue el siguiente código en su nuevo script de Solidity:
// SPDX-License-Identifier: MIT pragma solidez ^0.8.20;
import “@openzeppelin/contratos/token/ERC20/ERC20.sol";
contrato MyNewToken es ERC20 { constructor() ERC20("MyNewToken", "MNT") { _mint(msg.sender, 1000000 (10 *uint256(decimales()))); } }
Esto es lo que hace el código:
El comentario SPDX-License-Identifier indica la licencia bajo la cual se libera el contrato.
La directiva Pragma especifica la versión del compilador que se utilizará.
El contrato ERC20 se importa de OpenZeppelin y sirve como base para su token.
MyNewToken es el nombre de su contrato, que hereda del contrato ERC20.
la función constructora inicializa su token con el nombre (“MyNewToken”) y el símbolo (“MNT”).
La función _mint dentro del constructor crea el suministro inicial de tokens. En este caso, se acuñan 1 millón de tokens y se asignan a la dirección que implementa el contrato. El número total de tokens se ajusta según el valor de decimales, que por defecto es 18 en la implementación de OpenZeppelin.
Como importamos el contrato inteligente ERC20 de OpenZeppelin y el contrato MyNewToken hereda de él, no es necesario definir todas las funciones nosotros mismos. Todas las funciones definidas en el contrato ERC20 están incluidas en el contrato MyNewToken. Si desea ver una versión más detallada del código completo de ERC-20, puede consultar este archivo.
Ahora, tómate un tiempo para personalizar el contrato inteligente para satisfacer tus necesidades. También puedes cambiar el nombre y el símbolo del token modificando esta sección: ERC20("MiNuevoToken","MNT").
Una vez que haya personalizado su contrato inteligente, el siguiente paso es compilarlo.
Paso 1: Haz clic en el botón Compilador de Solidity. Verifica la versión del compilador y asegúrate de que se haya seleccionado el contrato correcto. Dado que tu contrato inteligente incluye la línea pragma solidity ^0.8.20;, la versión del compilador debe ser al menos 0.8.20. A continuación, haz clic en el botón Compilar MyNewToken.sol. Si todo es exitoso, verás una marca de verificación verde en el botón de compilación.
Paso 2: NaviGate a la pestaña Deploy & Run Transactions. En la sección Environment, elija la opción Injected Provider para el despliegue. Antes de continuar, asegúrese de que su MetaMask esté configurado en la red de prueba Sepolia y que haya seleccionado el contrato MyNewToken para el despliegue. Finalmente, haga clic en el botón Deploy para desplegar su contrato.
Si no estás seguro de cómo cambiar de red, abre la extensión de MetaMask, haz clic en el selector de red en la esquina superior izquierda y elige Sepolia. Si no está visible, asegúrate de que la opción "Mostrar redes de prueba" esté habilitada. Para obtener instrucciones sobre cómo agregar la URL de RPC de QuickNode a MetaMask, por favor consulta el Guía de QuickNode.
Paso 3: Confirmar la transacción en MetaMask:
¡Felicidades! ¡Tu contrato de token ha sido desplegado exitosamente en la red de prueba Sepolia de Ethereum y oficialmente eres dueño de tu primer token!