O Open Zeppelin é uma empresa muito renomada na indústria de contratos inteligentes que fornece uma estrutura de código aberto para construir um contrato inteligente seguro.
Isto faz parte de um conjunto completo de ferramentas que ajudam os desenvolvedores, desde a construção, até o gerenciamento e a segurança para o desenvolvimento e implantação de um contrato inteligente.
Neste artigo vamos focar na biblioteca do contrato, e mais especialmente em uma de suas ferramentas chamada Contract Wizard que ajuda o desenvolvedor a iniciar um contrato com múltiplos componentes e características provenientes de sua própria biblioteca Solidity. Utilizaremos esta ferramenta para criar e implantar um contrato simples ERC20 em uma testnet (rede de testes).
Com esta ferramenta, podemos criar diferentes tipos de contrato, como ERC20, ERC721, ERC1155 ou token de Governança.
Você só tem que selecionar quais recursos deseja habilitar, e uma vez feito isso, você pode:
- copiá-lo
- baixá-lo e integrá-lo em um projeto do Truffle/Hardhat
- abri-lo no Remix para explorar o resultado, talvez adicionar algumas mudanças e testá-lo.
Neste exemplo, o abriremos no Remix, clicando no botão Open no Remix.
O que eu acho realmente interessante com o Remix é que consigo verificar facilmente cada uma das funções implementadas para entender o que elas fazem. Ótimo material quando você está aprendendo!
Você pode então testá-lo, implantando-o primeiro no Remix VM.
O Remix VM é uma blockchain sandbox que funciona dentro do navegador. Em cada recarga, a antiga blockchain é reinstalada, e nem tudo é funcional nele (por exemplo, o block.timestamp não está funcionando).
Assim, você terá acesso a todos os métodos herdados das diferentes bibliotecas que você adicionou, selecionando os recursos:
Em seguida, o próximo passo é implantá-lo em uma Testnet. Isto é o que normalmente fazemos se quisermos desafiar nosso contrato em um ambiente mais realista. As Testnets são uma rede real baseada na blockchain real da qual herdam, mas trabalhando com regras diferentes que tornam os blocos de mineração mais fáceis do que em uma rede real. O uso de uma testnet é gratuito e o Ether nela não tem nenhum valor real.
Para fazer isso, vá para a aba Deploy & Run Transactions, selecione Injected Provider environment e configure sua carteira (depende de você, no meu caso é Metamask) para a testnet que você quer implantá-la (no meu caso é a Goerli) :
Para poder implantar o contrato na Goerli, você precisa fazer duas coisas:
1. Adicione a rede à sua carteira se ela ainda não estiver pronta (tutorial aqui)
2. Você precisará de algum ether falso para pagar pela transação também. Você pode obtê-los através de faucets (torneiras):
Existem muitas faucets diferentes, e é possível que no momento em que eu publicar este artigo, uma delas fique indisponível.
Quando terminar, você poderá obter o endereço do contrato, seja na saída Remix, ou na Metamask:
Você chegará no Etherscan, um explorador de blocos que torna os dados da Ethereum acessíveis a todos através de uma interface muito poderosa.
A partir desta página, você poderá encontrar o endereço de seu contrato.
Clique nele:
Isto o enviará para o seu endereço de contrato do token.
Se você já explorou o espaço DeFi, há chances de já saber que alguns contratos podem interagir diretamente através do site Etherscan.
Como exemplo, você pode verificar o contrato do Token Uniswap
here, e ao ir para "Read Contract" ou "Write Contract", você pode interagir diretamente com o contrato sem a necessidade de ir para a interface do site da Uniswap:
Mas vamos voltar ao nosso contrato agora:
Como você pode ver, nosso contrato não é realmente interativo e é explicado o porquê: o contrato deve ser verificado e publicado.
Isto não significa que ninguém possa interagir com o contrato. Uma vez que o contrato é implantado na blockchain Ethereum, qualquer pessoa pode interagir com ele, desde que tenha as informações corretas. E como os dados estão disponíveis publicamente, qualquer pessoa com um bom conhecimento pode ter acesso a eles.
A verificação de um contrato é importante de qualquer modo. É uma marca de confiança para os usuários de seu contrato, pois eles podem facilmente verificá-lo e ver se há bugs, ou pior, se é um scam (fraude).
Para verificar o contrato, basta clicar em Verify and Publish (visível na fig. 11) :
Volte para sua página Remix e verifique as informações para completar os campos necessários: Versão do compilador, Licença escolhida, mas para o tipo de compilador selecione Solidity (Arquivo único)
Você vai chegar aqui :
Você deve ter notado que seu contrato está importando outros contratos do OpenZeppelin. Isso significa que você não tem um único contrato de arquivo... Então por que você escolheu a opção Arquivo Único?
Graças aos plugins Remix, você encontrará aqui:
Clique no ícone, procure pelo plugin "Flattener" e ative-o.
Quando estiver pronto, vá até o novo ícone e clique em Flatten contract XXXXXX
Isto copiará o flattened contract para a sua área de transferência. Em seguida, copie-o no formulário de Verificação do Código Fonte do Contrato Etherscan (fig. 12) e inicie o processo de verificação.
Se você fez tudo corretamente, a verificação mudará a página de do seu contrato para isto!
Muito bem, você acaba de criar e implantar seu primeiro token ERC20 na Ethereum (testnet) !
Esse artigo foi escrito por ISMAIL S. e traduzido por Fátima Lima. O original pode ser lido aqui.
Latest comments (0)