检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
什么是休眠与唤醒,作用是什么? 什么是休眠与唤醒 按需计费的区块链实例,当暂时不需要该实例时,可以休眠该区块链实例,休眠后实例不可用;后续再次需要实例时,可以将已休眠的区块链实例唤醒。 休眠与唤醒的作用 休眠区块链实例时,后台则暂停计费,直至下次唤醒;在休眠期间,不再收取区块链实
Go语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的结构体定义和方法定义。 合约文件中,用户可自定义结构体以及合约函数。以下内容不可更改: package名:package usercontract 函数的签名:NewSmartContract()、Init(stub
function string 调用合约中的方法名。 args []string 合约方法参数。 返回值 类型 说明 *common.RawMessage 背书请求需发送的消息。 error 发送成功返回类型为nil,反之返回error。 背书请求消息发送。 接口函数 func (action *ContractAction)
合约结构 Java语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的方法定义。 合约文件中,用户可自定义合约函数,需要实现Contract的init和invoke方法。 合约的结构如下: package com.huawei.poissonchain; import
function string 调用合约中的方法名。 args []string 合约方法参数。 返回值 类型 说明 *common.RawMessage 查询请求需发送的消息。 error 发送成功返回类型为nil,反之返回error。 查询请求消息发送。 接口函数 func (action *ContractAction)
磁盘指标一览 通过设定与磁盘相关的指标阈值和告警条件,来达到向技术支持工程师发送短信或邮件自动告警的目的。让技术支持工程师能够及时察觉和处理服务异常情况,减少异常造成的损失。BCS磁盘相关的指标如下表所示: 表1 节点指标 指标名称 指标描述 指标含义 取值范围 单位 diskAvailableCapacity
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
本章以Go语言为例来介绍。链代码即一个Go文件,创建好文件后进行函数开发等操作。 当前支持两种方式编写链码:1.4风格(使用shim包)和2.2风格(使用fabric-contract-api-go包)。 区块链服务BCS支持使用两种风格编写的链代码。 链代码接口 Fabric架构版本的区块链实例: 链代码启动必须通过1
init方法:在链代码实例化或升级时被调用,完成初始化数据的工作。 Invoke方法:更新或查询账本数据状态时被调用, 需要在此方法中实现响应调用或查询的业务逻辑。 链代码结构 Java语言的链代码结构如下: package main // 引入必要的包,系统自动操作,只要在maven或gradle中配置即可
交易链码是用户实现其业务逻辑的链码,这里给出的示例代码Transaction Chaincode完成用户间的转账操作。在转账数据的验证过程中使用同态加密库对密文交易数据进行合法性校验,确保没有非法操作。示例中实现了余额初始化,余额查询,转账交易三个功能函数,具体功能实现参考如下。 Init初始化余额
Lib库接口和Chaincode库接口进行具体的应用和链代码(智能合约)的开发。 例如App客户端和链代码端的逻辑过程参考如下: App客户端的典型逻辑过程是: 注册用户 注册用户时可以调用密钥生成函数为用户生成公私钥。 初始化余额 初始化余额时可以调用初始余额准备函数生成具有隐私保护的初始余额信息。
耗时间,但可明显提高数据查询速度。因此可以根据业务需要,合理的在某些字段上建立索引。 添加权限验证 对智能合约执行者的权限进行验证,防止无权限的用户执行链代码。 如果业务上不要求确定的某个组织进行背书,为确保链代码上的数据不被任意组织恶意修改(自己安装非法链代码,操作数据等),建议至少两个或两个以上组织共同参与背书。
下载“快速入门”中的Go语言示例链代码。 安装链代码 在实例管理页面中的Hyperledger Fabric增强版页签,单击新创建的Hyperledger Fabric增强版实例的“区块链管理”,登录链代码管理页面。 在登录页面输入用户名、密码、验证码,单击“登录”。 用户名为
合约相关的API 合约SDK(index.ts)提供如下API接口,可以在合约文件中进行调用。这些API按照功能可以划分为: 表1 辅助功能 接口 说明 FuncName(txid :string ) :string 获取智能合约请求中指定的智能合约函数名称。 Parameters(txid:
可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。 BCS提供客户端库和Chaincode库,该库主要用于交易类的密文运算服务,达到用户交易的隐私保护。 客户端库:用于在client端提供加法同态功能和生成交易金额的证明信息。 同态加密链代码IDChaincode
获取用户传递给调用链代码的函数名称及参数 function, args := stub.GetFunctionAndParameters() // 对获取到的函数名称进行判断 if function == "invoke" { // 调用 invoke 函数实现转账操作 return
通道隔离和隐私保护的区别? 通道隔离:通道可以将区块链网络中的账本数据进行隔离和保密,主要用于实现联盟链中业务的隔离,每个通道可视为一条子链,并且对应一套账本,同一个区块链网络,不同通道之间的账本数据不可见。 隐私保护:在同一个通道内的不同成员,例如A、B成员,经过隐私保护配置,
链ID,配置为链配置文件中yaml中chain_id字段对应的值。 运行程序,示例中的send函数调用合约的insert函数,向区块链存入一对键值对<a,huaweichain>。 进入区块链浏览器页面,在交易查询列表中,单击操作列的“查看详情”,即可查看返回的结果信息。 父主题: 华为云区块链引擎快速入门
将configFile中的值修改为实际的SDK配置文件名称,例如:demo-channel-sdk-config.yaml。 将org的值修改为organization对应的组织哈希值。 在通道管理页面,单击“查看节点”获取组织的哈希值(MSP标识去掉“MSP”后缀即为对应组织的哈希)。 var