Deploy de Smart Contract na BNB Chain

Fazer deploy em testnet é barato (e gratuito). Fazer deploy na mainnet da BNB Chain custa BNB de verdade. Antes de ir ao ar, certifique-se de que o seu config do Hardhat está apontando para a rede correta e que a sua carteira tem saldo.

TL;DR: Faça deploy de um smart contract na mainnet da BNB Chain usando Hardhat, depois verifique-o no BscScan.
Stack: Hardhat, Solidity, BNB Chain, BscScan, dotenv
Nível: Intermediário
Tempo de leitura: ~6 min

Configurar .env

BSC_URL=https://bsc-dataseed.binance.org/
MNEMONIC=suas doze palavras de mnemônico aqui
npm i dotenv

Adicionar rede BNB ao 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" }
        },
        bnb: {
            url: process.env.BSC_URL,
            accounts: { mnemonic: process.env.MNEMONIC }
        }
    },
};

export default config;

Fazer deploy na BNB Chain

# Adicione ao package.json scripts:
# "deploy:bnb": "npx hardhat ignition deploy ignition/modules/SimpleBank.ts --network bnb"
npm run deploy:bnb

Verificar no BscScan

Acesse o bscscan.com para encontrar seu contrato, depois verifique o código-fonte para que os usuários possam ler e interagir com ele diretamente pela interface do BscScan. Pegue uma API key no bscscan.com, adicione ao seu .env e rode:

npx hardhat verify --network bnb 0xEnderecoDoSeuContrato

O que você construiu

Um smart contract deployado na mainnet da BNB Chain e verificado no BscScan. O código-fonte está publicamente visível e os usuários podem interagir com ele diretamente pela interface do BscScan.

Próximos passos

  • Nunca comite sua chave privada ou mnemônico no controle de versão. Adicione .env ao .gitignore antes do primeiro commit.
  • Estime os custos de gas antes do deploy testando na testnet da BSC primeiro.
  • Após a verificação, construa um frontend que se conecta ao endereço do contrato deployado usando ethers.js ou web3.js.

Dúvidas ou feedback? Me encontre no LinkedIn ou GitHub.

Deixe um comentário