WEB3DEV

Cover image for OpenZeppelin no Remix - Importação de Contratos do OpenZeppelin no Remix
Panegali
Panegali

Posted on

OpenZeppelin no Remix - Importação de Contratos do OpenZeppelin no Remix

Índice

  1. Visão geral
  2. 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";
Enter fullscreen mode Exit fullscreen mode

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!

Image description

Inscreva-se no Moralis

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.

Image description

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

Image description

Uma vez na página do projeto Remix, clique na opção “IDE” no menu superior. Em seguida, selecione “Remix Online IDE”:

Image description

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:

Image description

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;
Enter fullscreen mode Exit fullscreen mode

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";
Enter fullscreen mode Exit fullscreen mode

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 {
Enter fullscreen mode Exit fullscreen mode

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) {
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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);
  }
}
Enter fullscreen mode Exit fullscreen mode

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]”:

Image description

Se não houver erros em seu código, o seguinte conteúdo aparecerá no menu lateral abaixo do botão “Compile”:

Image description

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

Image description

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:

Image description

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:

Image description

Em seguida, abra sua MetaMask, selecione a aba “Assets” (Ativos) e clique na opção “Import tokens” (Importar tokens):

Image description

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

Image description

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.

Image description

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?”.

Image description

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”.

Image description

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:

Image description

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:

  1. Use o Remix para importar o OpenZeppelin e implantar seus contratos inteligentes ou focar nos existentes.
  2. 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:

Image description

Aqui estão os resultados para o token “MST” criado acima:

Image description

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!

Image description

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

Oldest comments (0)