January 31, 2022

Como crear un Token BEP20

Introducción

BEP20 es en Binance Smart Chain el equivalente al popular token ERC20 de la red de Ethereum. La diferencia es que el token BEP20 no corre en la red de Ethereum sino en la red de Binance Smart Chain. Más allá de esta diferencia, como BSC (Binance Smart Chain) implementa la Ethereum Virtual Machine (EVM) para todos sus Smart Contracts, estos terminan siendo prácticamente lo mismo en especificación e implementación. Esta guía te guiará en el proceso de como crear tu propio token BEP20.

Prerrequisitos

  • Extension Metamask en el navegador
  • Estar familiarizado con Remix IDE

Agregando la Testnet de BSC en tu billetera Metamask

La primera cosa que hay que hacer para este nuevo proyecto es configurar la BSC Testnet en tu billetera Metamask.

Puedes hacer esto abriendo Metamask, haciendo click en la opción de Networks y luego en la opción de Custom RPC. Para configurar que tu billetera se conecte con la BSC Testnet, deberás de llenar los campos como en la siguiente imagen


Consiguiendo Test BNB para tu billetera

El próximo paso que deberás realizar es conseguir un poco de BNB para jugar un poco con él. BNB es la moneda nativa de BSC, BNB es lo que sería ETH en Ethereum. Para poder conseguir un poco de Test BNB, deberias de dirigirte aqui


Puedes copiar tu dirección de MetaMask y ponerla en el campo disponible para llenar en la web para obtener BNB. Con nuestro nuevo BNB en la billetera, podemos ir gastando un poco!

Programando el token

Como BSC usa la EVM, el código para crear un token ERC-20 y un token BEP20 es el mismo. Lo que nos permite agarrar la especificación del token ERC de OpenZepellin y usarlo en nuestro smart contract.

Lo siguiente a realizar es abrir una nueva pestaña e ir a Remix IDE y crear un nuevo Workspace.

En la carpeta contracts, crearemos un nuevo contrato llamado BEP20.sol

En este nuevo archivo puedes escribir el siguiente código:

// contracts/BEP20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

contract BEP20 is ERC20 {
    constructor(uint256 initialSupply) ERC20("BEP20Test", "BPT") {
        _mint(msg.sender, initialSupply;)
    }
}

Línea 1/2: La licencia y donde el archivo está ubicado

Línea 3: Configuramos el compilador de solidity a la versión 0.8.0.

Línea 5: Importa el contrato ERC20 de OpenZeppelin. Podemos usar esta especificación para implementar nuestro nuevo token. Esto es un estándar que permite a otras billeteras y programas interactuar fácilmente con el nuevo token.

Línea 7: Esto especifica un nuevo contrato. Puedes renombrar BEP20 por cualquier cosa. Sin embargo la parte de ERC20 es la parte de solidity que indica que usa el contrato ERC20 que importamos en la línea 5.

Línea 8: El constructor de una función va a ser invocado cuando hagamos deploy de nuestro contrato en la red de test de BSC. Vamos a darle un solo parámetro initialSupply de tipo uint256. Luego vamos a usar la funcionalidad ERC20 que importamos de OpenZepellin. Este tiene dos parámetros: El primero es el nombre del token y el segundo el símbolo del token. En nuestro caso el token será BEP20Test y será mostrado con el símbolo BPT.

Línea 9: La llamada a _mint creará el token y enviará en los token recién montados a msg.sender que será quien deploye el contrato en la testnet. En este caso, tu! Creará la cantidad de token que nosotros le hemos pasado en initialSupply.

Nota: Creará la cantidad de tokens de InitialSupply en formato WEI que es 1e-18. Entonces, para crear 100 tokens, necesitas pasarle 100000000000000000000

Deployando el token

Con el contrato BEP20.sol escrito, ahora tenemos que deployar el contrato hacia la BSC Testnet. Haz click en BEP20.sol y abre la pestaña del compilador, cambia la versión del compilador a 0.8.0+commit.c7dfd78e. Haz click en el botón azul que indica Compile BEP20.sol


Luego de compilar el contrato estás listo para hacer deploy! Haz click en la sección de Deploy & Run Transactions en Remix y cambia el valor de Environments a 'Injected Web 3'. Si no tienes conectado Metamask a Remix, te pedirá que lo conectes con la página web antes de pedir tu confirmación.

Luego de que conectes Metamask en Remix, deberías ver tu dirección en el campo Account. Si este es el caso, entonces ahora selecciona el contracto BEP20 en la opción de Contract. Deberás de ver un botón naranja que dice Deploy, y luego un campo al lado del mismo, este es el argumento que le pasaremos al contrato, el parámetro initialSupply que vimos anteriormente

Crearemos 100 tokens, para hacerlo pasaremos el valor 100000000000000000000 y haremos clic en Deploy.

Deberás de aceptar la transacción en metamast, costara algo de BNB para poder deployar algo en la red.


Si has hecho todo correctamente hasta este punto, debes de ver un mensaje de éxito en la terminal!

Puedes copiar la dirección del contrato en la parte de Deployed Contracts y luego verificarla en bscsscan. Podrás ver tu dirección en el campo from y puedes verificar que se han enviados 100 BPT a tu wallet.

Agregar el token a tu Wallet

