检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
跨链交易 介绍区块链Cross-ChainA和区块链Cross-ChainB的交易过程。 配置权限 交易演示 父主题: 使用跨链服务
基于不同链上的不同合约,主要有三种权限:跨链读,跨链写,查询账本。不同类型的跨链交易需要不同的权限,例如:发起一次跨链交易需要“跨链写”权限,查询跨链交易结果需要“跨链读”权限,因此需要在进行跨链交易之前设置对应权限。 跨链读:访问链任意合约可以执行被访问链指定合约的读操作。 跨
改接收方所属区块链上对应资产的值,并对该资产上锁。 本例中,该方法将修改接收方所属区块链上args[1]对应账户的余额为跨链资产交换完成后的数值,同时对该账户上锁,并在数据锁中保存跨链资产交换发生前该账户的余额。putStateWithLock方法的实现请参考修改跨链资产数值(putStateWithLock)。
Fabric中是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行结果是可信的,其结果是无法被伪造和篡改的。 在面向Hyperledger Fab
约及账本查询和交易操作提供授权能力,在保护数据安全的同时,还保证数据的使用过程可以被追溯。 数据安全隐私保护 基于可信执行环境(Trusted Execution Environment,简称TEE)的证明生成流程,保证跨链交互数据安全可靠,跨链中继侧不记录对应链的数据信息,支持
开发环境准备 请根据自身业务选择Go(推荐)或其他语言的开发环境。 Go开发环境准备: 安装Go开发环境。安装包下载地址为:https://golang.org/dl/ 。(请选择1.9.2之后的版本) 各个系统对应的包名(以1.14版本为例) 操作系统 包名 Windows go1
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
购买跨链通道 两条链上的交易通过一个通道作为媒介来达成交易,需要购买一条跨链通道来连接两个独立的区块链服务。 操作步骤 登录可信跨链服务管理控制台,进入“跨链通道”页面。 单击“购买跨链通道”,填写基本信息,请参考表1。 表1 购买跨链通道信息 参数 说明 计费模式 包年/包月 区域
回滚跨链资产(rollback) 在跨链资产交换的过程中如遇到异常情况,需要读取跨链资产对应数据锁中的PreValue,并根据该值回滚跨链资产交换中涉及资产已发生的变化。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是rollbackSend与rollbackRecv)中调用:
区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 跨链通道名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 业务类型 互操作 选择区块链 从已经注册的区块链中任选两个作为跨链通道的参与方。 购买时长 支持自定义购买服务的使用时间,最短1个月。
计费说明 跨链服务的计费模式为包年包月。收费标准请参考价格详情。
使用跨链服务 跨链交易前准备工作:订购区块链服务,安装和实例化链代码,下载配置文件和证书完成后,即可通过可信跨链服务(以下简称TCS服务)完成跨链交易。 注册区块链 购买跨链通道 跨链交易 父主题: 跨链场景演示-数据交互
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据发起方所属区块链上args[0]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使发起方所属区块链上args[0]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
至跨链资产交换开始前的状态,并解锁该资产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将根据接收方所属区块链上args[1]对应数据锁中的PreValue进行资产回滚,并删除该数据锁,使接收方所属区块链上args[1]对应的资产回滚至跨链资产交换开始前的状态。 该方法为必选
等功能。以下为TCS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信跨链服务。 注册区块链 将区块链注册到TCS中,目前只支持Hyperledger Fabric类型的区块链。 购买跨链通道 基于已经注册的区块链,选择两个区块链进行跨链操作。 配置跨链通道
产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除发起方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在发起方已端到端完成。unlockAccount方法的实现请参考解锁跨链资产(unlockAccount)。 该方法为必选方法,需在智能合约中以相同命
产,使得其可以继续处理下一笔跨链操作。 本例中,该方法将删除接收方所属区块链上args[0]对应的数据锁,代表该笔跨链资产交换操作在接收方已端到端完成。unlockAccount方法的实现请参考解锁跨链资产(unlockAccount)。 该方法为必选方法,需在智能合约中以相同命
解锁跨链资产(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