Testar seu contrato em uma rede Hardhat local está ótimo durante o desenvolvimento. Quando estiver pronto para a testnet real, você precisa de contas reais, ETH real (testnet) e um provedor de nó como Infura para transmitir suas transações.
TL;DR: Faça deploy de um smart contract Solidity na testnet Sepolia usando Hardhat e Infura.
Stack: Hardhat, Solidity, Infura, Sepolia, dotenv
Nível: Intermediário
Tempo de leitura: ~8 min
Obter a URL do projeto Infura
Crie uma conta em infura.io, crie um novo projeto e copie a URL do endpoint Sepolia. Parece algo como https://sepolia.infura.io/v3/SEU_PROJECT_ID.
Configurar .env
INFURA_URL=https://sepolia.infura.io/v3/SEU_PROJECT_ID
SECRET=suas doze palavras de mnemônico aqui
Configurar hardhat.config.ts
import dotenv from "dotenv";
dotenv.config();
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
const config: HardhatUserConfig = {
solidity: "0.8.24",
defaultNetwork: "local",
networks: {
local: {
url: "http://127.0.0.1:8545",
chainId: 31337,
accounts: { mnemonic: "test test test test test test test test test test test junk" }
},
sepolia: {
url: process.env.INFURA_URL,
chainId: 11155111,
accounts: { mnemonic: process.env.SECRET }
}
}
};
export default config;
Fazer deploy na Sepolia
# Adicione ao package.json scripts:
# "deploy:sepolia": "npx hardhat ignition deploy ignition/modules/SeuContrato.ts --network sepolia"
npm run deploy:sepolia
O que você construiu
Um smart contract deployado na testnet Sepolia via Infura. O endereço do contrato agora está acessível publicamente na rede Sepolia e você pode interagir com ele de qualquer frontend web3.
Próximos passos
- Verifique o contrato no Etherscan Sepolia para que outros possam ler o código-fonte.
- Nunca comite seu mnemônico ou chave privada. Adicione .env ao .gitignore antes do primeiro commit.
- Após testar na Sepolia, o deploy na mainnet usa o mesmo processo com uma config de rede mainnet e ETH real.
Dúvidas ou feedback? Me encontre no LinkedIn ou GitHub.