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.
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.