// 開發者
在 Bitroot 部署智慧合約:Hardhat、Foundry、Remix
Bitroot 相容 EVM,你現有的以太坊開發工具無需任何轉接層即可部署,只需要修改網路設定。本頁依次介紹 Hardhat、Foundry 與 Remix 的做法。
1. 開始之前
- 把網路加入錢包,並從 BRTSCAN 記下 RPC URL 與 Chain ID:將 Bitroot 加入 MetaMask。
- 領取測試網 BRT 用於支付 gas:測試網水龍頭指南。
- RPC URL、Chain ID 與部署私鑰放進環境變數,不要提交到倉庫。
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 託管。