http://www.7klian.com

比原链 Bystack跨链技能源码解读



这个函数受限会按照chainName从数据库中取出对应的chain。然后操作GetBlockCount函数得到chain的高度。然后举办一个伪确定性的检测。

(2) 可以按照差异需求实现侧链,,满意多种场景

这里它建设了一个跨链生意业务orm。详细的布局如下。可以看到,这里它的布局体中包罗有source和dest的字段。

(4)跨链生意业务(主链到侧链的deposit)处理惩罚

在此之后,函数会遍历所有生意业务的输出,然后建设跨链生意业务请求,详细的布局如下。

3、跨链优缺点

(1) 跨链模子、代码较为完整。当前有许多项目利用跨链技能,可是真正实现跨链的凤毛麟角。

vapor为主侧链模子,Cosmos为Hub-Zone的中继链模子。

利益

vapor侧链已经可以或许实现跨链。Cosmos今朝暂无成熟跨链项目呈现,ibc协议处于最终开拓阶段。

图片来自Bystack白皮书

(3)区块处理惩罚

很显然,这个处所的生意业务范例有pay to public key hash 和 pay to script hash这两种。这里会按照差异的生意业务范例举办一个地点的获取。

这部门主要分为主链到侧链的deposit和侧链到主链的withdraw。先看较量巨大的主链到侧链的deposit这部门代码的处理惩罚。


到这里,对主链到侧链的deposit已经处理惩罚完毕。

(1) 跨链速度较慢,需期待10个区块确认,这在今朝Bytom网络上所需时间为30分钟阁下

跨链模子

4、跨链模子平行比拟Cosmos

在这的processIssuing函数,它内部会遍历所有生意业务输入Input的资产范例,也就是AssetID。当这个AssetID不存在的时候,则会去在系统中建设一个对应的资产范例。每个Asset对应的数据布局如下所示。

可扩展性

5、参考发起

Run函数会挪用syncBlock函数同步区块。

在processBlock函数中,还会判定区块中每笔生意业务是否为跨链生意业务。主要通过isDepositTx和isWithdrawalTx函数举办判定。

(2)主侧链同步区块

在此之后,通过挪用tryAttachBlock函数进一法式用processBlock函数处理惩罚区块。

Bystack是由
主要是为了判定链上的资产是否已经不行逆。这里Confirmations的值被设为10。假如不举办这个期待不行逆的进程,很大概主链资产跨链后,主链的最长链改变,导致这笔生意业务没有在主链被打包,而侧链却增加了相应的资产。在此之后,通过GetBlockByHeight函数得到chain的下一个区块。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。