Study
Truffle

Konfigurasi Network di truffle-config.js

Penjelasan

Objek `networks` di truffle-config.js mendefinisikan seluruh target deployment yang dikenal project, masing-masing diberi nama bebas (misal `development`, `sepolia`, `mainnet`) yang dirujuk lewat flag `--network` saat menjalankan `truffle migrate` atau `truffle test`. Tiap entri network butuh minimal `network_id` (ID chain, `"*"` berarti terima ID apa saja) dan cara koneksi (`host`+`port` untuk RPC lokal, atau `provider` untuk RPC remote/testnet). Untuk network publik seperti testnet, biasanya `provider` diisi fungsi yang mengembalikan instance HDWalletProvider, dikombinasikan dengan `gas` dan `gasPrice` opsional untuk mengontrol biaya transaksi deployment.

Contoh Konsep

// truffle-config.js
module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*",
    },
    sepolia: {
      provider: () =>
        new HDWalletProvider(
          process.env.MNEMONIC,
          process.env.SEPOLIA_RPC_URL
        ),
      network_id: 11155111,
      gas: 5500000,
      confirmations: 2,
      timeoutBlocks: 200,
    },
  },
};

Praktikum

Tambahkan konfigurasi network baru bernama 'sepolia' di truffle-config.js dengan network_id 11155111 dan provider dari HDWalletProvider.

Editor Latihan

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

Tips

Tambahkan `confirmations` dan `timeoutBlocks` untuk network publik yang lambat/padat — tanpa itu, migration bisa timeout prematur meskipun transaksi sebenarnya berhasil.