检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SDK说明 华为云区块链引擎目前提供Java、Golang两种语言SDK,区块链服务启动时会启动一系列grpc接口,监听客户端发送的消息,与客户端交互完成各种请求。在开发客户端时,如果从底层grpc接口开始,进行各种消息封装、消息发送、返回值解析等工作,不仅会导致开发量过大,并且造成重复劳动。
SDK开发,主要用于帮助开发人员理解并开发Java客户端应用程序,使用步骤如下: 单击链接获取Java客户端示例[链接]。 完成客户端初始化参数配置(App.java),进行使用(配置可参考SDK客户端配置)。 示例Demo项目结构如下: . 表1 示例Demo目录结构 文件 介绍 App.java 业务端调用的示例,客户端的初始化配置。
执行上述应用程序,可以在区块链浏览器界面查看此次交易详情。并且可以看到存证文件的hash值、上传文件的用户地址create_addr和存证ev_id等信息已经在区块链上,此时该文件如果被修改,那么对应的链上信息将和该文件不一致,这样保护了该文件的完整性,防止了被篡改。
BCS的性能怎么样? 使用32U 64G规格的ECS,2个客户端同时压测得到的性能数据如下: 表1 数据说明 类型 性能说明 ECDSA+FBFT场景 支持并发数为50,一致性吞吐量为6504 TPS。 国密+FBFT场景 支持并发数为50,一致性吞吐量为5698 TPS。 父主题:
合约结构 Java语言合约由合约文件及依赖包构成,包含包声明、依赖包导入、智能合约的方法定义。 合约文件中,用户可自定义合约函数,需要实现Contract的init和invoke方法。 合约的结构如下: package com.huawei.poissonchain; import
必填参数,客户端SDK配置文件的绝对路径。 decrypts func(bytes []byte) ([]byte, error) 非必填参数,指定证书密文解密算法,默认为明文,无须解密(可变参数)。 初始化SDK文件存储客户端 基于已初始化的SDK Gateway客户端模板初始化富媒体存储客户端。
账本数据存储方式 默认是文件数据库(goleveldb)。 选择全部Peer节点 打勾后,选择全部Peer节点。 组织&Peer节点 手动选择组织&Peer节点。 链代码语言 支持Golang,Nodejs,Java三种类型。 链代码文件 添加链代码文件。 链代码描述 自定义描述信息。
指南->示例DEMO。 修改客户端示例中App.java中的初始化参数,可参考开发指南->SDK客户端配置。 表2 客户端初始化配置介绍 参数 值 ConfigFilePath 链配置文件中yaml文件所在路径 ContractName 配置为合约安装时填写的合约名称,参考用户指南->安装合约。
提示信息 添加安全组 若您是通过自有服务器部署bankuniondemo,则不涉及“添加安全组”操作。 若您是通过华为云弹性云服务器ECS部署bankuniondemo应用,部署成功后先找到应用所在的ECS,单击更改安全组规则,添加安全组入方向规则以允许服务器的8080端口可被访问,方法
Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
SDK介绍,主要介绍Java、Golang语言SDK。 应用程序开发,介绍Java、Golang语言客户端开发流程与示例Demo。 开发流程中的其他操作,请参考: 华为云区块链实例购买 合约安装 下载配置文件 父主题: 华为云区块链引擎管理
将已完成开发的合约文件,压缩成zip格式(可参考Go合约示例文件[链接],示例文件可直接安装)。 合约安装,可参考用户指南->安装合约。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录。 合约压缩文件中,禁止包含Go SDK文件,避免因包含Go SDK文件影响交易操作。
可安装的合约Jar包,文件名为contract.jar。 合约安装,可参考用户指南 >区块链管理 > 合约管理。 合约压缩文件格式:需确保格式为*.zip,且合约文件位于压缩包文件中的一级目录。 合约压缩文件中,只能包含文件名为contract.jar的文件。 父主题: JAVA合约开发
rc_Demo”中Java项目源码的“下载”按钮。 将1步骤中的zip文件解压,把configs文件夹中的orderer文件夹、peer文件夹、sdk-config.json、sdk-config.yaml文件全部复制到javasdkdemo_src目录下的config目录下。然
SdkClient对象包含获取服务节点、获取各种类型的消息构造器及交易ID等方法,基于SDK开发时,必须先构造该对象。 初始化SDK客户端 基于标准配置文件模板初始化SDK。 调用方法 public SdkClient(String configPath) throws CryptoException
示例 环境资源 选择“自定义环境”。 集群 创建新的CCE集群 可用区 请自行选择 云主机规格 4核/8GB 云主机个数 1 高可用 否 虚拟私有云 系统自动创建VPC 所在子网 系统自动创建子网 云主机登录方式 密码 root密码 如果填写该项,则以填写值为准,如果不填写,则以资源初始密码为准。
状态码 状态码 描述 200 请求成功返回配置文件字节流,配置文件为zip格式,包含组织客户端配置文件和相关证书;客户端配置文件以“链ID-组织ID-sdk.yaml”命名;证书路径为:用户输入路径/orgcerts/组织ID/证书文件名;证书包含组织CA(ca.key、ca.crt)、组织CA通信证书(ca_tls
密算法,仅需在创建实例时选择国密加密,并在客户端中将FabricSDK替换为国密SDK即可。 运行Client程序 Client程序运行时一般要设定其使用的配置文件路径、通道名称、链代码名称、组织ID等。 配置文件路径即用户下载配置文件的存放路径。 通道名称即BCS实例中的通道名称。
va_Demo”中Java项目源码的“下载”按钮。 将1步骤中的zip文件解压,把configs文件夹中的orderer文件夹、peer文件夹、sdk-config.json、sdk-config.yaml文件全部复制到gatewayjavademo目录下的config目录下。然