检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过控制台界面或者接入点(RESTful接口)触发跨链交易,交易信息会记录在跨链服务中。支持两种方式触发跨链交易: 方式1:界面触发,方便用户简单测试。操作方法如下: 在“跨链通道”页面,单击对应通道的名称。 在新打开页面的“跨链通道测试”下,选择某一个接口,填写参数值,单击“执行调试”后即可查看交易结果。
行跨链互操作。 跨链服务调用原理 使用可信跨链服务TCS之前,需要安装和实例化跨链辅助合约和用户自己开发的跨链业务合约,并注册到TCS系统中。TCS服务作为跨链参与方的可信中继链,通过访问跨链辅助合约进行跨链交易。用户通过TCS服务提供的RESTful接口进行跨链交易的触发。 图1
基于已经注册的区块链,选择其中两个进行跨链操作。 操作步骤 登录可信跨链服务管理控制台,进入“总览”页面。 在“总览”页面的购买跨链通道,单击“前往购买”。 在“购买跨链通道”页面,按照如下表1填写配置信息。 表1 基本信息 参数 描述 计费模式 区块链服务管理费收费模式,支持包年/包月。
区块链注册在TCS中的名称。 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 描述 描述节点信息。 区块链类型 目前只支持华为云BCS服务提供的Hyperledger Fabric。 合约名称 跨链合约名称,支持增加20个。 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。
道未授权,则无法进行跨链操作。 操作步骤 登录可信跨链服务管理控制台,进入“总览”页面。 在“总览”页面的配置跨链通道,单击“查看跨链通道”。 在“跨链通道”页面,单击跨链通道名称。 在新打开页面中的跨链权限配置下方,配置跨链读、跨链写、跨链查询账本权限。 跨链读:访问链任意合约可以执行被访问链指定合约的读操作。
登录可信跨链服务管理控制台,在“总览”页面的跨链链代码下载用于演示的链代码,分别为跨链辅助链代码tcshelper.zip和业务链代码tcsexample.zip。 在左侧导航栏搜索“区块链服务”,进入区块链服务管理控制台。 单击左侧导航栏中的“服务管理”。 选择名为Cross-
跨链写:访问链任意合约可以执行被访问链指定合约的写操作。 跨链查询账本:访问链可以查询被访问链账本中的区块、交易信息。 操作步骤 登录可信跨链服务管理控制台,进入“跨链通道”页面。 单击跨链通道transfercross-demo名称,进入详情页面。 在跨链权限配置下方,通过查看权限对应图标是否高亮判断是否有权限。若是灰色,代表没有权限。
块链Cross-ChainA和区块链Cross-ChainB注册到TCS服务。 操作步骤 登录可信跨链服务管理控制台,进入“已注册区块链”页面。 单击“注册区块链”,填写区块链Cross-ChainA的注册信息,参考表1。 表1 注册Cross-ChainA信息 参数 说明 区块链名称
浏览交易信息 跨链操作会记录在可信跨链服务中,包括交易趋势、交易统计、区块信息、交易列表等,帮助您了解整个跨链交易操作的状态。 操作步骤 登录可信跨链服务管理控制台。 在“总览”页面,可以按照快速入门提示完成操作。还支持查看我的资源和交易概览。 我的资源:展示已注册区块链、跨链通道和跨链交易最近3个月或6个月的数量。
两条链上的交易通过一个通道作为媒介来达成交易,需要购买一条跨链通道来连接两个独立的区块链服务。 操作步骤 登录可信跨链服务管理控制台,进入“跨链通道”页面。 单击“购买跨链通道”,填写基本信息,请参考表1。 表1 购买跨链通道信息 参数 说明 计费模式 包年/包月 区域 使用默认区域。 跨链通道名称
A,在区块链服务Cross-ChainB创建一个组织orgB,作为跨链的两个组织节点。 操作步骤 登录区块链服务管理控制台。 进入服务管理页面,单击Hyperledger Fabric增强版的“购买”按钮。 根据界面提示,配置区块链基本信息,参数如表1所示。 表1 购买区块链服务参数表
开发跨链智能合约 开发跨链智能合约前,需要先了解跨链操作的原理。在跨链资产交换场景中,在减少某个链上资产后,需要相应的在对应链上增加资产,这种转移使各条链的资产发生了变化。因此,跨链操作需要保证整个跨链交易结束后不同链之间的全局事务保持一致性,即同时记账,或同时不记账。 可信跨链
00,注册的区块链名称BBBB。 Cross-ChainA链作为交易发起方 单击跨链通道transfercross-demo名称,进入详情页面。 查询B1的值。 在跨链权限配置下方,配置“AAAA”到“BBBB”的跨链读权限。 单击“跨链通道测试”,调用“AAAA”的query方
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv)中调用: /* * rollback
解锁跨链资产(unlockAccount) 在跨链资产交换即将完成时,需要解锁跨链资产交换中涉及的资产。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /* * unlockAccount will
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* * putStateWithLock
以下为TCS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信跨链服务。 注册区块链 将区块链注册到TCS中,目前只支持Hyperledger Fabric类型的区块链。 购买跨链通道 基于已经注册的区块链,选择两个区块链进行跨链操作。 配置跨链通道
CrossTXID 记录跨链资产数据锁所属的交易ID,回滚时使用 另外,一般在智能合约中以资产Key拼接数据锁后缀作为资产数据锁的Key,如Key为A的资产数据锁的Key为A_Lock。因此,可在智能合约中定义该后缀常量,便于后续在其他智能合约中使用: const ( lockSuffix
继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使发起方所属区块链上args[0]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。
继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使接收方所属区块链上args[1]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。