Índice
- Visão geral
- Exemplo de token ERC-20 OpenZeppelin – Como importar contratos do OpenZeppelin no Remix 2.1. OpenZeppelin no Remix – Usando um Contrato Inteligente ERC-20 Verificado
2.1.1. Definir contrato, usar Construtor e chamar a função “Mint”
2.1.2. Nosso script de exemplo de token ERC-20 OpenZeppelin
2.2. Hora de implantar o contrato OpenZeppelin importado no Remix
2.2.1. Adicione seu token ERC-20 na MetaMask
3, Explorando o Remix, o OpenZeppelin e Contratos Inteligentes
4, O que é o Remix e o OpenZeppelin?
5, O que são Contratos Inteligentes?
6, Além do Remix e do OpenZeppelin
6.1. Exemplo de ponto de extremidade de token de API
7, OpenZeppelin no Remix – Importando contratos do OpenZeppelin no Remix – Resumo
A programação avançada de contratos inteligentes não é um passeio no parque. No entanto, se você se concentrar em contratos inteligentes padronizados, poderá implantá-los em minutos. Como isso é possível? Importando contratos do OpenZeppelin no Remix, que é o que demonstraremos neste artigo. Agora, para usar o Remix e importar contratos do OpenZeppelin, uma única linha de código resolve o problema na maioria dos casos. Por exemplo, para criar um token ERC20, a linha de código a seguir apresenta um modelo de contrato inteligente verificado do OpenZeppelin no Remix:
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
Se você deseja aprender como criar um simples contrato inteligente ERC-20 que utiliza a linha de código acima, certifique-se de usar o vídeo acima (em inglês) ou seguir nosso exemplo na seção “Exemplo de token ERC-20 OpenZeppelin” abaixo. Além disso, se você deseja começar a construir dapps, como carteiras (wallets) Web3 e rastreadores de portfólio que podem buscar dados na cadeia (on-chain) e ouvir contratos inteligentes existentes, crie sua conta gratuita no Moralis e comece a construir!
Visão geral
O objetivo do artigo de hoje será sobre nosso tutorial de como criar um token ERC-20. Ao fazê-lo, utilizaremos a MetaMask, o Remix e o OpenZeppelin. A MetaMask confirmará a transação na cadeia, necessária para implantar nosso contrato ERC-20 na rede de teste Goerli. É aqui que vale a pena saber como obter Goerli ETH a partir de uma torneira de teste de ether confiável. Com uma quantidade suficiente de Goerli ETH, você conseguirá cobrir o gás da transação e, por sua vez, completar o feito de “criar tokens ERC-20”. No entanto, você deve primeiro usar o Remix para importar o OpenZeppelin e adicionar as linhas de código necessárias para criar um simples contrato inteligente. Essencialmente, este será um tutorial de programação de contratos inteligentes para iniciantes.
Na segunda parte do artigo de hoje, forneceremos mais contexto em torno do tópico de importação de contratos do OpenZeppeling no Remix. Como tal, exploraremos o Remix, o OpenZeppelin e contratos inteligentes e responderemos as perguntas: “o que é o OpenZeppelin?” e “o que é o Remix IDE?".
Por fim, veremos além dos contratos inteligentes e das ferramentas necessárias para escrevê-los e implantá-los. Afinal, você pode criar ótimos dapps com base em contratos inteligentes existentes. É aqui que o Moralis – provedor líder de API Web3 – simplifica o desenvolvimento Web3. Mostraremos até mesmo um dos pontos de extremidade de Token de API do Moralis em ação – buscaremos os metadados do nosso token ERC-20 de exemplo.
Exemplo de token ERC-20 OpenZeppelin – Como importar contratos do OpenZeppelin no Remix
Para completar este exemplo de token ERC-20 OpenZeppelin, certifique-se de ter as ferramentas acima mencionadas prontas. Você deve ter o plug-in da MetaMask instalado no navegador e com algum Goerli ETH. Agora, se precisar de ajuda com isso, use o link “como obter Goerli ETH” na seção Visão Geral. Dito isso, é hora de mostrar como importar contratos do OpenZeppelin e implantá-los com o Remix.
Antes de começar a importar contratos inteligentes do OpenZeppelin no Remix, você precisa saber como acessar o Remix e criar um novo projeto. Então, use seu navegador (aquele com a extensão da MetaMask) e abra o Remix. Você pode simplesmente consultar no Google por “Remix IDE”:
Uma vez na página do projeto Remix, clique na opção “IDE” no menu superior. Em seguida, selecione “Remix Online IDE”:
Uma vez na tela inicial do Remix IDE, concentre-se na barra lateral esquerda. É aqui que você pode selecionar a pasta padrão “contracts” (contratos) e usar o ícone “new file” (novo arquivo) para criar um novo arquivo de contrato inteligente:
Quando se trata de nomear seu script de contrato inteligente, você pode usar seu próprio nome ou seguir nossa orientação e utilizar “MoralisSmartToken.sol”. Com seu novo arquivo “sol” pronto, é hora de preenchê-lo com as linhas de código necessárias. Então, vamos mostrar como é simples nosso exemplo de token ERC-20 OpenZeppelin.
OpenZeppelin no Remix – Usando um Contrato Inteligente ERC-20 Verificado
A primeira linha em cada contrato inteligente do Solidity define a versão do Solidity. Então, este é o trecho de código que se concentra na versão “0.8.0”:
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
O símbolo “^” antes do número da versão sinaliza que todas as novas versões do Solidity também funcionarão com nosso contrato inteligente. Após a linha pragma, temos um local para importar o OpenZeppelin no Remix. Existem várias maneiras de fazer isso, mas usaremos o link do GitHub, conforme apresentado anteriormente. Assim, a próxima linha do nosso contrato de exemplo é a seguinte:
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
Ao importar contratos do OpenZeppelin no Remix, todas as funções e lógica dos contratos importados ficam disponíveis em seu script. Portanto, depois de importar o contrato ERC-20 acima, você terá tudo o que precisa para criar seu token ERC-20.
Definir contrato, usar Construtor e chamar a função “Mint”
Abaixo da linha de importação, especifique um novo contrato. Novamente, sinta-se à vontade para usar o mesmo nome que nós (“MoralisSmartToken”) ou escolha seu próprio nome. Esta é a linha de código que define o novo contrato:
contract MoralisSmartToken is ERC20 {
Em seguida, precisamos adicionar um construtor (constructor), que é um tipo especial de função que é chamada na primeira vez que um contrato inteligente é implantado na rede. Quando se trata de um construtor ERC-20, ele precisa receber dois parâmetros: o nome e o símbolo do token. No entanto, em vez de codificar o nome e o símbolo reais, você pode usar variáveis. Dessa forma, o usuário que está implantando o contrato pode escolher o nome e o símbolo. Isso ficará mais claro quando mostrarmos como implantar nosso contrato de exemplo. Aqui estão as linhas de código que você precisa usar para formar um construtor adequado:
constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol) {
Dentro de qualquer contrato ERC-20, há também a função “mint
”. Este último considera o endereço para o qual os tokens cunhados devem ser enviados e a quantidade de um token ERC-20 a ser cunhado. Como a importação de contratos do OpenZeppelin no Remix também importa suas funções, você pode simplesmente chamar a função “mint
” dentro do seu construtor:
_mint(msg.sender, 1000 * 10 **18);
Na linha de código acima, “msg.sender
” é uma variável global que se refere ao endereço que implanta o contrato inteligente. No que diz respeito aos números dentro da função “mint
”, eles lidam com o fato de que o Solidity não lê decimais (18 casas decimais) e cunhará 1.000 tokens. Esta linha também é a última linha do nosso contrato inteligente.
Nosso script de exemplo de token ERC-20 OpenZeppelin
Como você decidiu usar o Remix para importar um contrato de token ERC-20 OpenZeppelin, as seis linhas de código abordadas acima funcionam. Aqui está o script “MoralisSmartToken.sol” completo:
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";
contract MoralisSmartToken is ERC20 {
constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol) {
_mint(msg.sender, 1000 * 10 **18);
}
}
Hora de implantar o contrato OpenZeppelin importado no Remix
Nesta fase, você deve ter as linhas de código acima no lugar. Dessa forma, você pode ir além da importação de contratos do OpenZeppelin no Remix. No entanto, antes de implantar seus contratos inteligentes, você precisa compilá-los, o que é um processo simples de dois cliques. Você só precisa ir até a aba “Solidity Compiler” (Compilador Solidity) e clicar no botão “Compile (Compilar) [nome do contrato]”:
Se não houver erros em seu código, o seguinte conteúdo aparecerá no menu lateral abaixo do botão “Compile”:
Depois de compilar com sucesso seu contrato inteligente, é hora de implantá-lo. É aqui que você precisará de sua carteira MetaMask (conectada à rede de teste Goerli) e com algum Goerli ETH. Uma vez na guia “Deploy and Run Transaction” (Implantar e executar a transação), selecione “Injected Provider-MetaMask” (Provedor-MetaMask injetado):
Na mesma aba, há a seção “DEPLOY” (Implantar). Esta última vem com uma opção suspensa, onde você pode inserir o nome e o símbolo do seu token. Com essas variáveis atribuídas, você pode clicar no botão “transact” (transacionar) e confirmar a transação relacionada através do módulo da MetaMask:
Adicione seu token ERC-20 na MetaMask
Assim que a transação acima for confirmada, você poderá adicionar seu novo token ERC-20 na sua MetaMask. Para fazer isso, copie o endereço do contrato implantado na parte inferior da guia “Deploy” no Remix IDE:
Em seguida, abra sua MetaMask, selecione a aba “Assets” (Ativos) e clique na opção “Import tokens” (Importar tokens):
Na página “Import tokens”, cole o endereço do contrato copiado acima no campo de entrada designado. Isso preencherá automaticamente os campos “symbol” (símbolo) e “decimals” (decimais). Por fim, clique no botão “Add custom token” (Adicionar token personalizado):
Assim é fácil criar e implantar um token ERC-20 usando um contrato OpenZeppelin no Remix! Agora, se você gostaria de mergulhar mais fundo no Remix, no OpenZeppelin e contratos inteligentes, continue lendo!
Explorando o Remix, o OpenZeppelin e Contratos Inteligentes
Para saber como importar contratos do OpenZeppelin, você não precisa ser um especialista em relação à teoria. No entanto, a compreensão do básico geralmente torna as coisas mais claras. Como tal, vamos abordar brevemente o Remix, o OpenZeppeling e contratos inteligentes.
O que é o Remix e o OpenZeppelin?
“Remix” é mais comumente utilizado para se referir ao Remix IDE (ambiente de desenvolvimento integrado). Este último é um ambiente de desenvolvimento de código aberto que vem na forma de um aplicativo web e desktop. O Remix IDE permite que os desenvolvedores cubram todo o processo de desenvolvimento de contratos inteligentes para a Ethereum e outras cadeias compatíveis com EVM. Além disso, o “Remix” também pode se referir ao “projeto Remix” – uma plataforma para ferramentas de desenvolvimento de arquitetura de plugins. Os principais subprojetos do projeto Remix são o IDE, mecanismo de plug-in e Remix Libs. Se você quiser explorar o Remix IDE com mais detalhes, veja este artigo, “O que é o Remix IDE?”.
O OpenZeppelin é uma plataforma de código aberto para criar dapps seguros, com uma estrutura que fornece as ferramentas necessárias para criar e automatizar aplicativos Web3. O OpenZeppelin também possui fortes serviços de auditoria, nos quais clientes de alto perfil, como a Ethereum Foundation e a Coinbase, confiam. Além de realizar auditorias de segurança sob demanda e implementar medidas de segurança para garantir que seus dapps estejam seguros, o OpenZeppelin possui outras ferramentas/serviços. Por exemplo, o OpenZeppelin Defender é um aplicativo que pode, entre muitas coisas, proteger e automatizar operações de contratos inteligentes. Mas o que a maioria dos desenvolvedores mais valoriza é a extensa biblioteca de contratos modulares e reutilizáveis do OpenZeppelin, um dos quais usamos no exemplo do token ERC-20 de hoje. Caso você queira mergulhar mais fundo no tópico, leia o seguinte artigo “o que é o OpenZeppelin?”.
O que são Contratos Inteligentes?
Contratos inteligentes são programas na cadeia – pedaços de software armazenados em blockchains programáveis, como a Ethereum. Os contratos inteligentes têm tudo a ver com o reforço de regras e automação predefinidas. De acordo com o código por trás de cada contrato inteligente, este último executa ações quando condições pré-definidas são atendidas. Como tal, é óbvio que os padrões devem ser estabelecidos para garantir a validade, eficácia e eficiência desses programas na cadeia. Um desses padrões é o ERC-20, que se concentra em tokens fungíveis. No entanto, existem muitos outros padrões e, ao importar contratos do OpenZeppeling no Remix, você pode atender todos os padrões ERC. Se você quiser explorar dois outros padrões de token, certifique-se de ler nosso artigo “ERC721 e ERC1155”.
Além do Remix e do OpenZeppelin
Se você decidir usar o Remix para importar o OpenZeppelin e implantar seu próprio contrato inteligente ou se concentrar nos contratos inteligentes existentes, a questão principal é trazer o poder da automação para o público. É aqui que os dapps desempenham o papel mais importante. Além disso, agora que você sabe como importar contratos do OpenZeppelin, é hora de começar a criar dapps. Não muito tempo atrás, você teria que executar seu próprio nó RPC e construir sua própria infraestrutura para criar um dapp decente. Mas as coisas já percorreram um longo caminho e os desenvolvedores legados agora podem se juntar facilmente à revolução da Web3, e o Moralis é indiscutivelmente o melhor provedor Web3!
Com uma conta gratuita, você pode acessar todos os produtos do Moralis:
- Web3 Data API – Busque qualquer dado na cadeia com pequenos trechos de código.
- Auth API – Implemente autenticação Web3 amigável. Um bom exemplo dos recursos do Moralis é nosso tutorial de autenticação Supabase.
- Moralis Streams API – Ouça qualquer carteira ou endereço de contrato inteligente para transmitir eventos na cadeia em tempo real para o seu backend via webhooks (é uma tecnologia utilizada para permitir a comunicação entre duas aplicações e enviar notificações quase em tempo real). Essa ferramenta torna as bibliotecas Web3 obsoletas e permite que você monitore facilmente um endereço Ethereum, crie um bot do Twitter e muito mais.
Uma vez que todas as ferramentas descritas acima funcionam em todas as principais blockchains, o Moralis oferece um amplo alcance e prepara seu trabalho para o futuro. O Moralis também tem tudo a ver com interoperabilidade entre plataforma, permitindo que você use suas linguagens de programação, estruturas e plataformas Web2 favoritas para criar dapps “matadores”. Para tal, estes são os passos a seguir:
- Use o Remix para importar o OpenZeppelin e implantar seus contratos inteligentes ou focar nos existentes.
- Use o Moralis para criar dapps, como carteiras Web3 e rastreadores de portfólio, permitindo que as pessoas interajam com contratos inteligentes Web3 de maneira amigável.
Exemplo de ponto de extremidade de token de API
À luz do tutorial “OpenZeppelin no Remix” de hoje, vamos ver o ponto de extremidade “getTokenMetadata” como um exemplo. Apenas acessando a página de referência deste ponto de extremidade nos documentos do Moralis, podemos obter os metadados de qualquer token, escolhendo uma cadeia e inserindo um endereço de contrato:
Aqui estão os resultados para o token “MST” criado acima:
Agora que você sabe como importar contratos do OpenZeppelin, você pode facilmente usar o poder do Moralis para direcionar seus contratos. Importando contratos do OpenZeppelin no Remix ou usando qualquer outra alternativa, comece a contruir hoje mesmo com o Moralis!
OpenZeppelin no Remix – Importando contratos do OpenZeppelin no Remix – Resumo
No artigo de hoje, pegamos você pela mão, mostrando como importar contratos do OpenZeppelin enquanto focamos em um exemplo de token ERC-20 OpenZeppelin. Agora você sabe que importar contratos do OpenZeppelin no Remix é tão simples quanto colar um endereço adequado do GitHub logo após a linha “import”. Além de aprender a usar o Remix para importar o OpenZeppelin, você também aprendeu a compilar e implantar contratos inteligentes usando o Remix IDE. Indo além do nosso tutorial "OpenZeppelin no Remix", também explicamos o que é o OpenZeppelin, o Remix e contratos inteligentes. Por último, mas não menos importante, você também aprendeu a essência do Moralis. Como tal, agora você está pronto para começar a construir dapps em torno de seus contratos inteligentes existentes.
Seguindo o exemplo do ERC-20 de hoje, você pode facilmente criar um token ERC-721 ou ERC-1155 NFTs. Em ambos os casos, você importaria o OpenZeppelin no Remix,e, ao invés de ERC-20 , concentrar-se-ia nos modelos de contrato ERC-721 ou ERC-1155. Além disso, durante seus esforços de desenvolvimento, você pode precisar de outras ferramentas úteis, tais como uma calculadora de gwei confiável para ETH ou uma faucet criptografada verificada.
Além disso, você pode estar interessado em explorar outros tópicos de desenvolvimento de blockchain. Em caso afirmativo, verifique o canal do Moralis no YouTube e o blog do Moralis. Entre muitos outros tópicos, esses são os locais para aprender mais sobre a API Solana Python e a principal torneira de rede de teste Solana. Caso você queira uma abordagem mais profissional para sua educação criptográfica, considere se matricular na Moralis Academy. Lá você pode começar com os fundamentos da Ethereum ou frequentar cursos mais avançados.
O artigo original foi publicado no Blog do Moralis. Traduzido por Marcelo Panegali
Top comments (0)