检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
订购区块链服务 准备两个区块链服务Cross-ChainA和Cross-ChainB,在区块链服务Cross-ChainA创建一个组织orgA,在区块链服务Cross-ChainB创建一个组织orgB,作为跨链的两个组织节点。 操作步骤 登录区块链服务管理控制台。 进入服务管理页面,单击Hyperledger
以区块链Cross-ChainA和Cross-ChainB的两个账号为例子进行相互转账的跨链交易演示。 Cross-ChainA链上的A1,初值为100,注册区块链名称为AAAA;Cross-ChainB链上的B1,初值为300,注册的区块链名称BBBB。 Cross-ChainA链作为交易发起方
在左侧导航栏搜索“区块链服务”,进入区块链服务管理控制台。 单击左侧导航栏中的“服务管理”。 选择名为Cross-ChainA的区块链服务卡片,单击“区块链管理”。 输入用户名,密码,单击“登录”。 用户名为admin,初始登录密码为您在部署区块链服务时设置的区块链管理初始密码。如果没有设置区块链管理初始密
此处“A1”是Cross-ChainA链上组织orgA的一个账户,100为该账户的余额。 单击“实例化”,完成链代码在当前通道上的实例化,稍等2~3分钟后刷新界面,单击“实例化”列的“查看更多”,查看链代码实例化进度。 选中名为Cross-ChainB的区块链服务卡片,参考1-9完成链代码实例化。
区块链Cross-ChainA和区块链Cross-ChainB注册到TCS服务。 操作步骤 登录可信跨链服务管理控制台,进入“已注册区块链”页面。 单击“注册区块链”,填写区块链Cross-ChainA的注册信息,参考表1。 表1 注册Cross-ChainA信息 参数 说明 区块链名称
Cross-Chain Service,简称TCS)提供区块链注册、购买跨链通道等功能。以下为TCS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信跨链服务。 注册区块链 将区块链注册到TCS中,目前只支持Hyperledger Fabric类型的区块链。
交易。用户通过TCS服务提供的RESTful接口进行跨链交易的触发。 图1 跨链服务调用原理 数据交互方式 互操作:支持跨链读、跨链写、跨链查询账本操作。 数据迁移:不同链之间批量数据的迁移。 与区块链服务BCS的关系 区块链服务(Blockchain Service简称BCS)
成长地图 | 华为云 可信跨链服务 可信跨链服务(Trusted Cross-Chain Service)是基于一系列制定的可信区块链标准跨链协议,实现基于不同区块链内核所构建的同构及异构链之间的互联互通,打破区块链数据孤岛,促进区块链产业生态可信融合。 产品介绍 图说TCS 立即使用
(可选)解压Cross-ChainA的下载包“Cross-ChainA-config.zip”,将文件夹中的“Cross-ChainA-channela-sdk-config.json”文件修改为“crosschainA.json”存在本地备用,将后缀为.peer和.orderer的文件夹压缩为certsA
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使接收方所属区块链上args[1]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
blockchain B * @Param args[1]: The name of the account on blockchain B that will receive the amount of units from the account on blockchainA *
改接收方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改接收方所属区块链上args[1]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额。putStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。
"error_message" : "Failed to send cross tx : Failed to sendPreCrossTransaction: Failed to preCrossRequest: Failed to Generate PreCrossRequest: Failed to get
"error_message" : "Failed to send cross tx : Failed to sendPreCrossTransaction: Failed to preCrossRequest: Failed to Generate PreCrossRequest: Failed to get
改发起方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改发起方所属区块链上args[0]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额。putStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。
blockchain B * @Param args[1]: The name of the account on blockchain B that will receive the amount of units from the account on blockchainA *
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使发起方所属区块链上args[0]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
"error_message" : "Failed to send cross tx : Failed to sendPreCrossTransaction: Failed to preCrossRequest: Failed to Generate PreCrossRequest: Failed to get
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
方案概述 应用现状 随着区块链技术的发展,多链并存是当下市场的显著格局,因此链与链之间的资产互通,打破数据孤岛成为链上用户的迫切需求,而保证跨链过程的可信安全尤为重要。 解决方案 可信跨链服务是基于一系列制定的可信区块链标准跨链协议,保证跨链交易全栈可追溯、可扩展性及可靠性等,助