O setor da blockchain está a receber uma atenção significativa com os desenvolvimentos em curso na blockchain, Bitcoin, Ethereum, criptomoedas e ICOs. Isto levou-me a escrever este tutorial, o primeiro de uma série projetada para ajudar as pessoas a compreender como utilizar a tecnologia da blockchain e as criptomoedas para criar aplicações impactantes.
Neste tutorial, pretendo orientá-lo durante todo o processo, desde a configuração da sua conta até a emissão do seu primeiro token na rede de teste Ethereum usando um único contrato inteligente e MetaMask. Este token funcionará como um token ERC20 padrão na rede de teste Ethereum, equipado com funcionalidades principais que podem servir como uma base versátil para aplicações mais complexas além de simples transferências.
Antes de criar o seu próprio token ERC20, precisa de preparar o seguinte:
ERC significa Ethereum Request for Comment, sendo 20 o número de identificação da proposta. O objetivo do ERC-20 é melhorar a rede Ethereum. É um dos padrões ERC mais significativos e tornou-se o quadro técnico para criar tokens na blockchain Ethereum através de contratos inteligentes. O ERC-20 delineia um conjunto de regras que todos os tokens baseados em Ethereum devem cumprir, definindo-os como ativos baseados em blockchain que podem ser enviados e recebidos, têm valor, operam na blockchain Ethereum e incorrem em taxas de gás para transações.
Em 2015, o desenvolvedor alemão Fabian Vogelsteller contribuiu para a história do Ethereum ao comentar na página do projeto no GitHub. Este foi o seu vigésimo comentário, durante o qual ele mencionou pela primeira vez o ERC-20. À medida que o Ethereum se expandiu rapidamente, o ERC-20 foi introduzido como solução para os desafios de escalabilidade da rede.
O reconhecimento formal e a adoção do ERC-20 como uma Proposta de Melhoria Ethereum (EIP-20), co-autoria de Vogelsteller e do co-fundador do Ethereum, Vitalik Buterin, ocorreram no final de 2017.
Antes do padrão ERC-20, os criadores de tokens tinham que começar do zero, levando a inconsistências entre diferentes tokens. Os desenvolvedores precisavam entender completamente o código do contrato inteligente de outros tokens devido à ausência de uma estrutura padronizada, complicando as coisas para as carteiras e exchanges que tinham que revisar o código de cada token para suporte. Adicionar novos tokens às aplicações tornou-se uma tarefa complexa.
Com a introdução do padrão ERC-20, suas características padronizadas, interoperabilidade e transferibilidade permitiram que carteiras e exchanges integrassem vários tokens e facilitassem as trocas entre eles com facilidade. Os contratos inteligentes empregados em tokens ERC-20 podem executar automaticamente e impor transações financeiras complexas, o que é essencial para plataformas DeFi. Nessas plataformas, os tokens podem representar vários instrumentos financeiros, como empréstimos ou ações em pools de liquidez.
O padrão ERC-20 especifica seis funções obrigatórias e três opcionais que os contratos inteligentes devem implementar.
Aqui estão as funções necessárias e suas descrições:
Além das funções essenciais mencionadas anteriormente, existem funções opcionais adicionais que podem melhorar a usabilidade do token:
Se você está familiarizado com a programação orientada a objetos, você pode pensar em ERC-20 como uma interface. Para tornar seu token um token ERC-20, você deve implementar a interface ERC-20, que requer que você inclua essas seis funções essenciais. Essencialmente, a interface ERC-20 serve como um modelo e qualquer contrato que pretenda ser classificado como um token ERC-20 deve projetar e implementar suas funções usando este modelo.
Para começar a implantar seu contrato na rede de teste Ethereum Sepolia, você precisa instalar oMetaMaskextensão do navegador ou usar outra carteira Web3, como Phantom, ou qualquer carteira compatível com WalletConnect. Após configurar sua carteira, você precisará obter alguns ETH de teste. Você pode obter isso do Torneira Ethereum Sepolia, que é especificamente projetado para a rede de testes Ethereum Sepolia. Obter testes ETH é simples: basta visitar o site do faucet, conectar seu endereço da carteira ou inserir seu endereço e seguir as instruções. Você também pode compartilhar um tweet para recompensas extras ou selecionar a opção 'Não, obrigado, apenas me envie 0,05 ETH' para receber seu test ETH diretamente. No entanto, tenha em mente que você precisa ter pelo menos 0,001 ETH em sua conta Ethereum mainnet para usar o faucet de moedas de teste QuickNode.
Existem muitos tokens que cumprem o padrão ERC20 a correr atualmente na blockchain Ethereum, desenvolvidos por vários grupos. Estas implementações diferem; algumas focam-se na minimização dos custos de gás, enquanto outras priorizam aprimorar a segurança. Para criar um token forte e seguro, muitos desenvolvedores optam pelo padrão de token ERC20 da OpenZeppelin. A OpenZeppelin é uma biblioteca de contratos inteligentes reutilizáveis, minuciosamente testada e revisada pela comunidade, que inclui um framework de token ERC20 confiável e seguro. Garante que o desenvolvimento do token seja conforme e seguro, tornando-se a escolha preferencial de muitos desenvolvedores de tokens hoje em dia.
Para facilidade e segurança, vamos usar o OpenZeppelin ERC-20contrato para criar nosso token neste guia. Com o OpenZeppelin, não precisamos escrever toda a interface ERC-20; simplesmente importamos o contrato da biblioteca e utilizamos suas funções. Neste caso, emitiremos 1 milhão de tokens ERC-20 chamados MNT.
Em seguida, vá para o Ethereum RemixIDE (o ambiente de desenvolvimento integrado para Ethereum que suporta a linguagem de programação Solidity) e criar um novo arquivo Solidity, como - MyNewToken.sol.
Por favor, cole o seguinte código no seu novo script Solidity:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20;
import “@openzeppelin/contratos/token/ERC20/ERC20.sol”;
contract MyNewToken is ERC20 { constructor() ERC20("MyNewToken", "MNT") { _mint(msg.sender, 1000000 (10 * uint256(decimais())); } }
Aqui está o que o código faz:
O comentário SPDX-License-Identifier indica a licença sob a qual o contrato é lançado.
A diretiva Pragma especifica a versão do compilador que será usada.
O contrato ERC20 é importado do OpenZeppelin e serve como base para o seu token.
MyNewToken é o nome do seu contrato, que herda do contrato ERC20.
a função construtora inicializa o seu token com o nome (“MyNewToken”) e o símbolo (“MNT”).
A função _mint dentro do construtor cria o fornecimento inicial de tokens. Neste caso, são criados 1 milhão de tokens e atribuídos ao endereço que implementa o contrato. O número total de tokens é ajustado de acordo com o valor dos decimais, que por padrão é 18 na implementação do OpenZeppelin.
Porque importámos o contrato inteligente ERC20 da OpenZeppelin e o contrato MyNewToken herda dele, não é necessário definir todas as funções nós mesmos. Todas as funções definidas no contrato ERC20 estão incluídas no contrato MyNewToken. Se desejar ver uma versão mais detalhada do código ERC-20 completo, pode consultareste ficheiro.
Agora, reserve algum tempo para personalizar o contrato inteligente de acordo com suas necessidades. Você também pode alterar o nome e o símbolo do token modificando esta seção: ERC20 ("MyNewToken", "MNT").
Uma vez que tenha personalizado o seu contrato inteligente, o próximo passo é compilá-lo.
Passo 1: Clique no botão do Compilador Solidity. Verifique a versão do compilador e certifique-se de que o contrato correto está selecionado. Como seu contrato inteligente inclui a linha pragma solidity ^0.8.20;, a versão do compilador deve ser pelo menos 0.8.20. Em seguida, clique no botão Compilar MyNewToken.sol. Se tudo correr bem, você verá um sinal de verificação verde no botão de compilação.
Passo 2: Navegue até a guia Deploy & Run Transactions. Na secção Ambiente, escolha a opção Provedor Injetado para implantação. Antes de prosseguir, certifique-se de que o seu MetaMask está definido para a rede de teste Sepolia e de que selecionou o contrato MyNewToken para implantação. Por fim, clique no botão Deploy para implantar o seu contrato.
Se não tiver a certeza de como alternar as redes, abra a extensão MetaMask, clique no seletor de rede no canto superior esquerdo e escolha Sepolia. Se não estiver visível, certifique-se de que a opção 'Mostrar redes de teste' está ativada. Para obter instruções sobre como adicionar o URL RPC QuickNode ao MetaMask, consulte o Guia QuickNode.
Passo 3: Confirme a transação no MetaMask:
Parabéns! O contrato do seu token foi agora implementado com sucesso na rede de teste Ethereum Sepolia, e oficialmente possui o seu primeiro token!
O setor da blockchain está a receber uma atenção significativa com os desenvolvimentos em curso na blockchain, Bitcoin, Ethereum, criptomoedas e ICOs. Isto levou-me a escrever este tutorial, o primeiro de uma série projetada para ajudar as pessoas a compreender como utilizar a tecnologia da blockchain e as criptomoedas para criar aplicações impactantes.
Neste tutorial, pretendo orientá-lo durante todo o processo, desde a configuração da sua conta até a emissão do seu primeiro token na rede de teste Ethereum usando um único contrato inteligente e MetaMask. Este token funcionará como um token ERC20 padrão na rede de teste Ethereum, equipado com funcionalidades principais que podem servir como uma base versátil para aplicações mais complexas além de simples transferências.
Antes de criar o seu próprio token ERC20, precisa de preparar o seguinte:
ERC significa Ethereum Request for Comment, sendo 20 o número de identificação da proposta. O objetivo do ERC-20 é melhorar a rede Ethereum. É um dos padrões ERC mais significativos e tornou-se o quadro técnico para criar tokens na blockchain Ethereum através de contratos inteligentes. O ERC-20 delineia um conjunto de regras que todos os tokens baseados em Ethereum devem cumprir, definindo-os como ativos baseados em blockchain que podem ser enviados e recebidos, têm valor, operam na blockchain Ethereum e incorrem em taxas de gás para transações.
Em 2015, o desenvolvedor alemão Fabian Vogelsteller contribuiu para a história do Ethereum ao comentar na página do projeto no GitHub. Este foi o seu vigésimo comentário, durante o qual ele mencionou pela primeira vez o ERC-20. À medida que o Ethereum se expandiu rapidamente, o ERC-20 foi introduzido como solução para os desafios de escalabilidade da rede.
O reconhecimento formal e a adoção do ERC-20 como uma Proposta de Melhoria Ethereum (EIP-20), co-autoria de Vogelsteller e do co-fundador do Ethereum, Vitalik Buterin, ocorreram no final de 2017.
Antes do padrão ERC-20, os criadores de tokens tinham que começar do zero, levando a inconsistências entre diferentes tokens. Os desenvolvedores precisavam entender completamente o código do contrato inteligente de outros tokens devido à ausência de uma estrutura padronizada, complicando as coisas para as carteiras e exchanges que tinham que revisar o código de cada token para suporte. Adicionar novos tokens às aplicações tornou-se uma tarefa complexa.
Com a introdução do padrão ERC-20, suas características padronizadas, interoperabilidade e transferibilidade permitiram que carteiras e exchanges integrassem vários tokens e facilitassem as trocas entre eles com facilidade. Os contratos inteligentes empregados em tokens ERC-20 podem executar automaticamente e impor transações financeiras complexas, o que é essencial para plataformas DeFi. Nessas plataformas, os tokens podem representar vários instrumentos financeiros, como empréstimos ou ações em pools de liquidez.
O padrão ERC-20 especifica seis funções obrigatórias e três opcionais que os contratos inteligentes devem implementar.
Aqui estão as funções necessárias e suas descrições:
Além das funções essenciais mencionadas anteriormente, existem funções opcionais adicionais que podem melhorar a usabilidade do token:
Se você está familiarizado com a programação orientada a objetos, você pode pensar em ERC-20 como uma interface. Para tornar seu token um token ERC-20, você deve implementar a interface ERC-20, que requer que você inclua essas seis funções essenciais. Essencialmente, a interface ERC-20 serve como um modelo e qualquer contrato que pretenda ser classificado como um token ERC-20 deve projetar e implementar suas funções usando este modelo.
Para começar a implantar seu contrato na rede de teste Ethereum Sepolia, você precisa instalar oMetaMaskextensão do navegador ou usar outra carteira Web3, como Phantom, ou qualquer carteira compatível com WalletConnect. Após configurar sua carteira, você precisará obter alguns ETH de teste. Você pode obter isso do Torneira Ethereum Sepolia, que é especificamente projetado para a rede de testes Ethereum Sepolia. Obter testes ETH é simples: basta visitar o site do faucet, conectar seu endereço da carteira ou inserir seu endereço e seguir as instruções. Você também pode compartilhar um tweet para recompensas extras ou selecionar a opção 'Não, obrigado, apenas me envie 0,05 ETH' para receber seu test ETH diretamente. No entanto, tenha em mente que você precisa ter pelo menos 0,001 ETH em sua conta Ethereum mainnet para usar o faucet de moedas de teste QuickNode.
Existem muitos tokens que cumprem o padrão ERC20 a correr atualmente na blockchain Ethereum, desenvolvidos por vários grupos. Estas implementações diferem; algumas focam-se na minimização dos custos de gás, enquanto outras priorizam aprimorar a segurança. Para criar um token forte e seguro, muitos desenvolvedores optam pelo padrão de token ERC20 da OpenZeppelin. A OpenZeppelin é uma biblioteca de contratos inteligentes reutilizáveis, minuciosamente testada e revisada pela comunidade, que inclui um framework de token ERC20 confiável e seguro. Garante que o desenvolvimento do token seja conforme e seguro, tornando-se a escolha preferencial de muitos desenvolvedores de tokens hoje em dia.
Para facilidade e segurança, vamos usar o OpenZeppelin ERC-20contrato para criar nosso token neste guia. Com o OpenZeppelin, não precisamos escrever toda a interface ERC-20; simplesmente importamos o contrato da biblioteca e utilizamos suas funções. Neste caso, emitiremos 1 milhão de tokens ERC-20 chamados MNT.
Em seguida, vá para o Ethereum RemixIDE (o ambiente de desenvolvimento integrado para Ethereum que suporta a linguagem de programação Solidity) e criar um novo arquivo Solidity, como - MyNewToken.sol.
Por favor, cole o seguinte código no seu novo script Solidity:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20;
import “@openzeppelin/contratos/token/ERC20/ERC20.sol”;
contract MyNewToken is ERC20 { constructor() ERC20("MyNewToken", "MNT") { _mint(msg.sender, 1000000 (10 * uint256(decimais())); } }
Aqui está o que o código faz:
O comentário SPDX-License-Identifier indica a licença sob a qual o contrato é lançado.
A diretiva Pragma especifica a versão do compilador que será usada.
O contrato ERC20 é importado do OpenZeppelin e serve como base para o seu token.
MyNewToken é o nome do seu contrato, que herda do contrato ERC20.
a função construtora inicializa o seu token com o nome (“MyNewToken”) e o símbolo (“MNT”).
A função _mint dentro do construtor cria o fornecimento inicial de tokens. Neste caso, são criados 1 milhão de tokens e atribuídos ao endereço que implementa o contrato. O número total de tokens é ajustado de acordo com o valor dos decimais, que por padrão é 18 na implementação do OpenZeppelin.
Porque importámos o contrato inteligente ERC20 da OpenZeppelin e o contrato MyNewToken herda dele, não é necessário definir todas as funções nós mesmos. Todas as funções definidas no contrato ERC20 estão incluídas no contrato MyNewToken. Se desejar ver uma versão mais detalhada do código ERC-20 completo, pode consultareste ficheiro.
Agora, reserve algum tempo para personalizar o contrato inteligente de acordo com suas necessidades. Você também pode alterar o nome e o símbolo do token modificando esta seção: ERC20 ("MyNewToken", "MNT").
Uma vez que tenha personalizado o seu contrato inteligente, o próximo passo é compilá-lo.
Passo 1: Clique no botão do Compilador Solidity. Verifique a versão do compilador e certifique-se de que o contrato correto está selecionado. Como seu contrato inteligente inclui a linha pragma solidity ^0.8.20;, a versão do compilador deve ser pelo menos 0.8.20. Em seguida, clique no botão Compilar MyNewToken.sol. Se tudo correr bem, você verá um sinal de verificação verde no botão de compilação.
Passo 2: Navegue até a guia Deploy & Run Transactions. Na secção Ambiente, escolha a opção Provedor Injetado para implantação. Antes de prosseguir, certifique-se de que o seu MetaMask está definido para a rede de teste Sepolia e de que selecionou o contrato MyNewToken para implantação. Por fim, clique no botão Deploy para implantar o seu contrato.
Se não tiver a certeza de como alternar as redes, abra a extensão MetaMask, clique no seletor de rede no canto superior esquerdo e escolha Sepolia. Se não estiver visível, certifique-se de que a opção 'Mostrar redes de teste' está ativada. Para obter instruções sobre como adicionar o URL RPC QuickNode ao MetaMask, consulte o Guia QuickNode.
Passo 3: Confirme a transação no MetaMask:
Parabéns! O contrato do seu token foi agora implementado com sucesso na rede de teste Ethereum Sepolia, e oficialmente possui o seu primeiro token!