// 开发者

在 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. 下一步