检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
以下介绍可信跨链服务在跨地域电子票据的应用场景。 行业痛点 随着区块链生态的发展,不同地市税局提出不同区块链解决方案,产生基于不同架构,安全算法等一系列区块链联盟。如何保证在跨链传递过程中数据的真实性,事务的一致性,不让单链成为发票全生命周期流转的限制,是需要解决的问题。 方案架构 方案优势
方案概述 应用现状 随着区块链技术的发展,多链并存是当下市场的显著格局,因此链与链之间的资产互通,打破数据孤岛成为链上用户的迫切需求,而保证跨链过程的可信安全尤为重要。 解决方案 可信跨链服务是基于一系列制定的可信区块链标准跨链协议,保证跨链交易全栈可追溯、可扩展性及可靠性等,助
PreValue 记录跨链交易开始前被锁定资产的数值,回滚时使用。 CrossTXID 记录跨链资产数据锁所属的交易ID,回滚时使用 另外,一般在智能合约中以资产Key拼接数据锁后缀作为资产数据锁的Key,如Key为A的资产数据锁的Key为A_Lock。因此,可在智能合约中定义该
跨链智能合约方法定义 下表为涉及跨链资产交换的跨链智能合约必须实现的方法,且必须保证方法名相同,否则可能出现跨链资产交换接口调用超时或调用失败的情况: 表1 方法说明 方法名 说明 preCommitSend 在跨链资产交换发起方所属区块链上执行的预提交操作 preCommitRecv
基于不同链上的不同合约,主要有三种权限:跨链读,跨链写,查询账本。不同类型的跨链交易需要不同的权限,例如:发起一次跨链交易需要“跨链写”权限,查询跨链交易结果需要“跨链读”权限,因此需要在进行跨链交易之前设置对应权限。 跨链读:访问链任意合约可以执行被访问链指定合约的读操作。 跨
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv)中调用:
者提供的区块链技术服务平台,它可以帮助您快速部署、管理、维护区块链网络,降低您使用区块链的门槛,让您专注于自身业务的开发与创新,实现业务快速上链。 可信跨链服务TCS与区块链服务BCS属于并列关系。用户可以在区块链服务BCS购买区块链,然后在TCS服务实现两个不同区块链的的互联互通,例如跨链交易。
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使发起方所属区块链上args[0]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
等功能。以下为TCS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信跨链服务。 注册区块链 将区块链注册到TCS中,目前只支持Hyperledger Fabric类型的区块链。 购买跨链通道 基于已经注册的区块链,选择两个区块链进行跨链操作。 配置跨链通道
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使接收方所属区块链上args[1]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
解锁跨链资产(unlockAccount) 在跨链资产交换即将完成时,需要解锁跨链资产交换中涉及的资产。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /*
跨链触发交易 功能介绍 发起由源端区块链到目标端区块链的跨链交易 URI POST /v1/cross/transaction/invoke 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 from_chaincode_id 是 String 源端链码名称 最小长度:1
最小长度:1 最大长度:64 to_query_func_name 是 String 链码中的查询函数 最小长度:1 最大长度:64 args 是 Array of strings 链码查询函数所需的参数列表 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code
跨链查账本交易 功能介绍 跨链查询目标区块链的账本信息 URI POST /v1/cross/ledger/query 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 from_chaincode_id 是 String 源端链码名称 最小长度:1 最大长度:64
面的跨链链代码下载用于演示的链代码,分别为跨链辅助链代码tcshelper.zip和业务链代码tcsexample.zip。 在左侧导航栏搜索“区块链服务”,进入区块链服务管理控制台。 单击左侧导航栏中的“服务管理”。 选择名为Cross-ChainA的区块链服务卡片,单击“区块链管理”。
全局事务保持一致性的跨链资产交换流程。若您的跨链业务不涉及跨链资产交换,则无需定制编写跨链智能合约,否则需设置跨链资产数据锁与跨链智能合约方法。 下面用一个完整的跨链资产交换智能合约为样例说明跨链智能合约开发流程,该样例可完成链A上的A账户与链B上的B账户之间的资产转账。完整智能
操作提供授权能力,在保护数据安全的同时,还保证数据的使用过程可以被追溯。 数据安全隐私保护 基于可信执行环境(Trusted Execution Environment,简称TEE)的证明生成流程,保证跨链交互数据安全可靠,跨链中继侧不记录对应链的数据信息,支持跨链组件点对点数据
Fabric中是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。 在面向Hyperledger Fab
Service)是基于一系列制定的可信区块链标准跨链协议,实现基于不同区块链内核所构建的同构及异构链之间的互联互通,打破区块链数据孤岛,促进区块链产业生态可信融合。 产品介绍 图说TCS 立即使用 成长地图 由浅入深,带您玩转TCS 01 了解 可信跨链服务实现不同区块链内核的可信互联互通。 产品概述