检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
链业务不涉及跨链资产交换,则无需定制编写跨链智能合约,否则需设置跨链资产数据锁与跨链智能合约方法。 下面用一个完整的跨链资产交换智能合约为样例说明跨链智能合约开发流程,该样例可完成链A上的A账户与链B上的B账户之间的资产转账。完整智能合约示例获取方法:登录可信跨链服务管理控制台,
在跨链资产交换接收方所属区块链上执行的回滚操作 可在跨链智能合约按以下示例定义方法名常量与Invoke方法,确保已实现了必选方法: /* * Function name list of the TCS example chaincode * Note: the chaincode for TCS should
跨链智能合约方法示例 介绍跨链智能合约方法示例。 交易发起方预提交(preCommitSend) 交易接收方预提交(preCommitRecv) 交易发起方提交(commitSend) 交易接收方提交(commitRecv) 交易发起方回滚(rollbackSend) 交易接收方回滚(rollbackRecv)
修改跨链资产数值(putStateWithLock) 在跨链资产交换涉及的智能合约方法中,所有对跨链资产的修改都必须与资产上锁同时进行。可将上述逻辑封装至一个方法中,便于后续在其他智能合约方法(主要是preCommitSend与preCommitRecv)中调用: /* *
续在其他智能合约方法(主要是commitSend、commitRecv、rollbackSend与rollbackRecv)中调用: /* * unlockAccount will delete the account's lock from the blockchain *
if err != nil { return fmt.Errorf("failed to unlock in rollbackRev: %v", err) } return nil } 父主题: 跨链智能合约方法示例
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 *
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 *
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 *
blockchain A that will transfer the amount of units to the account on blockchain B * @Param args[1]: The name of the account on blockchain B that
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 *
blockchain A that will transfer the amount of units to the account on blockchain B * @Param args[1]: The name of the account on blockchain B that
记录跨链资产数据锁所属的交易ID,回滚时使用 另外,一般在智能合约中以资产Key拼接数据锁后缀作为资产数据锁的Key,如Key为A的资产数据锁的Key为A_Lock。因此,可在智能合约中定义该后缀常量,便于后续在其他智能合约中使用: const ( lockSuffix
下载源码包 下载Fabric源码包作为三方库。可选择使用1.x或2.x风格开发跨链智能合约: 版本 链接 1.x https://github.com/hyperledger/fabric/tree/release-1.4 2.x https://github.com/hyper
安装链代码 分别在区块链Cross-ChainA和区块链Cross-ChainB安装跨链辅助链代码“tcshelper.zip”和业务链代码“tcsexample.zip”。 操作步骤 登录可信跨链服务管理控制台,在“总览”页面的跨链链代码下载用于演示的链代码,分别为跨链辅助链代码tcshelper
链代码(Chaincode)又称智能合约,在Hyperledger Fabric中是用Go、Java或Node.js语言编写的程序,主要用于操作账本上的数据。链代码是运行在区块链上的、特定条件下自动执行的代码逻辑,是用户利用区块链实现业务逻辑的重要途径。基于区块链特点,智能合约的运行
实例化链代码 实例化安装在区块链Cross-ChainA和区块链Cross-ChainB的跨链辅助链代码“tcshelper.zip”和业务链代码“tcsexample.zip”。 操作步骤 选择名为Cross-ChainA的区块链服务卡片,单击“区块链管理”。 输入用户名,密码,单击“登录”。
跨链查账本交易 02 购买 可信跨链服务(Trusted Cross-Chain Service,简称TCS)提供区块链注册、购买跨链通道等功能。 计费说明 04 使用 可信跨链服务(Trusted Cross-Chain Service,简称TCS)提供区块链注册、购买跨链通道等功能。
订购区块链服务 准备两个区块链服务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链作为交易发起方