核心关键词
多签资产恢复、BTC多签、ETH合约多签、TRX多签、SOL多签、redeemScript、私钥签名、UTXO、spendNonce、ERC20转账
为什么服务器宕机也不怕?
Ownbit 等钱包的设计哲学是“无托管、去中介”,全部代码与协议开源,私钥永远掌握在用户手中。换言之,哪怕官方节点永久下线,只要你保存好对应私钥或助记词,就能自助恢复多签资产。以下内容将手把手讲透 BTC、ETH、TRX、SOL 四大主流链的恢复流程。
一、恢复 BTC 多签资产(2-3 签名示例)
BTC 多签资产特征是“先找 UTXO,再拼 redeemScript,最后广播交易”。
1.1 收集 UTXO
用任意区块浏览器输入多签地址 3CkvfWhYd6behUYnrA5rMQJoyr6oLGM6Ed,记录每笔未花费输出的 tx_hash 与 index(第 0、1、2…个输出)。
1.2 获取三方私钥
在任意安全环境(断网或本地源码页面)进入“钱包管理-导出私钥”,分别抄写:
- privateKey_BTC_A
- privateKey_BTC_B
- privateKey_BTC_C
⚠️ 勿在网页端裸奔复制私钥!
1.3 计算公钥并排序
用本地工具把私钥转成压缩公钥,后按十六进制大小自然排序,本例顺序调整为 C、B、A,生成如下:
redeemScript = 5221021988ac7af60cf4...2va53ae(52 表示 2/3 多签,21 表示推送 33 字节公钥,53ae 为固定指令)
1.4 构造并签署交易示例(JavaScript)
// 用 bitcoinjs-lib,先把 redeemScript、UTXO、手续费等填好
psbt.addInput({...})
.addOutput({ address: '你的冷钱包地址', value: 1e4 })
.signInput(0, privateKey_BTC_B)
.signInput(0, privateKey_BTC_C)
.finalizeAllInputs()
.extractTransaction()1.5 广播 Hex
把上一步 tx.toHex() 贴到任意广播节点即可,区块链确认后资金完成迁移。
二、恢复 ETH/ERC20 多签资产
ETH 与 BTC 逻辑不同:资金锁在智能合约中,恢复即使不用 DApp,也只需 合约地址 + nonce + 两方私钥签名 + 合约调用。
2.1 定位合约地址
假设多签合约地址:0xc314bCbD4e8044b03C98381F715782a815B57fF3。
2.2 获取当前 spendNonce
- 方法 A:直接在线调用
getSpendNonce() - 方法 B:数已发交易数量,返回值为 0、1、2…
2.3 生成两方签名
以 ethereumjs-util 为例,拼好 msgHex,再本地签名:
const sig = ecsign(sha3(msgHex), privateKey)得到 v、r、s 三组数据,请 ABI 编入数组 传入合约。
2.4 调用合约 spend / spendERC20
- 转 ETH:仅需目标地址 & 数量(wei 单位)。
- 转 USDT-ERC20:再额外添加 USDT 合约地址。同一笔交易即可完成转出。
脚本成功发至链上后,资产即刻转移至外部地址。
✅ Layer2 恢复步序一模一样,直接复用主网合约源码即可。
三、恢复 TRX/TRC20 多签资产(2-3 签名示例)
3.1 查看链上权限
访问 https://api.trongrid.io/v1/accounts/{多签地址},确认 Owner 权限 ≥2/3。
3.2 复用 ETH 私钥
TRX、ETH 私钥“互通”。只需把步骤 2 中生成的两方私钥导入 Tron 签名库:
- 创建 Raw Transaction (
amount,to,data) - 通读官方 SDK:
Transaction.addSignature() - 二次签名后广播即可
四、恢复 SOL/SPL 多签资产(Solana)
4.1 生成地址 & 私钥
通过助记词推导路径:m/44'/501'/0'/0',获取各方 SOL Address 和私钥。
4.2 找到 multisig data account
在 多签钱包 - 多签详情 菜单里,复制 multisig data account(例如:G3fZaK...X),这是指令执行的关键账本。
4.3 链上操作流程
- 任意一方先执行
create_transaction - 另外两人分别
approve - 累计签名 ≥ 阈值后,一键
execute_transaction
想更快上手?克隆官方仓库改两行环境变量即可跑通: git clone https://github.com/bitbill/ownbit-multisig-contracts && cd ownbit-multisig-contracts
五、其他 UTXO 币种(BCH/LTC/DASH)一招通吃
以上这些币种与 BTC 共用 secp256k1 私钥体系,redeemScript 生成方式、代码依赖一致。唯一区别在于:
- 浏览器地址不同
- 网络费估算算法不同
其余照抄即可,十分钟搞定多链迁移。
常见问题(FAQ)
Q1:我只有两台硬件钱包在手中,第三台遗失,恢复是否可行?
答:完全可行!任何 2/3 的设置只需两方即可完成签名,真正意义上去信任化。
Q2:JS 代码看起来很复杂,有没有图形化工具?
答:暂无官方 GUI,但可以打包为离线网页 + 离线广播页面的组合,安全又直观。
Q3:多签地址换了新的 3/5,我该怎么改动 redeemScript?
答:仅需把 52(2/3)改成 53(3/5),同时按公钥升序追加剩下两位即可,其余字段不变。
Q4:官方库链接能直接用吗?
答:为了私钥安全,强烈建议先 wget 整套源码到本地电脑再配合 Node 执行,杜绝线上风险。
Q5:Layer2 是否都可通用?
答:EVM 系(BSC、Polygon、AVAX)全部复制 ETH 流程;UTXO 系同理,请确认对应浏览器 LDND 即可。
写在最后
多签资产恢复本质是“控制私钥,控制公钥”的数学游戏。本文把技术路线拆解成三大核心动作:查链上 -> 本地签名 -> 链上广播。只要提前备份私钥、分清排序规则、刷遍官方文档,服务器宕机也不会让你损失分毫。祝你资产长存的每一天,都安心、自由、可验证。