检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
跨链智能合约方法定义 下表为涉及跨链资产交换的跨链智能合约必须实现的方法,且必须保证方法名相同,否则可能出现跨链资产交换接口调用超时或调用失败的情况: 表1 方法说明 方法名 说明 preCommitSend 在跨链资产交换发起方所属区块链上执行的预提交操作 preCommitRecv
改接收方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改接收方所属区块链上args[1]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额。putStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。
改发起方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改发起方所属区块链上args[0]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额。putStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。
本文介绍了可信跨链服务各特性版本的功能发布和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验。 2021年9月 序号 功能名称 功能描述 阶段 相关文档 1 可信跨链服务 可信跨链服务上线,支持Hyperledger Fabric类型区块链之间的跨链互操作。 商用 -
组织&Peer节点(区块链类型为私有链) 选择通道中的任意1个节点组织下的所有peer节点。这里的组织和“Peer节点证书”的组织需要保持一致。 选择成员(区块链类型为联盟链) 选择通道中的任意1个节点组织。这里的组织和“Peer节点证书”的组织保持一致。 共识节点证书 与区块链系统交互
购买跨链通道 两条链上的交易通过一个通道作为媒介来达成交易,需要购买一条跨链通道来连接两个独立的区块链服务。 操作步骤 登录可信跨链服务管理控制台,进入“跨链通道”页面。 单击“购买跨链通道”,填写基本信息,请参考表1。 表1 购买跨链通道信息 参数 说明 计费模式 包年/包月 区域
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv)中调用:
开发环境准备 请根据自身业务选择Go(推荐)或其他语言的开发环境。 Go开发环境准备: 安装Go开发环境。安装包下载地址为:https://golang.org/dl/ 。(请选择1.9.2之后的版本) 各个系统对应的包名(以1.14版本为例) 操作系统 包名 Windows go1
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 跨链通道名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 业务类型 互操作 选择区块链 从已经注册的区块链中任选两个作为跨链通道的参与方。 购买时长 支持自定义购买服务的使用时间,最短1个月。
可信跨链服务将为您提供一系列跨链互操作涉及的API接口,您需要自行开发应用组织这些接口的调用逻辑。您也可使用接口调试功能调用上述接口,具体请参考触发跨链交易。 如果您对业务链代码和客户端APP的设计和开发有需求,可以联系华为云区块链合作伙伴提供进一步服务,我们会结合您的业务以及华为云的优势和特点为您提供完善的解决方
计费说明 跨链服务的计费模式为包年包月。收费标准请参考价格详情。
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使接收方所属区块链上args[1]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使发起方所属区块链上args[0]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除接收方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在接收方已端到端完成。unlockAccount方法的实现请参考解锁跨链资产(unlockAccount)。 该方法为必选方法,需在智能合约中以相同命
产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除发起方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在发起方已端到端完成。unlockAccount方法的实现请参考解锁跨链资产(unlockAccount)。 该方法为必选方法,需在智能合约中以相同命
解锁跨链资产(unlockAccount) 在跨链资产交换即将完成时,需要解锁跨链资产交换中涉及的资产。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /*
跨链触发交易 功能介绍 发起由源端区块链到目标端区块链的跨链交易 URI POST /v1/cross/transaction/invoke 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 from_chaincode_id 是 String 源端链码名称 最小长度:1
面的跨链链代码下载用于演示的链代码,分别为跨链辅助链代码tcshelper.zip和业务链代码tcsexample.zip。 在左侧导航栏搜索“区块链服务”,进入区块链服务管理控制台。 单击左侧导航栏中的“服务管理”。 选择名为Cross-ChainA的区块链服务卡片,单击“区块链管理”。
Fabric中是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。 在面向Hyperledger Fab