// 开发者
在 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 托管。