检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
支持区域: 华北-北京四 方案概述 API接口 支持由源端区块链到目标端区块链的跨链交易、跨链查询交易、跨链查账本交易等。 支持区域: 华北-北京四 跨链触发交易
方案概述 准备工作 跨链交易 06 API 支持由源端区块链到目标端区块链的跨链交易、跨链查询交易、跨链查账本交易等。
跨链链代码开发(Hyperledger Fabric) 开发前准备 开发跨链智能合约
可信跨链服务基于分布式事务两阶段提交的思想设计了一套能确保全局事务保持一致性的跨链资产交换流程。若您的跨链业务不涉及跨链资产交换,则无需定制编写跨链智能合约,否则需设置跨链资产数据锁与跨链智能合约方法。
交易过程如图1所示,orgA和orgB分别是两个区块链上的组织,A1是orgA组织的一个账户,B1是orgB组织的一个账户,主要实现A1,B1互转账,互查询的操作。 当前仅“华北-北京四”区域支持可信跨链服务。 图1 交易图 父主题: 跨链场景演示-数据交互
图1 跨链服务调用原理 数据交互方式 互操作:支持跨链读、跨链写、跨链查询账本操作。 数据迁移:不同链之间批量数据的迁移。
跨链通道管理 支持查看跨链通道的RESTful接入地址、通信证书等信息,可以对跨链通道权限管理、跨链交易接口在线测试等功能。 跨链浏览器 支持查看跨链交易的操作记录,例如区块数量、交易数量、区块详细信息、交易详细信息、交易趋势等。
解锁跨链资产(unlockAccount) 在跨链资产交换即将完成时,需要解锁跨链资产交换中涉及的资产。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /*
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
交易发起方预提交(preCommitSend) 该方法用于在跨链资产交换发起方所属区块链上执行预提交操作,即修改发起方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改发起方所属区块链上args[0]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额
交易发起方提交(commitSend) 该方法用于在跨链资产交换发起方所属区块链上执行提交操作,即解锁发起方所属区块链上对应资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除发起方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在发起方已端到端完成。unlockAccount