Implantação de um contrato em uma rede pública
Vamos descrever esse procedimento utilizando a rede Sepolia e o acesso por meio do Alchemy.
Os passos 1 a 5 que seguimos no exemplo anterior são os mesmos neste caso, pois precisamos partir de um contrato já compilado para então implantá-lo na Sepolia.
1. Definir variáveis de ambiente
Precisamos configurar as seguintes variáveis:
A chave da API do Alchemy, que permitirá o acesso ao nó Sepolia do Alchemy.
A chave privada da nossa carteira em Sepolia, necessária para assinar a transação de criação do contrato.
Normalmente usaríamos um arquivo .env
para armazenar essas informações, mas neste exemplo usaremos tarefas de configuração de variáveis no novo escopo vars
do Hardhat.
Se quiser se aprofundar no assunto, leia este este artículo.
Nosso arquivo hardhat.config.js
deve conter as seguintes informações:
require("@nomicfoundation/hardhat-toolbox");
const { vars } = require("hardhat/config");
const ALCHEMY_API_KEY = vars.get("ALCHEMY_API_KEY");
const SEPOLIA_PRIVATE_KEY = vars.get("SEPOLIA_PRIVATE_KEY");
const ETHERSCAN_API_KEY = vars.get("ETHERSCAN_API_KEY");
module.exports = {
solidity: "0.8.24",
networks: {
sepolia: {
url: `https://eth-sepolia.g.alchemy.com/v2/${ALCHEMY_API_KEY}`,
accounts: [SEPOLIA_PRIVATE_KEY],
},
},
etherscan: {
apiKey: {
sepolia: ETHERSCAN_API_KEY,
},
},
};
Aqui, indicamos que vamos usar as tarefas de vars
para gerenciar variáveis de ambiente.
Utilizamos vars.get
para recuperar as variáveis ALCHEMY_API_KEY
, SEPOLIA_PRIVATE_KEY
e ETHERSCAN_API_KEY
.
Agora devemos declarar os valores dessas variáveis usando o comando vars set
no terminal:
a) Definir a chave da API do Alchemy
npx hardhat vars set ALCHEMY_API_KEY
Isso solicitará que você insira a chave da API do Alchemy.
b) Definir a chave privada
npx hardhat vars set SEPOLIA_PRIVATE_KEY
Isso solicitará que você insira a chave privada da sua carteira.
c) Definir a chave da API do Etherscan
npx hardhat vars set ETHERSCAN_API_KEY
Isso solicitará que você insira a chave da API do Etherscan.
Uma vez definidas, essas variáveis são armazenadas fora do repositório para maior segurança.
Para ver todas as variáveis de ambiente do seu projeto:
npx hardhat vars setup
Para ver apenas as variáveis já definidas:
npx hardhat vars list
2. Implantar o contrato
Para implantar o contrato na Sepolia, execute o seguinte comando:
npx hardhat ignition deploy ignition/modules/Greeter.js --network sepolia --verify
Você receberá como resposta o endereço do contrato e a URL do contrato verificado no Etherscan.
🙌🏻 Parabéns! Você implantou seu primeiro contrato usando o Hardhat na rede pública.
$ npx hardhat vars delete SEPOLIA_PRIVATE_KEY
Last updated