# Bitroot 開發者指南

Bitroot 是一條 100% 相容 EVM 的公鏈，這意味著你現有的以太坊開發工具鏈——錢包、SDK、合約框架——基本上可以直接沿用，只需要把網路參數換成 Bitroot 的即可。本指南介紹如何接入 Bitroot 網路、部署與偵錯合約，以及如何使用三重引擎中面向開發者的能力。

## 1. 概述

在動手之前，先了解幾個會反覆用到的入口：

- **區塊瀏覽器 BRTSCAN**：<https://devnet.bitroot.co/overview> —— 查看區塊、交易、合約狀態，也是取得目前網路 RPC 位址、Chain ID 等最新參數的權威來源（這些參數可能隨網路版本演進調整，請以瀏覽器首頁公告的資訊為準，而不是任何第三方轉發的舊文件）。
- **測試網水龍頭**：<https://devnet.bitroot.co/faucet> —— 免費領取用於部署與偵錯合約的測試網 BRT。
- **跨鏈橋**：<https://bridge.bitroot.co/> —— 資產跨鏈轉入轉出。
- **協議程式碼倉庫**：<https://github.com/brt-chain/bitroot> —— 節點部署、協議實作細節、AI Agent 呼叫介面的具體 ABI 均以倉庫內文件為準。

常見任務的分步指南：

- [將 Bitroot 加入 MetaMask：RPC 與 Chain ID](/zh-Hant/developers/add-network)
- [從水龍頭領取測試幣](/zh-Hant/developers/testnet-faucet)
- [用 Hardhat、Foundry 或 Remix 部署智慧合約](/zh-Hant/developers/deploy-contract)

## 2. 接入 Bitroot 網路

Bitroot 遵循標準 JSON-RPC 介面，任何支援自訂 EVM 網路的錢包（MetaMask、Rabby、OKX Wallet 等）都可以直接新增。以 MetaMask 為例：

1. 開啟 MetaMask，點選網路選擇器 → “新增網路” → “手動新增網路”。
2. 開啟 BRTSCAN（<https://devnet.bitroot.co/overview>），頁面頂部或網路資訊區通常會給出目前需要填寫的 **網路名稱、RPC URL、Chain ID、貨幣符號、區塊瀏覽器 URL** 五項參數——把這些值原樣填入 MetaMask 的表單。
3. 儲存後切換到 Bitroot 網路，即可看到你的帳戶餘額（0 BRT 屬於正常情況，需要先去水龍頭領取測試代幣）。

> 我們沒有在本頁寫死具體的 RPC 位址和 Chain ID，是因為測試網參數可能隨版本升級而變化——寫死一個過期的值反而會誤導你連錯網路。請始終以 BRTSCAN 頁面目前顯示的參數為準。

## 3. 取得測試網代幣

前往水龍頭頁面（<https://devnet.bitroot.co/faucet>），按提示送出你的錢包位址即可領取用於部署合約、支付 Gas 的測試網 BRT。由於 Bitroot 平均 Gas 費用在 $0.00007 數量級，少量代幣通常足夠完成大量次數的合約呼叫與偵錯。

## 4. 智慧合約開發：沿用你已經會用的工具

因為 Bitroot 100% 相容 EVM，以下工具無須任何轉接層即可直接使用，只需要把網路設定指向 Bitroot：

**Hardhat**（`hardhat.config.js`）：

```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],
    },
  },
};
```

**Foundry**（`foundry.toml` + 環境變數）：

```toml
[rpc_endpoints]
bitroot_testnet = "${BITROOT_RPC_URL}"
```

部署指令與在任何 EVM 鏈上一樣：

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

**Remix**：在 “Deploy & Run” 面板選擇 “Injected Provider - MetaMask”，只要 MetaMask 目前連接的是 Bitroot 網路，編譯、部署、呼叫流程與在以太坊主網上完全一致。

## 5. 用 ethers.js / viem 與網路互動

