检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Go语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的结构体定义和方法定义。 合约文件中,用户可自定义结构体以及合约函数。以下内容不可更改: package名:package usercontract 函数的签名:NewSmartContract()、Init(stub contractapi.Con
利用合约查询数据 查询请求消息构建 接口函数 func (msg *ContractRawMessage) BuildInvokeMessage(chainID string, name string, function string, args []string) (*common
利用合约发送交易 背书消息构建 接口函数 func (msg *ContractRawMessage) BuildInvokeMessage(chainID string, name string, function string, args []string) (*common
合约结构 Java语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的方法定义。 合约文件中,用户可自定义合约函数,需要实现Contract的init和invoke方法。 合约的结构如下: package com.huawei.poissonchain; import
在弹出页面中,填写配置参数信息。 表1 创建恢复任务参数表 参数 说明 任务名称 恢复任务的名称。支持英文、数字、中文字符和中划线(-),不能以中划线(-)开头,长度4-24个字符。 源BCS实例 选择待恢复的BCS实例。 备份名称 选择待恢复的实例备份名称。 计费模式 根据BCS实例的计费模式,默认自动选择。
name 是 String 组织名称,IEF节点绑定模式下组织名与IEF节点名称保持一致。支持英文,数字,中文字符和中划线(-), 不能以中划线(-)开头,长度4-24个字符 node_count 是 Long 组织目标节点数, 1-2的正整数 pvc_name 否 String
只用于场景体验,不用于实际应用。 操作步骤 订购BCS实例。 版本为4.X.X(对应社区Hyperledger Fabric 2.2版本),区块链实例名称推荐使用全英文字符,安全机制选择ECDSA,组织数量和名称使用默认配置。 修改链码容器版本。 选择实例管理,单击打算安装同态加密链代码的实例的容器集群。 单
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
链代码结构 本章以Go语言为例来介绍。链代码即一个Go文件,创建好文件后进行函数开发等操作。 当前支持两种方式编写链码:1.4风格(使用shim包)和2.2风格(使用fabric-contract-api-go包)。 区块链服务BCS支持使用两种风格编写的链代码。 链代码接口 Fabric架构版本的区块链实例:
链代码相关的API Fabric源码包中的shim包提供了如下几种类型的接口,您可以参考使用: 参数解析API:调用链代码时需要给被调用的目标函数/方法传递参数,该API提供解析这些参数的方法。 账本状态数据操作API:该API提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等。
链代码结构 本章以Java语言为例来介绍。链代码即一个Java项目,创建好文件后进行函数开发等操作。 约束与限制 Java链代码仅支持Fabric 2.2及以上版本。 Java链代码仅适用于Fabric架构版本的区块链实例。 链代码接口 链代码启动必须通过调用shim包中的start方法。实际开发中,
Chaincode完成用户间的转账操作。在转账数据的验证过程中使用同态加密库对密文交易数据进行合法性校验,确保没有非法操作。示例中实现了余额初始化,余额查询,转账交易三个功能函数,具体功能实现参考如下。 Init初始化余额 当用户注册成功后,需要初始化该用户的余额,默认为0。 输入说明 参数名 类型 描述 是否必须
该内容仅适用于Fabric架构版本的区块链实例的Go语言链代码开发。 为避免出现panic异常时链代码容器异常重启,找不到日志,导致问题无法及时定位,可在Invoke函数入口处添加defer语句时,出现panic异常时返回错误给客户端。 // 定义命名返回值,发生panic在defer里面赋值,确保客户端可以收到返回值
ptedTlsKey字符串 SetClientTlsKey(decryptedTlsKey) //将解密后的TLS私钥传入Fabric-SDK,实现通过内存传入TLSKey 对于MSP私钥 在main.go文件的insert函数中,按如下方式调用函数: encryptedbytekey
如果用户需要对私钥文件进行加密,并在demo中解密后传入FabricSDK。 对于MSP私钥:在FabricHelper文件的genFabricUser函数中,按如下方式调用函数: //从配置文件指定路径下读取加密过的MSP私钥 String adminPrivateKeyString = extractPemString(msp
请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操
请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操
App客户端的典型逻辑过程是: 注册用户 注册用户时可以调用密钥生成函数为用户生成公私钥。 初始化余额 初始化余额时可以调用初始余额准备函数生成具有隐私保护的初始余额信息。 发起交易 交易时可以调用交易准备函数生成具有隐私保护的交易数据。 链代码端对应的逻辑过程是: 保存用户公钥与地址的映射关系。
与部署区块链服务的CCE集群处于不同的企业项目,可能导致使用异常。 default 区块链实例名称 支持中英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链实例名称不支持修改,只能删除重新创建。 bcs-wh 版本类型 BCS提供基础版、专业版和企业版供您选择。
获取用户传递给调用链代码的函数名称及参数 function, args := stub.GetFunctionAndParameters() // 对获取到的函数名称进行判断 if function == "invoke" { // 调用 invoke 函数实现转账操作 return