OSDN Git Service

Merge pull request #41 from Bytom/dev
[bytom/vapor.git] / docs / vapor-docs / 0.1 / core / claim-tx.md
index 810271b..dc57518 100644 (file)
@@ -1,4 +1,12 @@
-# 侧链充值流程
+# claim交易
+
+​    主链是通过矿工挖矿产生资产,vapor侧链是通过claim交易产生资产,因此侧链上资产的源头都是claim交易。
+
+​    claim交易是资产从主链转移到侧链产生的交易,即在主链上锁定交易,在侧链上用claim交易生成侧链上的资产。
+
+# 主链与侧链资产的转移逻辑
+
+### 侧链充值流程
 
 ​    vapor侧链中验证人、收集人、联邦三个角色:
 
@@ -8,7 +16,7 @@
 
 ​            联邦   : 侧链充值是指资产从主链转移到侧链的过程,转移过程,是需要资产先锁定到联邦合约地址。
 
-​    ![main2side](main2side.png)
+​    ![main2side](png/main2side.png)
 
 
 
@@ -36,7 +44,7 @@
 
 ​    注:成为验证人、收集人、联邦在侧链都需要质押一定数量的btm
 
-# 侧链提现流程
+### 侧链提现流程
 
 ​    1、vapor侧链用户发起提现请求,销毁vapor侧链的资产
 
 
 ​    3、联邦在侧链上生成一笔完成提现的操作的交易
 
+
+
+# claim交易
+
+1、claim交易输入
+
+- 增加ClaimInput的输入类型,也是vapor侧链上资产产生源头,主要用于处理资产从主链到侧链的转移。
+
+- TxInput结构作用增加字段Peginwitness
+
+  ​  Peginwitness保存了主链的源交易信息,用于其他节点收到交易时做验证。
+
+  ​  内容如下(字段序列化后依次放入Peginwitness):
+
+  ​  amount + ParentGenesisBlockHash + claimScript + rawTx + merkleBlock
+
+- 生成claim交易输入,并根据主链交易、proof生成Peginwitness
+
+2、签名交易
+
+​    签名交易是对claim交易的签名。
+
+3、提交交易
+
+​    提交交易是要进入交易池,以及广播交易给其他节点。
+
+​    在入交易池前以及处理block过程的交易验证的时候,claim交易验证是对输入中的claim输入与Peginwitness的信息匹配做验证(验证主链交易信息,以及生成的claim输入有没恶意行为),类似工作量证明。
\ No newline at end of file