Para poder ver esto en la extensión de Metal Mask, deberás de hacer click en Add Tokens en la parte de Assets. Aparecerá un menú con 3 campos para rellenar.

Si pegas la dirección del contrato que hemos copiado desde la terminal de Remix, los demás campos se auto llenaran y podrás aceptar el nuevo token.

Deberá de verse así al final:

Conclusión

¡Felicidades! Acabas de terminar todo! Ahora sabes como crear tu propio token en la red de BSC y agregarlo a MetaMask. En realidad ahora sabes mucho más que eso, es exactamente el mismo proceso para la red de Ethereum, solamente debes de configurar Remix y MetaMask en la red Ethereum en vez de la red BSC!. Si estás interesado en hacer exactamente eso, puedes encontrar una guía paso a paso aqui.

Suscribete a nuestro newsletter para más artículos y guías en Ethereum. Si tienes algún tipo de comentario, se libre de comentarlos en nuestro Twitter. Siempre puedes hablar con nosotros en nuestro servidor de Discord, puedes encontrar algunos de los más geniales desarrolladores :)
Ready to try QuickNode? Start your 7-day free trial

Related articles 14

Apr 12, 2022 How to Deploy a Smart Contract on MATIC/Polygon

Ethereum is a very lovely blockchain to work with, but recently, heavy traffic and many people building on it have resulted in the chain being a bit congested. Layer 2 solutions solve this issue by extending Ethereum's scalability. Polygon (FKA MATIC) is one such...

Continue reading
Apr 12, 2022 How to build an Ethereum URL shortener dApp

dApps (decentralized applications) are an integral part of the Ethereum development ecosystem. There are thousands of dApps already residing on the Ethereum blockchain. In this guide, we will learn how to build an Ethereum dApp that...

Continue reading
Jan 31, 2022 How to Create a BEP20 Token

BEP20 is the Binance Smart Chain equivalent to the popular ERC20 specification for tokens on the Ethereum network. The difference is the BEP20 Token isn't run on the Ethereum Network, but the Binance Smart Chain network. Despite this difference, because BSC (Binance Smart...

Continue reading
Dec 27, 2021 An overview of how smart contracts work on Ethereum

Smart contracts are the first-class citizens in the Ethereum blockchain; they are a critical part of Ethereum development. In this guide, we’ll see an overview of how smart contracts work on the Ethereum blockchain. This will include how to set up an Ethereum IDE and then...

Continue reading
Mar 7, 2022 How to create and deploy an ERC20 token

Ethereum network’s launch in 2015 created a lot of buzz in the developer community and sprouted a lot of tokens on the network. Initially there weren’t any templates or guidelines for token development. This resulted in a variety of tokens quite different from each other....

Continue reading
Dec 27, 2021 How to create your own Oracle with an Ethereum smart contract

Ethereum smart contracts are the most valuable features of the Ethereum blockchain network; The development of applications driven by smart contracts on the Ethereum blockchain has skyrocketed recently. These smart-contracts are sandboxed and can’t access the data...

Continue reading
Dec 27, 2021 What is an ABI?

While interacting with a smart contract ABI is one of the essential components. In this guide, let us understand what the ABI of smart contracts is.

Continue reading
Dec 27, 2021 How to call another smart contract from your solidity code

Smart contracts are the most popular feature of the Ethereum network. Smart contracts have functions that sometimes need to be accessed by other smart contracts. Before understanding smart contracts' interactions, let's brush up on our basics about smart...

Continue reading
Dec 27, 2021 How to create and deploy an ERC-721 (NFT)

Digital collectibles compatible with the ERC-721 standard have become very popular since the launch of Cryptokitties and have moved forward towards mass adoption in recent months. This guide will cover creating and deploying our...

Continue reading
Dec 27, 2021 How to write an Ethereum smart contract using Solidity

This article is intended for developers new to Ethereum development. In this article, we will talk about Solidity and smart contracts, What they are and what role they actually play in the ethereum development with the end goal of writing a smart contract using...

Continue reading
Mar 14, 2022 How to Create and Deploy an ERC-1155 NFT

ERC1155 has emerged as a gold standard to create NFTs; every major marketplace lists new tokens as an ERC1155 standard. In this guide, we will learn about the ERC1155 token standard and how to create an ERC1155 token.What we will...

Continue reading
Feb 12, 2022 How to Create a Smart Contract Factory in Solidity using Hardhat

Hello reader! Today we are going to be leveling up your Solidity skills. We are going to walk you through how to implement the factory contract pattern. Do not worry if you have not heard this term before; all will be explained to you by the end of the...

Continue reading
Apr 12, 2022 How to Create and Deploy a Factory ERC-1155 Contract on Polygon using Truffle

With the increasing popularity of NFTs, Polygon, a fast-growing blockchain, has become the go-to choice for many users and developers. Compared to Ethereum, Polygon allows users and developers to interact with blockchains at a more affordable level. For these reasons,...

Continue reading
Apr 12, 2022 How to Create a Dutch Auction Smart Contract

Often to perform any transaction between two untrusted parties, there is a need for a trusted middle man; smart contracts eliminate this need for a middle man altogether. In this guide, we will learn how to create a dutch auction smart contract which will make the entire...

Continue reading