Olá mundo! A Aurora é a Máquina Virtual da Ethereum (EVM) baseada na rede NEAR. As taxas de transação são baixas, o tempo médio de confirmação do bloco é rápido e se beneficia da segurança e escalabilidade da NEAR.
A Aurora é uma EVM baseada em rede que se beneficia da segurança e escalabilidade da NEAR. Tecnicamente, a Aurora é um fragmento da NEAR que suporta o Solidity. O padrão do token ERC-20 foi inicialmente criado em 2015. Para o bem e para o mal, é um dos aplicativos Web3 mais usados até o momento.
Neste tutorial de "olá mundo", você irá a aprender coisas como:
- Testar um contrato Solidity
- Implementá-lo na rede de teste Aurora
- Implementá-lo na rede principal Aurora sem pagar nenhuma taxa de gas
- Obter a verificação no Aurorascan
Sumário
1 . Configuração
..... . Rede principal Aurora
..... . API Aurorascan
2 . Teste
3 . Implementação na rede de teste Aurora
4 . Implante na rede principal Aurora
Configuração
Antes de tudo, certifique-se de ter estes itens instalados em sua máquina:
Depois de instalá-los globalmente em sua máquina, você pode:
1- Clonar este repositório: https://github.com/julienbrg/dune-erc20
2- No seu terminal (no seu diretório raiz), instale os módulos do nó digitando o seguinte comando:
npm i
Vá para https://aurora.dev/start, na seção Aurora Network
, selecione a guia testnet
e clique em Add Network
: isso irá adicionar a rede de teste Aurora como uma nova rede em sua carteira MetaMask.
Vá para o faucet Aurora Testnet e clique no botão testnet
. Agora você pode simplesmente clicar no botão Connect to Aurora Testnet
, ele se transformará em um botão Request 0.001 ETH from faucet
: basta clicar nele para obter 0.001 ETH. Isso será mais do que suficiente para implantar seu contrato de token ERC-20.
Se precisar de mais, você pode usar a rede de teste da Rainbow Bridge para transferir alguns Goerli ETH para a rede de teste Aurora.
De volta ao diretório raiz:
1- Copie o arquivo .env.example
2- Renomeie para .env
3- Na MetaMask, exporte a chave privada da carteira que contém o ETH da rede de teste Aurora, copie e cole após o sinal de igual (linha 3)
Rede principal Aurora
Vamos usar uma ferramenta chamada Aurora+. Acesse https://aurora.plus e inscreva-se para obter suas 50 transações gratuitas por mês. Depois de fazer isso, você terá seu URL de endpoint RPC personalizada esperando por você (menu superior direito):
Você pode copiar e colar esse URL em seu arquivo .env
(linha 1).
Em seguida, você deverá exportar a chave privada de sua carteira para o arquivo .env
.
API Aurorascan
Alguma coisa está faltando nesse arquivo .env
e é a chave API do Aurorascan. Você precisará dela para facilitar a leitura do código-fonte do seu contrato por todos:
https://aurorascan.dev/myapikey
Você pode se cadastrar, clicando sobre a chave API no menu esquerdo. Então clique em add
para criar uma chave API. Copie e cole a chave em seu arquivo .env
Teste
Este é um token ERC-20 muito básico que usa a biblioteca de contratos Solidity do Open Zeppelin. Há apenas uma função: a função mint()
. A visibilidade é pública, o que significa que qualquer um pode chamar esta função e cunhar quantas unidades quiser (estamos em um modo 'open bar', por assim dizer):
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.4;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract Dune is ERC20 {
constructor() ERC20("Dune", "DUNE") {}
function mint(address to, uint256 amount) public {
_mint(to, amount);
}
}
Portanto, você primeiro implantará o contrato e, em seguida, o usará chamando a função mint()
e irá transferir um punhado de token DUNE para si mesmo.
Antes de implantar, queremos executar o arquivo de teste chamado Dune.ts
que está na pasta test
. Aqui está o comando que você deseja usar:
npx hardhat test
Você verá que:
- A compilação do contrato Solidity funcionou bem
- Foi implantado corretamente em uma rede local
- As pessoas podem interagir com ele
Implementação na rede de teste Aurora
O script de implantação está na pasta scripts
. Para executá-lo e implantar seu contrato, basta digitar este comando em seu terminal:
npx hardhat run scripts/deploy.ts --network aurora_testnet
Você deve obter algo como isto:
ERC-20 deployed at 0x51723295B6E50d94D887Bbc70c1AE0ab1Fa3a469 ✅
Se você quiser ver o que acontece na cadeia, você pode copiar o endereço do contrato e colá-lo na barra de pesquisa da rede de teste Explorer. Se você clicar sobre o hash de transação, você irá ver algo como isto:
É isto, você acabou de implantar um contrato Solidity para a rede de teste Aurora! 🎉
Para cunhar e transferir uma quantidade de DUNE para você (ou para um amigo), você pode usar este seguinte comando:
npx hardhat run scripts/transfer.ts --network aurora_testnet
Se quiser, você pode adicionar esse token à sua carteira na MetaMask para verificar se ele está lá e também transferir alguns. Na MetaMask, clique na guia 'Ativos' e depois em 'Importar token'. Lá você pode colar o endereço do seu contrato, os demais campos serão preenchidos automaticamente, clique em ‘Adicionar token personalizado’ e aparecerá o token DUNE com saldo de 1 unidade.
Implante na rede principal Aurora
O seguinte comando executará o arquivo deploy.ts
localizado na pasta do script
:
npx hardhat run scripts/deploy.ts --network aurora_mainnet
Parabéns! 🎉
Seu ERC-20 está implantado na rede Aurora, você não pagou nada, o código-fonte está disponível para que todos possam verificar o que está acontecendo e as pessoas podem até acionar a função mint diretamente do Aurorascan.
E você também pode usar o script transfer.ts
para criar alguns DUNE:
npx hardhat run scripts/transfer.ts --network aurora_mainnet
Verificação do contrato
Este mesmo contrato já foi verificado, então qualquer outro contrato semelhante também será verificado. Um contrato é 'verificado' quando o código-fonte (em Solidity) corresponde ao código de bytes que está na blockchain.
Neste projeto, o plug-in de verificação Etherscan está em vigor. No arquivo deploy.ts
descomente as linhas 15, 16 e 17, e execute:
npx hardhat run scripts/deploy.ts --network aurora_mainnet
Parabéns! 🎉
Para mais informações, existe um frontend disponível se você quiser cunhar alguns tokens Dune: https://dune-aurora.netlify.app/. Foi desenvolvido utilizando React, Web3Auth e um construtor chamado Plasmic. O repositório do Github está aqui (há uma ramificação da duna) se você quiser dar uma olhada.
O token DUNE que você acabou de implantar e usar se beneficia da segurança da rede Aurora. Além disso, estamos usando o conjunto de contratos do Open Zeppelin que foram auditados várias vezes. Para obter informações, o Open Zeppelin Wizard é uma ferramenta muito útil para editar seus próprios contratos inteligentes.
Obrigado pela sua leitura!
Foto por Henrik Heitmann
Sinta-se à vontade para entrar em contato comigo via Element, Telegram, Twitter, Discord ou LinkedIn.
Este artigo é uma tradução de Julien Béranger feita por Felipe Gueller. Você pode encontrar o artigo original aqui.
Oldest comments (0)