Skip to content

Commit

Permalink
[[FIX]] update wallet recover script doc
Browse files Browse the repository at this point in the history
  • Loading branch information
bysomeone authored and 33cn committed Oct 11, 2022
1 parent b88527a commit ee44bf0
Showing 1 changed file with 29 additions and 5 deletions.
34 changes: 29 additions & 5 deletions system/crypto/btcscript/script/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,44 @@

### 钱包资产找回

#### 相关概念

> 脚本地址X
该地址由钱包找回脚本哈希生成地址, 由于私钥未知, 地址上的资产需要使用钱包找回脚本对应的约束进行提取

> 控制地址A
该地址为钱包找回主地址, 可以基于比特币脚本构造签名, 实时提取地址X中的资产

> 找回地址B
该地址为钱包找回副本地址, 可以基于比特币脚本构造签名, 延时提取地址X中的资产, 目前仅支持2个找回地址

> 钱包找回脚本S
一种比特币脚本, 由地址A和B对应公钥, 以及延时等数据构成

> 基本场景
- 用户生成地址A和B及X, 地址X用于线上资产存储, 地址A离线控制X资产存取
- 地址A私钥丢失时, 可使用地址B的私钥进行延时找回地址X资产
- 实际使用中, 地址B也可由第三方托管控制


#### 操作步骤

> 获取钱包找回地址X
> 获取钱包找回脚本地址X
- 已知钱包找回控制地址A,找回地址B,相对延时时长T
- 调用接口获取获取钱包找回地址X,[相关rpc](README.md#chain33getwalletrecoveraddress)
- 用户使用链上转账功能,将需要被钱包找回控制的的资产转入到地址X
- X对应的私钥未知,需要由地址A或B的私钥构造比特币脚本签名,进行资产操作

> 控制地址提取X资产
> 实时提取X资产
- 控制地址A可以随时对X的资产进行提取,即构造发送方为X的原始转账交易
- 交易需要采用比特币脚本类型签名, [相关rpc](README.md#chain33signwalletrecovertx)
- 发送交易到链上执行

> 找回地址提取X资产
> 延时提取X资产
- 找回地址B可以基于延时交易提取X的资产, 即构造发送方为X的原始转账交易tx1, 但tx1需要提交到链上并等待延时打包
- 交易tx1需要采用比特币脚本类型签名, [相关rpc](README.md#chain33signwalletrecovertx)
- 基于tx1, 相对延时T, 构造延时存证交易tx2,[构造方法](../../../dapp/none/README.md#延时存证交易)
Expand All @@ -33,7 +57,7 @@
|字段名称 |类型|含义
|---|---|---|
|ctrPubKey|string|控制地址公钥, secp256k1算法, 16进制
|recoverPubKey|string|找回地址公钥, secp256k1算法, 16进制
|recoverPubKey|[]string|找回地址公钥数组, secp256k1算法, 16进制, 目前只支持两个地址,即数组长度为2
|relativeDelayTime|int64|钱包找回相对延时时长, 单位秒


Expand All @@ -43,7 +67,7 @@
|名称 |类型|含义
|---|---|---|
|result|string|钱包找回地址
|result|string|脚本地址X



Expand Down

0 comments on commit ee44bf0

Please sign in to comment.