检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CrossTXID 记录跨链资产数据锁所属的交易ID,回滚时使用 另外,一般在智能合约中以资产Key拼接数据锁后缀作为资产数据锁的Key,如Key为A的资产数据锁的Key为A_Lock。因此,可在智能合约中定义该后缀常量,便于后续在其他智能合约中使用: const ( lockSuffix
跨链智能合约方法定义 下表为涉及跨链资产交换的跨链智能合约必须实现的方法,且必须保证方法名相同,否则可能出现跨链资产交换接口调用超时或调用失败的情况: 表1 方法说明 方法名 说明 preCommitSend 在跨链资产交换发起方所属区块链上执行的预提交操作 preCommitRecv
笔跨链操作。 本例中,该方法将删除接收方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在接收方已端到端完成。unlockAccount方法的实现请参考解锁跨链资产(unlockAccount)。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。
utStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。 /* * preCommitRecv is the second step of two-phase
区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 跨链通道名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 业务类型 互操作 选择区块链 从已经注册的区块链中任选两个作为跨链通道的参与方。 购买时长 支持自定义购买服务的使用时间,最短1个月。 您可根据需要选择勾选自动续费,
参数 说明 区块链配置 自定义配置 区块链管理初始密码 如果填写该项,则以填写值为准,如果不填写,则以资源初始密码为准 区块链管理确认密码 再次输入区块链管理初始密码 存储卷类型 文件存储卷 节点组织存储容量 使用默认规格 账本数据存储方式 选择“文件数据库(GoLevelDB)”
to_query_func_name 是 String 链码中的查询函数 最小长度:1 最大长度:64 args 是 Array of strings 链码查询函数所需的参数列表 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 成功响应码 data
笔跨链操作。 本例中,该方法将删除发起方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在发起方已端到端完成。unlockAccount方法的实现请参考解锁跨链资产(unlockAccount)。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。
utStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。 /* * preCommitSend is the first step of two-phase
希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信跨链服务。 注册区块链 将区块链注册到TCS中,目前只支持Hyperledger Fabric类型的区块链。 购买跨链通道 基于已经注册的区块链,选择两个区块链进行跨链操作。 配置跨链通道 对跨链通道进行跨链读、跨链写、跨链查询账本等配置操作。
区块链注册在TCS中的名称。 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 描述 描述节点信息。 区块链类型 目前只支持华为云BCS服务提供的Hyperledger Fabric。 合约名称 跨链合约名称,支持增加20个。 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。
支持按交易ID、创建者组织、所在区块号、交易类型、链代码名称、创建时间自定义设置多维度查询交易信息。 创建者组织或合约名称支持模糊搜索。 任意搜索条件中包含交易ID,支持全量搜索,例如交易ID、创建者组织、所在区块或交易ID、类型等搜索组合。 任意搜索条件中不包含交易ID,仅支持从最近200
登录可信跨链服务管理控制台,在“总览”页面的跨链链代码下载用于演示的业务链代码tcsexample.zip。 跨链资产数据锁定义 跨链智能合约方法定义 跨链智能合约方法示例 父主题: 跨链链代码开发(Hyperledger Fabric)
响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 成功响应码 data DataPlayload object 响应链上数据 表3 DataPlayload 参数 参数类型 描述 message String 响应信息 payload
理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使接收方所属区块链上args[1]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。
配置权限 基于不同链上的不同合约,主要有三种权限:跨链读,跨链写,查询账本。不同类型的跨链交易需要不同的权限,例如:发起一次跨链交易需要“跨链写”权限,查询跨链交易结果需要“跨链读”权限,因此需要在进行跨链交易之前设置对应权限。 跨链读:访问链任意合约可以执行被访问链指定合约的读操作。
响应Body参数 参数 参数类型 描述 code String 成功响应码 data Data object 响应数据 表3 Data 参数 参数类型 描述 message String 响应信息 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code
理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使发起方所属区块链上args[0]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选方法,需在智能合约中以相同命名定义该方法,否则将导致跨链资产交换失败。
行业痛点 随着区块链生态的发展,不同地市税局提出不同区块链解决方案,产生基于不同架构,安全算法等一系列区块链联盟。如何保证在跨链传递过程中数据的真实性,事务的一致性,不让单链成为发票全生命周期流转的限制,是需要解决的问题。 方案架构 方案优势 解决数据孤岛 通过可信跨链服务,解决了同构、异构链之间的互联互通。
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv)中调用: /* * rollback