Study
Hardhat

Environment Variable & Network Config

Penjelasan

Untuk deploy ke network publik (testnet atau mainnet), hardhat.config.js perlu mendefinisikan entri baru di objek `networks`, masing-masing berisi `url` RPC endpoint dan `accounts` berupa array private key. Nilai sensitif ini dibaca dari environment variable lewat package `dotenv`, bukan ditulis langsung di file config yang ter-commit ke git. Pola umum: buat file `.env` berisi `SEPOLIA_RPC_URL` dan `PRIVATE_KEY`, panggil `require("dotenv").config()` di baris awal hardhat.config.js, lalu referensikan lewat `process.env.NAMA_VARIABEL`. File `.env` wajib masuk `.gitignore`.

Contoh Konsep

// hardhat.config.js
require("@nomicfoundation/hardhat-toolbox");
require("dotenv").config();

module.exports = {
  solidity: "0.8.20",
  networks: {
    sepolia: {
      url: process.env.SEPOLIA_RPC_URL,
      accounts: [process.env.PRIVATE_KEY],
    },
  },
};

// .env
// SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/${ALCHEMY_KEY}
// PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80

Praktikum

Tambahkan konfigurasi network 'sepolia' di hardhat.config.js yang membaca RPC URL dan private key dari environment variable, lalu deploy contract Counter ke network tersebut.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Gunakan wallet terpisah khusus testing dengan saldo kecil untuk private key di .env development — jangan pernah pakai private key wallet utama yang menyimpan aset asli.