Desarrollo de tokens Ethereum para desarrolladores Web3 principiantes

Guía paso a paso para principiantes en web3 sobre cómo desarrollar y desplegar un token ERC-20 en Ethereum usando OpenZeppelin, Hardhat, Infura y MetaMask, incluyendo el despliegue en la testnet de Linea.

4 min de lectura
Desarrollo de tokens Ethereum para desarrolladores Web3 principiantes

Como principiante en el desarrollo web3, desarrollar y desplegar tu propio token es una de las formas más populares de comenzar a crear software on-chain, mejorar tus habilidades en Solidity y comprender el ciclo de vida del desarrollo web3.

En Ethereum, existen diversos estándares de tokens, que son el conjunto predefinido de reglas que los tokens deben seguir para garantizar la compatibilidad, el cumplimiento y la interoperabilidad con la red Ethereum y otras dapps.

Estos estándares incluyen ERC-20 para tokens fungibles, ERC-721 para tokens no fungibles (NFTs), ERC-1155 para múltiples tipos de tokens, ERC-777 para funcionalidades avanzadas de tokens, ERC-1400 para security tokens y ERC-4626 para vaults tokenizados.

En este blog, desarrollaremos un token ERC-20 aprovechando OpenZeppelin, una librería que proporciona implementaciones seguras y probadas de plantillas estándar de smart contracts. Te guiaremos a través de la configuración de tu entorno de desarrollo, la escritura del contrato del token y su despliegue en la red layer 2 de Linea.

Paso 1: Configura tu entorno de desarrollo con Hardhat

Antes de comenzar a desarrollar tu token de Ethereum, deberás configurar tu entorno de desarrollo. En este blog, utilizaremos Hardhat. Sigue los pasos a continuación:

  1. Instala Node.js y npm: Node.js es un entorno de ejecución de JavaScript y npm es su gestor de paquetes. Descárgalos e instálalos desde el sitio web oficial de Node.js.

  2. Crea un nuevo proyecto de Hardhat: Abre tu terminal, crea un nuevo directorio para tu proyecto y navega hasta él. Luego, ejecuta:


mkdir my-token

cd my-token

npm init -y

npm install --save-dev hardhat

npx hardhat
Copiar
  1. Instala los plugins necesarios de Hardhat y los contratos de OpenZeppelin:


npm install @nomiclabs/hardhat-ethers ethers @openzeppelin/contracts
Copiar

Paso 2: Crea tu token de Ethereum

Sigue estos pasos para crear un token ERC-20 sencillo:

  1. Crea un contrato de token: En tu proyecto de Hardhat, navega al directorio de contratos y crea un nuevo archivo llamado MyToken.sol. Abre este archivo y define tu contrato de token:


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {

    constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {

        _mint(msg.sender, initialSupply);

    }

}
Copiar

Este smart contract crea un token ERC-20 llamado "MyToken" con el símbolo "MTK" utilizando la librería de OpenZeppelin. Al desplegarse, acuña un suministro inicial de tokens especificado por el deployer y los asigna a su dirección.

  1. Escribe un script de despliegue: En el directorio de scripts, crea un nuevo archivo llamado deploy.js y añade el siguiente código para desplegar tu contrato:


async function main() {

  const [deployer] = await ethers.getSigners();

  console.log("Deploying contracts with the account:", deployer.address);

  const MyToken = await ethers.getContractFactory("MyToken");

  const myToken = await MyToken.deploy(1000000);

  console.log("MyToken deployed to:", myToken.address);

}

main()

  .then(() => process.exit(0))

  .catch((error) => {

    console.error(error);

    process.exit(1);

  });
Copiar

El script anterior despliega el smart contract "MyToken" utilizando Hardhat y ethers.js, inicializándolo con un suministro de 1.000.000 de tokens. Recupera la dirección del deployer y despliega el contrato.

  1. Compila y despliega tu contrato localmente: En tu terminal, compila y despliega tu contrato en una blockchain local proporcionada por Hardhat:


