检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
APIs支持”选择了“是”(若您选择了“否”,则需要在实例创建完毕后,在插件管理页面,安装RESTful API。): 登录区块链服务控制台,在左侧导航栏单击“实例管理”,单击目标实例名称,查看详细信息,请参考:REST API Demo。 确认是否下载用户证书、修改conf.yaml与main.go的参数配置:
通过合约对业务数据交互。对数据有修改的操作如插入和删除,需要调用其中的send方法。对数据的查询操作如查询某个键的历史,需要调用其中的query方法。 block.go 用于从区块上获取数据。 tx.go 用于从交易上获取数据。 config.go 客户端的初始化配置。 readme.md 提供详细的接口调用示例。
Solidity合约开发 基本方案 使用自研的容器合约环境集成Solidity的智能合约。 外部搭建Solidity Web IDE,生成测试需要的合约安装字节码和合约调用字节码。 将字节码二进制通过Hex编码字符串作为合约调用参数。 Solidity合约默认名称为:NATIVE_CUSTOM_EVM。
以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的ID,获取方法请参见获取项目ID。
Solidity类型合约需要配置,其他类型合约无需配置。 安装组织 选择需要安装的组织。 Solidity合约的安装组织默认为共识组织,不支持自定义组织。 背书策略 背书是指背书组织执行链码交易并返回一个提案响应给客户端应用的过程。背书策略则指明了需要区块链上多少不同组织的成员根据指定智能
e对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取
登录消息通知服务管理控制台,创建主题并添加订阅者。 当您需要第一时间获取资源的变更信息时,请先创建主题,并为这个主题添加相关的订阅者。即将变更信息接收人的邮箱或手机号码添加到系统中,以便在创建告警规则时可选择对应的接收人。 创建主题。 图1 创建主题 设置主题策略,“可发布消息的服务”请选择“APM”,否则会导致通知发送失败。
DK或者调用插件提供的Restful API接口,进行链上组织间去中心化的隐私通信。 约束与限制 E2EE需要多个组织组成通信群组,使用E2EE功能时每个区块链实例至少需要添加2个组织。 安全机制为国密算法的实例暂不支持安装E2EE插件。 E2EE插件支持的实例版本为1.0.1.10及以上。
go:在同态加密的场景下,用户在部署应用前需要下载安装并且实例化此链代码至区块链实例。 Chaincode库:提供零知识证明功能,用于在密文条件下,校验用户交易的证明,并生成交易后的数据,使背书者无需解密用户交易的数据,达到余额范围的判断。 同态加密仅适用于Fabric架构版本的区块链实例。
secretNumStr string 需要加密的数值,只支持大于等于0的正整数,如果数字有小数,需要扩大倍数传入。 是 pubKeyStr String 同态加密的公钥 是 输出说明 参数名 类型 描述 ciphertext string 加密后的数据 err error 返回错误 注意事项
示例Demo目录结构 文件 介绍 App.java 业务端调用的示例,客户端的初始化配置。 Contract.java 通过合约对业务数据交互。对数据有修改的操作如插入和删除,需要调用其中的send方法。对数据的查询操作如查询某个键的历史,需要调用其中的query方法。 BlockUtil.java
通道创建完成后,在通道管理页面,单击通道列表“操作”列的“配置组织节点”。 在弹出的页面,选择需要加入通道的组织节点。 单击“确定”。 其他操作 表1 其他操作 操作 说明 搜索通道 在通道管理页面右上角的搜索框中输入通道名称,可直接搜索对应的通道。 查看通道列表 在通道管理页面查看当前的通道列表。可查看通道名称、实例名称、查看节点等信息。
区块冷存储 随着时间的推移或者业务量的增加,区块链分布式账本不断增加,数据越来越多,磁盘空间将面临不足的问题,累积的历史数据还会导致交易的性能下降,以致业务无法正常运行。 区块冷存储指将历史区块链分布式账本数据进行归档存储,防止账本数据膨胀导致区块链实例异常,已归档的账本数据还可以进行查询。
时会消耗时间,但可明显提高数据查询速度。因此可以根据业务需要,合理的在某些字段上建立索引。 添加权限验证 对智能合约执行者的权限进行验证,防止无权限的用户执行链代码。 如果业务上不要求确定的某个组织进行背书,为确保链代码上的数据不被任意组织恶意修改(自己安装非法链代码,操作数据等
合约的初始化(Init)接口。将合约启动时,需要首先执行且只需要执行一次的逻辑放到此方法中。 func (e *example01) Init(stub contractapi.ContractStub) ([]byte, error) { // 编写时可灵活使用stub中的API } //
"13",不包括"14" 入参:startKey是待查询状态数据的按字典序的起始key,startKey != "",endKey是待查询的状态数据的按字典序的结束key,endKey!= ""; 返回值:Iterator是查询结果的迭代器,可以通过此迭代器,按顺序读取查询结果 抛出异常:当网络出错,消息超时等,抛出异常
每个数据所有者都只需初始化一次自己的主公钥和私钥。 数据申请者需要使用某数据所有者数据时,需要向其申请用户密钥,当属性没有变化的情况下只需申请一次。 当拥有用户密钥且属性满足密文访问策略时,数据申请者可以异步的,随时解密数据所有者发布的所有相应数据。 接口使用方法请参考属性加密的密钥管理。 图3 细粒度访问控制模式使用流程
否 String 数据集分享流程的创建者DID,action为“new”时,不需要填入 processID 否 String 数据集分享流程的流程ID,action为"new"时,不需要输入 stageName 否 String 本次数据集分享阶段的阶段名称 action 否 String
区块链服务BCS支持使用两种风格编写的链代码。 链代码接口 Fabric架构版本的区块链实例: 链代码启动必须通过1.4风格(调用shim包)中的Start函数,入参为shim包中定义的Chaincode接口类型。实际开发中, 您需要自行定义一个结构体,实现Chaincode接口。
标签。通过标签的预定义操作,用户可以从自身业务角度规划标签,实现标签的高效管理。 在左侧导航栏“标签”页面,查看已添加标签的键和值。 或者单击右上角的“添加标签”,输入键和值。 添加成功后,若需要修改标签的值,单击对应标签操作列的“编辑”按钮。 添加成功后,若需要删除标签,单击对应标签操作列的“删除”按钮。