检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
跨链场景演示-数据交互 方案概述 准备工作 使用跨链服务
跨链资产数据锁定义 跨链资产交换基于分布式事务的两阶段提交实现,两阶段提交必须基于每个跨链资产单元携带的数据锁。跨链资产数据锁定义如下: type AccountLock struct { PreValue string CrossTXID string } 表
方案概述 应用现状 随着区块链技术的发展,多链并存是当下市场的显著格局,因此链与链之间的资产互通,打破数据孤岛成为链上用户的迫切需求,而保证跨链过程的可信安全尤为重要。 解决方案 可信跨链服务是基于一系列制定的可信区块链标准跨链协议,保证跨链交易全栈可追溯、可扩展性及可靠性等,助力不同区块链可信互联
准备工作 进行跨链交易之前的准备。 订购区块链服务 安装及实例化链代码 下载配置文件和证书 父主题: 跨链场景演示-数据交互
使用跨链服务 跨链交易前准备工作:订购区块链服务,安装和实例化链代码,下载配置文件和证书完成后,即可通过可信跨链服务(以下简称TCS服务)完成跨链交易。 注册区块链 购买跨链通道 跨链交易 父主题: 跨链场景演示-数据交互
产品优势 跨链操作可审计 跨链申请、授权等操作行为完整保存上链,交易过程记录本地账本,全流程自动、透明、可监督,支持事中校验、事后审计,保障多方权益。 跨链数据授权访问 跨链账本数据以及链代码数据仅在所有者授权情况下才能进行访问,基于身份体系对跨链合约及账本查询和交易操作提供授权能力
跨链交易 跨链触发交易 跨链查询交易 跨链查账本交易
图解可信跨链服务
跨链智能合约方法示例 介绍跨链智能合约方法示例。 交易发起方预提交(preCommitSend) 交易接收方预提交(preCommitRecv) 交易发起方提交(commitSend) 交易接收方提交(commitRecv) 交易发起方回滚(rollbackSend) 交易接收方回滚
开发前准备 链代码(Chaincode)又称智能合约,在Hyperledger Fabric中是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,
约束与限制 限制项 说明 使用区域 只支持“华北-北京四”区域。 区块链个数 单个租户支持注册10个区块链。 区块链类型 当前只支持Hyperledger Fabric。
跨链交易 介绍区块链Cross-ChainA和区块链Cross-ChainB的交易过程。 配置权限 交易演示 父主题: 使用跨链服务
开发跨链智能合约 开发跨链智能合约前,需要先了解跨链操作的原理。在跨链资产交换场景中,在减少某个链上资产后,需要相应的在对应链上增加资产,这种转移使各条链的资产发生了变化。因此,跨链操作需要保证整个跨链交易结束后不同链之间的全局事务保持一致性,即同时记账,或同时不记账。 可信跨链服务基于分布式事务两阶段提交的思想设计了一套能确保全局事务保持一致性的跨链资产交换流程
安装及实例化链代码 安装链代码 实例化链代码 父主题: 准备工作
跨链链代码开发(Hyperledger Fabric) 开发前准备 开发跨链智能合约
应用场景 以下介绍可信跨链服务在跨地域电子票据的应用场景。 行业痛点 随着区块链生态的发展,不同地市税局提出不同区块链解决方案,产生基于不同架构,安全算法等一系列区块链联盟。如何保证在跨链传递过程中数据的真实性,事务的一致性,不让单链成为发票全生命周期流转的限制,是需要解决的问题。
交易接收方回滚(rollbackRecv) 该方法用于在跨链资产交换接收方所属区块链上执行回滚操作,即还原接收方所属区块链上对应资产至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue
交易发起方回滚(rollbackSend) 该方法用于在跨链资产交换发起方所属区块链上执行回滚操作,即还原发起方所属区块链上对应资产至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv
交易接收方提交(commitRecv) 该方法用于在跨链资产交换接收方所属区块链上执行提交操作,即解锁接收方所属区块链上对应资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除接收方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在接收方已端到端完成。unlockAccount