// 開發者

在 Bitroot 部署智慧合約:Hardhat、Foundry、Remix

Bitroot 相容 EVM,你現有的以太坊開發工具無需任何轉接層即可部署,只需要修改網路設定。本頁依次介紹 Hardhat、Foundry 與 Remix 的做法。

1. 開始之前

2. Hardhat

hardhat.config.js:

module.exports = {
  solidity: "0.8.24",
  networks: {
    bitrootTestnet: {
      url: process.env.BITROOT_RPC_URL, // 從 BRTSCAN 取得目前的 RPC 地址
      chainId: Number(process.env.BITROOT_CHAIN_ID), // 從 BRTSCAN 取得目前的 Chain ID
      accounts: [process.env.DEPLOYER_PRIVATE_KEY],
    },
  },
};

用你常用的部署腳本執行:

npx hardhat run scripts/deploy.js --network bitrootTestnet

3. Foundry

foundry.toml:

[rpc_endpoints]
bitroot_testnet = "${BITROOT_RPC_URL}"

部署指令與任何 EVM 鏈一致:

forge create src/MyContract.sol:MyContract \
  --rpc-url $BITROOT_RPC_URL \
  --private-key $DEPLOYER_PRIVATE_KEY

4. Remix

在 "Deploy & Run Transactions" 面板選擇 "Injected Provider - MetaMask"。只要 MetaMask 已連線到 Bitroot,編譯、部署與呼叫合約的體驗與連線以太坊時相同。

5. 驗證部署結果

在 BRTSCAN(https://devnet.bitroot.co/overview)上開啟合約位址,按頁面提示的流程驗證原始碼,其他使用者就能直接閱讀程式碼並在瀏覽器裡呼叫唯讀方法。

6. 值得檢查的幾個坑

  • 連錯鏈。 按網路串接指南的做法在執行時比對 Chain ID,避免設定檔裡的筆誤把部署送到別的網路。
  • 預編譯假設。 標準 Solidity 合約無需修改即可編譯部署;依賴以太坊特定預編譯位址的合約需要單獨檢查。
  • 批次操作的 gas 上限。 正式環境批次操作前先估算 gas,避免單筆上限過低導致部分失敗。
  • 金鑰。 測試網除錯可以用明文 .env;正式部署應使用硬體錢包或 MPC 託管。

7. 下一步