三步部署架构
2-of-3 门限签名:wallet-api SDK 经 ops.json 连接 BTCSY 远端开放平台 API,经 cli.json 连接内网 Broker;node 分片在您的环境完成签名。
私有化 MPC 标准路径:3 个签名节点 + 1 个 Broker + wallet-api SDK 对接 BTCSY 开放平台与您的业务系统。平台负责建单与广播,签名在您的 TEE / 内网完成。
2-of-3 门限签名:wallet-api SDK 经 ops.json 连接 BTCSY 远端开放平台 API,经 cli.json 连接内网 Broker;node 分片在您的环境完成签名。
wallet-mpc-node 为闭源组件,应用审核通过后由控制台发放二进制与配置模板。在 3 台(或 3 个 TEE 实例)分别运行 node0 / node1 / node2。每个节点使用独立配置连接 Broker 节点中继端口(默认 9522),分片加密落盘,私钥不出节点。
cli_nodeN.json:domain 指向 Broker 节点中继(默认 :9522)、source 为 node0/1/2nodeBindings 中的 clientNo / source / public_key 一一对应启动命令
# 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-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
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", "",
)
其他语言:Java · Rust · Python · TypeScript