接入文档

私有化 MPC 标准路径:3 个签名节点 + 1 个 Broker + wallet-api SDK 对接 BTCSY 开放平台与您的业务系统。平台负责建单与广播,签名在您的 TEE / 内网完成。

三步部署架构

2-of-3 门限签名:wallet-api SDK 经 ops.json 连接 BTCSY 远端开放平台 API,经 cli.json 连接内网 Broker;node 分片在您的环境完成签名。

2-of-3 非托管 多语言 SDK 抗量子通道
业务系统 │ ▼ wallet-api SDK ──┬──► BTCSY 开放平台 API(远端 WebSocket) │ CreateTrade / Submit └──► Broker(内网 :9422)SignTransaction │ ▼ (:9522 节点中继) node0 · node1 · node2 (wallet-mpc-node)

部署步骤

部署 3 个 MPC 签名节点

从 GitHub Releases 下载 wallet-mpc-node,在 3 台(或 3 个 TEE 实例)分别运行 node0 / node1 / node2。每个节点使用独立配置连接 Broker 节点中继端口(默认 9522),分片加密落盘,私钥不出节点。

  • 配置 cli_nodeN.jsondomain 指向 Broker 节点中继(默认 :9522)、source 为 node0/1/2
  • 与 Broker nodeBindings 中的 clientNo / source / public_key 一一对应
  • 三节点全部在线后再执行 Keygen / Sign

启动命令

# Linux / macOS — 三台机器(或 TEE 实例)各启一个进程
./wallet-mpc-node -config=cli_node0.json
./wallet-mpc-node -config=cli_node1.json
./wallet-mpc-node -config=cli_node2.json

# Windows
wallet-mpc-node.exe -config=cli_node0.json
wallet-mpc-node.exe -config=cli_node1.json
wallet-mpc-node.exe -config=cli_node2.json
下载 wallet-mpc-node →

部署 1 个 Broker 协调器

下载官方 wallet-mpc-broker 二进制,配置 cli_config.yaml:9422 面向 SDK 签名 API,9522 面向 MPC 节点。绑定租户 appID(cliBindings.source)、tradeKey、合约白名单与节点列表。

  • walletMode: 3 表示 2-of-3,需 3 个 node 实例
  • 生产建议 cliSigningOnly: true,仅暴露签名接口
  • cliBindings.source 与控制台 appID、tradeKey 保持一致

启动命令

# Linux / macOS — 同时拉起 API(:9422) 与节点中继(:9522)
./wallet-mpc-broker -serve -config cli_config.yaml

# Windows
wallet-mpc-broker.exe -serve -config cli_config.yaml
控制台获取 Broker →

使用 wallet-api SDK 接入业务

Go / Java / Rust / Python / TypeScript SDK 双通道:ops.json 配置 BTCSY 远端开放平台 WebSocket;cli.json 指向本地 Broker。

示例代码(Go)

wc, _ := client.NewFromFiles(
    "config/ops.json",   // 远端开放平台 API(控制台获取 domain / appID)
    "config/cli.json",   // 本地 Broker :9422
    appKey, 300,
)
defer wc.Close()

res, _, _, err := wc.Transfer(
    accountID,
    map[string]string{"0xTo...": "0.01"},
    "BETH", "",
)
wallet-api-go 源码与 README →

其他语言:Java · Rust · Python · TypeScript

组件下载

上线前检查清单

  • 控制台完成应用审核,获取 appID / appKey / cipherNo
  • Broker cliBindings.tradeKey 与平台租户 tradeKey 一致
  • 3 节点 + Broker 版本对齐,全部在线
  • contractWhitelist 包含使用的批量合约与 ERC20 地址
  • wallet-api SDK 连通测试与首笔 Transfer 验收通过

更多 API 说明见 开发者接入;开通与凭证见 控制台