npx hardhat compile

npx hardhat run scripts/deploy.js --network localhost
Copiar

Paso 3: Despliega tu contrato de token en la testnet de Linea

Ahora que hemos desarrollado y desplegado nuestro token ERC-20 localmente, es momento de desplegarlo en la testnet de Linea utilizando Infura y MetaMask. Sigue estos pasos para poner tu token en funcionamiento en la testnet de Linea.

  1. Configura una cuenta de Infura: Infura proporciona acceso sencillo a las distintas redes blockchain y sus testnets. Crea un nuevo proyecto, selecciona la testnet Linea Sepolia en el menú de redes compatibles y copia el ID del proyecto.

  2. Configura MetaMask: Abre tu wallet de MetaMask y navega a la sección de redes. En el menú desplegable, asegúrate de que la opción "mostrar redes de prueba" esté activada. Luego selecciona la testnet Linea Sepolia.

  3. Obtén ETH de Linea Sepolia: Al desplegar tu contrato, necesitarás ETH de Linea Sepolia para pagar las comisiones de gas. Puedes obtener ETH de Linea visitando el faucet oficial de Linea Sepolia.

  4. Actualiza la configuración de Hardhat: En tu proyecto de Hardhat, actualiza tu hardhat.config.js para incluir la configuración de la testnet de Linea:


require("@nomiclabs/hardhat-ethers");

require("dotenv").config();

module.exports = {

  solidity: "0.8.0",

  networks: {

    lineaTestnet: {

      url: `https://linea-sepolia.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,

      accounts: [`0x${process.env.PRIVATE_KEY}`],

      chainId: 59141

    }

  }

};
Copiar

Asegúrate de que tu archivo .env contenga las variables de entorno necesarias:


INFURA_PROJECT_ID=your_infura_project_id

PRIVATE_KEY=your_private_key
Copiar
  1. Despliega tu contrato en la testnet Linea Sepolia

Ahora, para desplegar tu contrato de token en la testnet de Linea, ejecuta este comando:


npx hardhat compile

npx hardhat run scripts/deploy.js --network lineaTestnet
Copiar

Este script desplegará tu contrato de token ERC-20 en la testnet de Linea utilizando la cuenta conectada a MetaMask.

Impulsa el desarrollo de tu dapp web3 con MetaMask Developer

Al dominar los fundamentos del desarrollo de tokens en Ethereum, configurar tu entorno de desarrollo y seguir las mejores prácticas, podrás desarrollar y desplegar con éxito tu propio token de Ethereum. Ya sea creando una nueva criptomoneda o tokenizando un activo, Ethereum ofrece las herramientas y el ecosistema necesarios para dar vida a tus ideas.

Visita el portal de MetaMask Developer para necesidades de desarrollo más avanzadas, como Sign-in-with-Ethereum (SIWE), soporte para EIP-6963 e integración fluida con MetaMask a través de Snaps. Ofrece un conjunto completo de herramientas, APIs y SDKs diseñados para simplificar el onboarding de usuarios y permitir a los desarrolladores crear conexiones de wallet únicas y sin permisos, así como experiencias dentro de la dapp adaptadas para los usuarios de MetaMask.

Traducido por IA. Puede contener errores. Por favor, verifique siempre la información.

Califica la traducción
  • Kingsley Okonkwo
    Kingsley Okonkwo

    Kingsley, a certified Ethereum Blockchain developer, serves as a technical writer at Consensys, with a special focus on developer tools. Before joining Consensys, Kingsley worked as a freelance backend developer on sevral platforms including Gigster and Braintrust. Boasting 5 years of software development experience, he's proficient with tools such as JavaScript (Node.js & React), GoLang, SQL, and Docker. Kingsley excels in producing step-by-step tutorials and how-to guides, utilizing the latest in web3 technology to help fellow developers build better dapps. Currently based in Dubai, Kingsley enjoys playing basketball and soccer in his free time

    Leer todos los artículos