```ts
import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider(process.env.BITROOT_RPC_URL);
const wallet = new ethers.Wallet(process.env.DEPLOYER_PRIVATE_KEY!, provider);

const balance = await provider.getBalance(wallet.address);
console.log(`Balance: ${ethers.formatEther(balance)} BRT`);
```

由於平行化智慧執行引擎針對無衝突交易做了並行最佳化，在批次傳送大量互不相依的交易時（例如空投、批次鑄造），可以放心地並行提交而不必人為序列等待每一筆確認，鏈上會自動識別可平行執行的交易。

## 6. 區塊瀏覽器與合約驗證

合約部署完成後，建議在 BRTSCAN 上完成原始碼驗證，方便你自己和其他使用者核對合約行為、直接在瀏覽器裡呼叫唯讀方法偵錯。具體驗證入口和所需參數以 BRTSCAN 頁面提示為準。

## 7. 使用 AI 原生 EVM 能力

Bitroot 與一般 EVM 鏈的最大差異在於內建的 AI Agent 標準呼叫介面：智慧合約可以直接呼叫 AI 模型推論，而不需要額外的預言機或鏈下中繼。這部分能力仍在快速迭代中，**具體的合約介面、預編譯位址和 ABI 請以協議倉庫（<https://github.com/brt-chain/bitroot>）裡的最新文件為準**，本頁不重複列出可能過期的介面簽章。概念上，你可以將其理解為一個可以在 Solidity 裡直接 `call` 的"AI 推論預編譯合約"，輸入資料經過零知識證明可驗證稽核層記錄，使得推論結果可以被鏈上或鏈下第三方驗證，而不需要暴露原始模型權重。

## 8. 安全與最佳實踐

- **私鑰管理**：測試網偵錯可以使用明文的 `.env` 檔案，但正式環境請使用硬體錢包或 MPC 託管方案，不要把私鑰寫死進程式碼倉庫。
- **合約稽核**：即使 Bitroot 提供了零知識證明可驗證稽核層，也不能替代你自己合約邏輯的安全稽核——這層能力驗證的是"計算過程和結果是否可信"，不能驗證"你的業務邏輯是否有漏洞"。
- **Gas 預估**：雖然 Bitroot 的 Gas 費用遠低於以太坊主網，但在正式環境中仍建議對批次操作做 Gas 預估，避免因為單筆交易的 Gas 上限設定過低導致部分交易失敗。
- **網路參數檢查**：接入程式碼裡建議對 Chain ID 做執行時檢查（`provider.getNetwork()` 後比對），避免因為設定檔裡寫錯網路參數而誤操作到其他鏈。

## 9. 常見問題

**Q：現有的以太坊合約能直接部署到 Bitroot 嗎？**
A：只要合約不依賴以太坊特定的預編譯合約位址假設，絕大多數標準 Solidity 合約可以直接編譯部署，無須修改程式碼。

**Q：測試網和主網的參數是同一套嗎？**
A：不是，請始終在 BRTSCAN 上確認你目前要接入的是哪個網路環境，測試網與未來主網的 RPC、Chain ID 會不同。

**Q：呼叫 AI 原生 EVM 模組需要額外付費嗎？**
A：具體的計費模型以協議倉庫文件和官方公告為準，本頁不作承諾性描述。

## 10. 資源彙總

| 資源 | 網址 |
| --- | --- |
| 區塊瀏覽器 BRTSCAN | <https://devnet.bitroot.co/overview> |
| 測試網水龍頭 | <https://devnet.bitroot.co/faucet> |
| 跨鏈橋 | <https://bridge.bitroot.co/> |
| 協議程式碼倉庫 | <https://github.com/brt-chain/bitroot> |
| 技術白皮書 | 見站內“研究”→“白皮書” |

如果你在接入過程中遇到本頁未涵蓋的問題，歡迎透過“媒體聯絡方式”頁面或社群管道聯絡我們。
