检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在面向Hyperledger Fabric使用可信数据链接服务时,用户需要结合Hyperledger Fabric链代码开发规范、可信跨链服务的要求与自身业务需求开发自己的跨链链代码。 开发环境准备 下载源码包 父主题: 跨链链代码开发(Hyperledger Fabric)
开发环境准备 请根据自身业务选择Go(推荐)或其他语言的开发环境。 Go开发环境准备: 安装Go开发环境。安装包下载地址为:https://golang.org/dl/ 。
开发跨链智能合约 开发跨链智能合约前,需要先了解跨链操作的原理。在跨链资产交换场景中,在减少某个链上资产后,需要相应的在对应链上增加资产,这种转移使各条链的资产发生了变化。因此,跨链操作需要保证整个跨链交易结束后不同链之间的全局事务保持一致性,即同时记账,或同时不记账。
跨链链代码开发(Hyperledger Fabric) 开发前准备 开发跨链智能合约
/tree/v1.1.1 父主题: 开发前准备
因此,可在智能合约中定义该后缀常量,便于后续在其他智能合约中使用: const ( lockSuffix = "_Lock" ) 父主题: 开发跨链智能合约
commitSend) 交易接收方提交(commitRecv) 交易发起方回滚(rollbackSend) 交易接收方回滚(rollbackRecv) 修改跨链资产数值(putStateWithLock) 解锁跨链资产(unlockAccount) 回滚跨链资产(rollback) 父主题: 开发跨链智能合约
preCommitSend\" \"preCommitRev\" " + "\"commitSend\" \"commitRecv\" \"rollbackSend\" \"rollbackRecv\" \"query\", but got: " + function) } 父主题: 开发跨链智能合约
简介 在使用可信跨链服务时,您需要开发自己的链代码和应用。本文档主要介绍跨链业务链代码的开发,专供具备Go/Java开发经验的开发人员使用。 当前仅“华北-北京四”区域支持可信跨链服务。
提升客户价值 通过可信跨链服务,能够安全可信地进行区块链之间的数据流通,全生命周期追踪发票信息,保证税务开票实时性,避免虚开发票场景,提升数据时效性。 方便易用接入门槛低 提供可视化平台大幅降低用户接入门槛。用户可通过可视化界面操作完成不同区块链之间的对接,快速实现跨链业务。
解锁跨链资产(unlockAccount) 在跨链资产交换即将完成时,需要解锁跨链资产交换中涉及的资产。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /*
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
交易发起方预提交(preCommitSend) 该方法用于在跨链资产交换发起方所属区块链上执行预提交操作,即修改发起方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改发起方所属区块链上args[0]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额
交易发起方提交(commitSend) 该方法用于在跨链资产交换发起方所属区块链上执行提交操作,即解锁发起方所属区块链上对应资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除发起方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在发起方已端到端完成。unlockAccount
交易接收方提交(commitRecv) 该方法用于在跨链资产交换接收方所属区块链上执行提交操作,即解锁接收方所属区块链上对应资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除接收方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在接收方已端到端完成。unlockAccount
交易接收方回滚(rollbackRecv) 该方法用于在跨链资产交换接收方所属区块链上执行回滚操作,即还原接收方所属区块链上对应资产至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv
交易接收方预提交(preCommitRecv) 该方法用于在跨链资产交换接收方所属区块链上执行预提交操作,即修改接收方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改接收方所属区块链上args[1]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额
交易发起方回滚(rollbackSend) 该方法用于在跨链资产交换发起方所属区块链上执行回滚操作,即还原发起方所属区块链上对应资产至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue
跨链交易 跨链触发交易 跨链查询交易 跨链查账本交易