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.

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:

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) :

1. Adicione a rede à sua carteira se ela ainda não estiver pronta (tutorial aqui)

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:


Clique nele:

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:



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) :

Você vai chegar aqui :

Graças aos plugins Remix, você encontrará aqui:

Quando estiver pronto, vá até o novo ícone e clique em Flatten contract XXXXXX

Se você fez tudo corretamente, a verificação mudará a página de do seu contrato para isto!

Esse artigo foi escrito por ISMAIL S. e traduzido por Fátima Lima. O original pode ser lido aqui.