Com as últimas notícias sobre blockchain, BTC, Ethereum, criptomoedas e ICOs, os negócios de blockchain estão a ganhar cada vez mais seguidores. Por isso, escrevi este tutorial, que é o primeiro de uma série, com o objetivo de ajudar as pessoas a entenderem melhor como utilizar a tecnologia blockchain e criptomoedas para construir aplicativos significativos.
Neste tutorial, meu objetivo é orientá-lo a partir da configuração da conta até o processo completo de emissão do primeiro Token usando um único contrato inteligente e uma máscara de éter na rede de teste Ethereum. Este Token será um Token ERC20 padrão na rede de testes Ethereum, com funcionalidades principais que podem ser usadas como base geral para aplicativos mais complexos do que simples transferências.
Antes de começar:
Antes de criar seu próprio Token ERC20, você precisa preparar o seguinte:
Uma carteira Web3 (como MetaMask, Phantom ou qualquer carteira compatível com WalletConnect)
Teste ETH (você pode obter Test Token aqui QuickNode Ethereum faucet). Essa etapa requer uma taxa de gás.
Navegador da web (recomendado Chrome)
O que é Token ERC20
ERC é a sigla para Ethereum Request for Comment (Solicitação de Comentário do Ethereum), e 20 é o número de identificação da proposta. O objetivo do ERC-20 é melhorar a rede Ethereum. O ERC-20 é um dos ERCs mais importantes. Ele se tornou o padrão técnico para escrever contratos inteligentes na rede de bloco Ethereum e implementar tokens. O ERC-20 inclui todas as regras que os tokens baseados no Ethereum devem seguir. O ERC-20 define tokens como ativos baseados em blockchain que podem ser enviados/recebidos e têm valor, operando na rede de bloco Ethereum e usando gás como lavagem de dinheiro.
Em 2015, o desenvolvedor alemão Fabian Vogelsteller decidiu contribuir para a história do Ethereum e deixou um comentário na página do projeto no Github. Este foi o seu 20º comentário consecutivo e a primeira vez em que ele mencionou o ERC-20. Com o rápido crescimento do Ethereum, o ERC-20 foi proposto como uma solução para o problema de escalabilidade da rede.
ERC-20, como a adoção e implementação oficial do protocolo de melhoria ETH (chamado de EIP-20), ocorreu no final de 2017. O EIP-20 foi co-escrito por Vogelsteller e Vitalik Buterin, co-fundador do ETH.
Antes do surgimento do padrão ERC-20, os criadores de Tokens precisavam projetá-los do zero. Isso resultava em diferenças entre os Tokens. Os desenvolvedores precisavam entender todo o código de contratos inteligentes para usar outros Tokens, pois não havia uma estrutura unificada. Isso apresentava desafios para as carteiras e exchanges, que precisavam revisar o código de cada Token para oferecer suporte. Adicionar novos Tokens ao aplicativo se tornou complexo.
E depois do surgimento do padrão ERC-20, sua funcionalidade padronizada, interoperabilidade e transferibilidade permitem que as Carteiras e as exchanges integrem facilmente diversos Tokens e facilitem a troca entre Tokens. O Contrato inteligente usado nos Tokens ERC-20 é capaz de executar automaticamente e aplicar operações financeiras complexas, o que é essencial para plataformas de Finanças Descentralizadas. Isso ocorre porque, nessas plataformas, os Tokens podem representar diversos instrumentos financeiros, como empréstimos ou participações em pools de Liquidez.
A norma ERC-20 define seis funções obrigatórias e três opcionais que devem ser implementadas pela Contrato inteligente.
Aqui estão as funções necessárias e suas explicações:
Total Supply: Método que define o total de fornecimento de Tokens; quando esse limite é atingido, o contrato inteligente irá recusar a criação de novos Tokens.
余额:método para retornar a quantidade de Token na CarteiraEndereço.
Transferir: Um método de retirar uma certa quantidade de Token da oferta total e dar aos usuários.
Transferência de: Outro método para transferir Token entre usuários.
Aprovação: Método para verificar se um Contrato inteligente permite a alocação de uma certa quantidade de Tokens aos usuários, levando em consideração o fornecimento total.
Subsídio: Semelhante ao método de aprovação, mas verifica se um usuário tem saldo suficiente para enviar uma determinada quantidade de Token para outro usuário.
Além das funções essenciais acima, as seguintes funções são opcionais, mas podem aumentar a usabilidade do Token:
Nome: Método de retorno do nome do Token.
Símbolo: Método para retornar o símbolo do Token.
Decimal: Um método que retorna o número de casas decimais usadas pelo token. Ele é usado para definir a menor unidade de um token. Por exemplo, se um token ERC-20 tiver um valor decimal de 6, isso significa que o token pode ser dividido em 6 casas decimais.
Se você entender a programação orientada a objetos, você pode pensar no ERC-20 como uma interface. Se você quiser que o seu Token seja um Token ERC-20, você deve implementar a interface ERC-20, o que requer a implementação das 6 funções necessárias. Em resumo, a interface ERC-20 é como um modelo, qualquer contrato que queira ser um Token ERC-20 deve ser projetado e implementar suas próprias funções de acordo com este modelo.
Comece a criar seu próprio Token ERC20:
Obter ETH de teste
Para começar a implantar seu contrato na rede de testes Sepolia do Ethereum (ETH), você precisará instalar a extensão do navegador Metamask ou usar uma carteira web3 como o Phantom, ou uma carteira compatível com WalletConnect. Assim que sua carteira estiver configurada, você precisará obter algum ETH de teste. Isso pode ser obtido no Torneira QuickNode que foi criado especificamente para a rede de testes Sepolia do Ethereum. Obter ETH de teste é simples, basta acessar o site Torneira, conectar sua carteira ou inserir seu endereço da carteira e seguir as instruções. Você também tem a opção de ganhar recompensas extras compartilhando tweets, ou pode escolher diretamente a opção ‘Não, por favor, apenas me envie 0.05 ETH’ para receber seu ETH de teste. No entanto, observe que você precisará ter um saldo de pelo menos 0.001 ETH na rede principal do Ethereum para usar o Torneira de moedas de teste QuickNode.
Escrever Contrato inteligente
Na blockchain do Ethereum, existem muitos tokens que operam de acordo com o padrão ERC20 desenvolvido por diferentes grupos. Esses implementações variam, algumas focando em reduzir o custo do gás, enquanto outras priorizam a segurança. Para criar um token forte e seguro, muitos desenvolvedores optam pelo padrão ERC20 de token da OpenZeppelin. A OpenZeppelin é uma biblioteca de contratos inteligentes reutilizáveis, testados e aprovados pela comunidade, que inclui um framework de token ERC20 confiável e seguro. Ele pode garantir a conformidade e a segurança no desenvolvimento de tokens, tornando-se a escolha preferida dos desenvolvedores de tokens atualmente.
Para simplicidade e segurança, escolhemos utilizar o contrato OpenZeppelin ERC-20 nesta guia para a criação do nosso Token. Com o OpenZeppelin, não precisamos escrever toda a interface ERC-20, apenas importar o contrato de biblioteca e usar suas funções. Desta vez, vamos emitir 1 milhão de unidades, com o nome de Token ERC-20 de ‘Neurônios Motores’.
Em seguida, vá para a IDE [Remix Ethereum] (https://remix.ethereum.org/) (ambiente de desenvolvimento integrado Ethereum que suporta a linguagem Solidity) e crie um novo arquivo Solidity, como MyNewToken.sol.
Crie um novo arquivo no Ethereum Remix IDE
Por favor, cole o seguinte código no seu novo script de código Solidity:
// SPDX-License-Identifier: MIT pragma Solidity ^0.8.20;
O contrato MyNewToken é ERC20 { constructor() ERC20(“MyNewToken”, “MNT”) { _mint(msg.sender, 1000000 * (10 ** uint256(decimals())); } }
Copiar e colar o código do contrato inteligente acima mencionado
O significado do código acima é:
O SPDX-License-Identifier especifica a licença usada para publicar o contrato.
A instrução do comentário anotado declara a versão do compilador a ser usada.
Importe o contrato ERC20 do OpenZeppelin e use-o como base.
O meu novo Token é o nome do teu contrato, que herda do contrato ERC20.
O construtor da função usa o nome (“meu novo Token”) e o símbolo (“01928374656574839201”) para inicializar o seu Token.
O _ na função do construtor cunhou a quantidade de fornecimento inicial do Token. Neste exemplo, 1 milhão de Tokens foram cunhados e atribuídos ao Endereço que implementou o contrato. A quantidade de Tokens será ajustada com base no valor decimal, definido como 18 na implementação do OpenZeppelin.
Uma vez que importamos o contrato ERC20 Contrato inteligente do OpenZeppelin e o contrato MyNewToken herda o contrato ERC20, não é necessário definir todas as funções. Todas as funções definidas no contrato ERC20 são importadas para o contrato MyNewToken. Se você quiser ver o código ERC-20 completo mais detalhado, você pode verificar este arquivo (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol).
Agora, reserve um tempo para personalizar o contrato inteligente de acordo com suas necessidades. Você também pode modificar o nome e o símbolo do Token atualizando a seção a seguir: ERC20 (“MyNewToken”, “MNT”).
部署Contrato inteligente
Após a conclusão da personalização do Contrato inteligente, proceda com a compilação.
Passo 1: Clique no botão do compilador Solidity. Verifique a versão do compilador e o contrato selecionado. Como há um comentário de confiabilidade em Contrato inteligente^0.8.20, a versão do compilador deve ser no mínimo 20.0.8. Em seguida, clique no botão de compilação MyNewToken.sol. Se tudo correr bem, você verá um sinal de verificação verde no botão de compilação.
Compilar contrato inteligente
Compilação concluída (marca de seleção verde)
Passo 2: Vá para a guia Deploy & Run Transaction. Selecione a opção do provedor injetado no ambiente para implantar. Antes de implantar, certifique-se de que o seu MetaMask está definido para a rede de teste Sepolia e selecione o meu novo contrato de token como o contrato a ser implantado. Por fim, clique no botão Deploy para implantar o seu contrato.
Escolha o provedor de injeção como Carteira Web3 local (MetaMask)
Conectar Carteira Web3
Determine the deployment contract and select the network to be deployed (this article is for the test network)
Se você não tem certeza de como mudar de rede, abra a extensão do MetaMask, clique no seletor de rede no canto superior esquerdo e selecione Sepolia. Se você não o vê, certifique-se de que a opção ‘Mostrar Redes de Teste’ esteja ativada. Se você quiser saber como adicionar a URL do QuickNode RPC ao MetaMask, consulte o Guia Rápido para Nós para obter instruções.
A troca de ETH de teste requer taxas de gás.
Passo 3: Confirme a transação no MetaMask:
Parabéns! O contrato Token alcançou com sucesso a implantação na rede de teste Sepolia da Ethereum, e agora você possui o seu próprio Token.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Como emitir a sua própria Criptomoeda - Um exemplo com ERC-20
Com as últimas notícias sobre blockchain, BTC, Ethereum, criptomoedas e ICOs, os negócios de blockchain estão a ganhar cada vez mais seguidores. Por isso, escrevi este tutorial, que é o primeiro de uma série, com o objetivo de ajudar as pessoas a entenderem melhor como utilizar a tecnologia blockchain e criptomoedas para construir aplicativos significativos.
Neste tutorial, meu objetivo é orientá-lo a partir da configuração da conta até o processo completo de emissão do primeiro Token usando um único contrato inteligente e uma máscara de éter na rede de teste Ethereum. Este Token será um Token ERC20 padrão na rede de testes Ethereum, com funcionalidades principais que podem ser usadas como base geral para aplicativos mais complexos do que simples transferências.
Antes de começar:
Antes de criar seu próprio Token ERC20, você precisa preparar o seguinte:
O que é Token ERC20
ERC é a sigla para Ethereum Request for Comment (Solicitação de Comentário do Ethereum), e 20 é o número de identificação da proposta. O objetivo do ERC-20 é melhorar a rede Ethereum. O ERC-20 é um dos ERCs mais importantes. Ele se tornou o padrão técnico para escrever contratos inteligentes na rede de bloco Ethereum e implementar tokens. O ERC-20 inclui todas as regras que os tokens baseados no Ethereum devem seguir. O ERC-20 define tokens como ativos baseados em blockchain que podem ser enviados/recebidos e têm valor, operando na rede de bloco Ethereum e usando gás como lavagem de dinheiro.
Em 2015, o desenvolvedor alemão Fabian Vogelsteller decidiu contribuir para a história do Ethereum e deixou um comentário na página do projeto no Github. Este foi o seu 20º comentário consecutivo e a primeira vez em que ele mencionou o ERC-20. Com o rápido crescimento do Ethereum, o ERC-20 foi proposto como uma solução para o problema de escalabilidade da rede.
ERC-20, como a adoção e implementação oficial do protocolo de melhoria ETH (chamado de EIP-20), ocorreu no final de 2017. O EIP-20 foi co-escrito por Vogelsteller e Vitalik Buterin, co-fundador do ETH.
Antes do surgimento do padrão ERC-20, os criadores de Tokens precisavam projetá-los do zero. Isso resultava em diferenças entre os Tokens. Os desenvolvedores precisavam entender todo o código de contratos inteligentes para usar outros Tokens, pois não havia uma estrutura unificada. Isso apresentava desafios para as carteiras e exchanges, que precisavam revisar o código de cada Token para oferecer suporte. Adicionar novos Tokens ao aplicativo se tornou complexo.
E depois do surgimento do padrão ERC-20, sua funcionalidade padronizada, interoperabilidade e transferibilidade permitem que as Carteiras e as exchanges integrem facilmente diversos Tokens e facilitem a troca entre Tokens. O Contrato inteligente usado nos Tokens ERC-20 é capaz de executar automaticamente e aplicar operações financeiras complexas, o que é essencial para plataformas de Finanças Descentralizadas. Isso ocorre porque, nessas plataformas, os Tokens podem representar diversos instrumentos financeiros, como empréstimos ou participações em pools de Liquidez.
A norma ERC-20 define seis funções obrigatórias e três opcionais que devem ser implementadas pela Contrato inteligente.
Aqui estão as funções necessárias e suas explicações:
Além das funções essenciais acima, as seguintes funções são opcionais, mas podem aumentar a usabilidade do Token:
Se você entender a programação orientada a objetos, você pode pensar no ERC-20 como uma interface. Se você quiser que o seu Token seja um Token ERC-20, você deve implementar a interface ERC-20, o que requer a implementação das 6 funções necessárias. Em resumo, a interface ERC-20 é como um modelo, qualquer contrato que queira ser um Token ERC-20 deve ser projetado e implementar suas próprias funções de acordo com este modelo.
Comece a criar seu próprio Token ERC20:
Obter ETH de teste
Para começar a implantar seu contrato na rede de testes Sepolia do Ethereum (ETH), você precisará instalar a extensão do navegador Metamask ou usar uma carteira web3 como o Phantom, ou uma carteira compatível com WalletConnect. Assim que sua carteira estiver configurada, você precisará obter algum ETH de teste. Isso pode ser obtido no Torneira QuickNode que foi criado especificamente para a rede de testes Sepolia do Ethereum. Obter ETH de teste é simples, basta acessar o site Torneira, conectar sua carteira ou inserir seu endereço da carteira e seguir as instruções. Você também tem a opção de ganhar recompensas extras compartilhando tweets, ou pode escolher diretamente a opção ‘Não, por favor, apenas me envie 0.05 ETH’ para receber seu ETH de teste. No entanto, observe que você precisará ter um saldo de pelo menos 0.001 ETH na rede principal do Ethereum para usar o Torneira de moedas de teste QuickNode.
Escrever Contrato inteligente
Na blockchain do Ethereum, existem muitos tokens que operam de acordo com o padrão ERC20 desenvolvido por diferentes grupos. Esses implementações variam, algumas focando em reduzir o custo do gás, enquanto outras priorizam a segurança. Para criar um token forte e seguro, muitos desenvolvedores optam pelo padrão ERC20 de token da OpenZeppelin. A OpenZeppelin é uma biblioteca de contratos inteligentes reutilizáveis, testados e aprovados pela comunidade, que inclui um framework de token ERC20 confiável e seguro. Ele pode garantir a conformidade e a segurança no desenvolvimento de tokens, tornando-se a escolha preferida dos desenvolvedores de tokens atualmente.
Para simplicidade e segurança, escolhemos utilizar o contrato OpenZeppelin ERC-20 nesta guia para a criação do nosso Token. Com o OpenZeppelin, não precisamos escrever toda a interface ERC-20, apenas importar o contrato de biblioteca e usar suas funções. Desta vez, vamos emitir 1 milhão de unidades, com o nome de Token ERC-20 de ‘Neurônios Motores’.
Em seguida, vá para a IDE [Remix Ethereum] (https://remix.ethereum.org/) (ambiente de desenvolvimento integrado Ethereum que suporta a linguagem Solidity) e crie um novo arquivo Solidity, como MyNewToken.sol.
Por favor, cole o seguinte código no seu novo script de código Solidity:
// SPDX-License-Identifier: MIT pragma Solidity ^0.8.20;
Importe “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
O contrato MyNewToken é ERC20 { constructor() ERC20(“MyNewToken”, “MNT”) { _mint(msg.sender, 1000000 * (10 ** uint256(decimals())); } }
O significado do código acima é:
O SPDX-License-Identifier especifica a licença usada para publicar o contrato.
A instrução do comentário anotado declara a versão do compilador a ser usada.
Importe o contrato ERC20 do OpenZeppelin e use-o como base.
O meu novo Token é o nome do teu contrato, que herda do contrato ERC20.
O construtor da função usa o nome (“meu novo Token”) e o símbolo (“01928374656574839201”) para inicializar o seu Token.
O _ na função do construtor cunhou a quantidade de fornecimento inicial do Token. Neste exemplo, 1 milhão de Tokens foram cunhados e atribuídos ao Endereço que implementou o contrato. A quantidade de Tokens será ajustada com base no valor decimal, definido como 18 na implementação do OpenZeppelin.
Uma vez que importamos o contrato ERC20 Contrato inteligente do OpenZeppelin e o contrato MyNewToken herda o contrato ERC20, não é necessário definir todas as funções. Todas as funções definidas no contrato ERC20 são importadas para o contrato MyNewToken. Se você quiser ver o código ERC-20 completo mais detalhado, você pode verificar este arquivo (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol).
Agora, reserve um tempo para personalizar o contrato inteligente de acordo com suas necessidades. Você também pode modificar o nome e o símbolo do Token atualizando a seção a seguir: ERC20 (“MyNewToken”, “MNT”).
部署Contrato inteligente
Após a conclusão da personalização do Contrato inteligente, proceda com a compilação.
Passo 1: Clique no botão do compilador Solidity. Verifique a versão do compilador e o contrato selecionado. Como há um comentário de confiabilidade em Contrato inteligente^0.8.20, a versão do compilador deve ser no mínimo 20.0.8. Em seguida, clique no botão de compilação MyNewToken.sol. Se tudo correr bem, você verá um sinal de verificação verde no botão de compilação.
Passo 2: Vá para a guia Deploy & Run Transaction. Selecione a opção do provedor injetado no ambiente para implantar. Antes de implantar, certifique-se de que o seu MetaMask está definido para a rede de teste Sepolia e selecione o meu novo contrato de token como o contrato a ser implantado. Por fim, clique no botão Deploy para implantar o seu contrato.
Se você não tem certeza de como mudar de rede, abra a extensão do MetaMask, clique no seletor de rede no canto superior esquerdo e selecione Sepolia. Se você não o vê, certifique-se de que a opção ‘Mostrar Redes de Teste’ esteja ativada. Se você quiser saber como adicionar a URL do QuickNode RPC ao MetaMask, consulte o Guia Rápido para Nós para obter instruções.
A troca de ETH de teste requer taxas de gás.
Passo 3: Confirme a transação no MetaMask:
Parabéns! O contrato Token alcançou com sucesso a implantação na rede de teste Sepolia da Ethereum, e agora você possui o seu próprio Token.