检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Go开发环境准备: 安装Go开发环境。安装包下载地址为:https://golang.org/dl/ 。(请选择1.9.2之后的版本) 各个系统对应的包名(以1.14版本为例) 操作系统 包名 Windows go1.14.windows-amd64.msi Linux go1.14.linux-amd64
准,为了保证系统安全,建议定期修改密码。 在“tcshelper”链代码列表的“操作”列,单击“实例化”。 选择实例化通道、链代码版本、背书策略、背书组织列表,具体设置请参考表1。 表1 辅助链代码配置 参数 说明 实例化通道 默认,此处是channela 链代码版本 1.0 链代码参数
资源初始密码为准,为了保证系统安全,建议定期修改密码。 在链代码管理页面,单击页面左上角的“安装链代码”。 在安装界面输入“链代码名称”、“链代码版本”,配置参数如表1所示。 表1 安装链代码参数表 参数 说明 链代码名称 tcshelper 链代码版本 1.0 选择全部Peer节点
最新动态 本文介绍了可信跨链服务各特性版本的功能发布和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验。 2021年9月 序号 功能名称 功能描述 阶段 相关文档 1 可信跨链服务 可信跨链服务上线,支持Hyperledger Fabric类型区块链之间的跨链互操作。
下载源码包 下载Fabric源码包作为三方库。可选择使用1.x或2.x风格开发跨链智能合约: 版本 链接 1.x https://github.com/hyperledger/fabric/tree/release-1.4 2.x https://github.com/hyper
如下表所示,包括了TCS的所有系统权限。 表1 TCS系统权限 系统权限 权限描述 权限类别 说明 Tenant Administrator 全部云服务管理员(除IAM管理权限) 系统角色 详情请参考系统权限。 Tenant Guest 全部云服务只读权限(除IAM权限) 系统角色 相关链接 IAM产品介绍
跨链链代码开发(Hyperledger Fabric) 开发前准备 开发跨链智能合约
来执行跨链互操作。 跨链服务调用原理 使用可信跨链服务TCS之前,需要安装和实例化跨链辅助合约和用户自己开发的跨链业务合约,并注册到TCS系统中。TCS服务作为跨链参与方的可信中继链,通过访问跨链辅助合约进行跨链交易。用户通过TCS服务提供的RESTful接口进行跨链交易的触发。
开发前准备 链代码(Chaincode)又称智能合约,在Hyperledger Fabric中是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点
选择成员(区块链类型为联盟链) 选择通道中的任意1个节点组织。这里的组织和“Peer节点证书”的组织保持一致。 共识节点证书 与区块链系统交互时,需要使用共识节点证书。请妥善保管对应证书的私钥,建议您进行加密保存。 Peer节点证书 指定节点组织:只能选择跨链辅助合约所在通道
息。 表1 基本信息 参数 描述 计费模式 区块链服务管理费收费模式,支持包年/包月。 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 跨链通道名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 业务类型 互操作 选择区块链 从已经注册
开发跨链智能合约 开发跨链智能合约前,需要先了解跨链操作的原理。在跨链资产交换场景中,在减少某个链上资产后,需要相应的在对应链上增加资产,这种转移使各条链的资产发生了变化。因此,跨链操作需要保证整个跨链交易结束后不同链之间的全局事务保持一致性,即同时记账,或同时不记账。 可信跨链
证书,通过https协议访问通道的接入点进行触发。具体的URL、参数信息请参考方式1获取。 如果使用Postman调试工具,Postman版本要求:7.27.0及以上的。 “发起交易”和“查询交易”两个接口的返回信息会展示在“响应结果”中,用户可根据具体的错误信息进行排查,错误码信息参考如下表1和表2:
跨链资产数据锁定义 跨链资产交换基于分布式事务的两阶段提交实现,两阶段提交必须基于每个跨链资产单元携带的数据锁。跨链资产数据锁定义如下: type AccountLock struct { PreValue string CrossTXID string } 表1
选择“按需计费” 区域 使用默认区域 企业项目 选择已创建的企业项目,例如:default 区块链服务名称 设置为Cross-ChainA 版本类型 选择“专业版” 区块链类型 私有链 Fabric内核 V2.2 共识策略 Raft(CFT) 资源初始密码 登录区块链管理界面时的admin账户的密码
跨链智能合约方法示例 介绍跨链智能合约方法示例。 交易发起方预提交(preCommitSend) 交易接收方预提交(preCommitRecv) 交易发起方提交(commitSend) 交易接收方提交(commitRecv) 交易发起方回滚(rollbackSend) 交易接收方回滚(rollbackRecv)
跨链智能合约方法定义 下表为涉及跨链资产交换的跨链智能合约必须实现的方法,且必须保证方法名相同,否则可能出现跨链资产交换接口调用超时或调用失败的情况: 表1 方法说明 方法名 说明 preCommitSend 在跨链资产交换发起方所属区块链上执行的预提交操作 preCommitRecv
解锁跨链资产(unlockAccount) 在跨链资产交换即将完成时,需要解锁跨链资产交换中涉及的资产。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /*
交易接收方提交(commitRecv) 该方法用于在跨链资产交换接收方所属区块链上执行提交操作,即解锁接收方所属区块链上对应资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除接收方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在接收方已端到端完成。u
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *