登录QingCloud平台,按步骤创建系统运行需要的相关资源:
1. 创建私有网络
在QingCloud “计算机和网络”中,创建私有网络。
2. 申请公网IP
在QingCloud “计算机和网络”中,根据自己的需求申请公网IP。本应用不需要使用80端口,带宽建议4M以上。
3. 配置防火墙
1) 找到要配置的防火墙
在QingCloud “安全”-“防火墙”中,点击要使用的防火墙。
2) 配置下行规则
在防火墙的配置页面点击“创建”按钮,分别添加6006、9696、5123端口的下行规则,设置行为:接受,协议:TCP。
3) 配置上行规则
在防火墙的配置页面点击“创建”按钮,分别添加6006、9696、5123端口的上行规则,设置行为:接受,协议:TCP。
4) 应用修改
在防火墙的配置页面点击“应用修改”按钮。
4. 负载均衡器
1) 创建负载均衡器
在QingCloud “计算机和网络”-“负载均衡器”中,通过“创建”功能来创建负载均衡器,负载均衡器的类型使用公网,绑定已经申请好的公网IP及在第3步中配置好的防火墙。其他信息根据需要填写,直至创建完成。
2) 创建负载均衡器
创建完负载均衡器后,在负载均衡器的列表界面,点击负载均衡器的ID打开详细界面,通过“创建监听器”创建三个监听器。三个监听器的要求如下:
a) 监听器名称:根据自己需要填写
b) 监听协议:TCP
c) 负载方式:源地址
d) 端口:一个监听器使用5123端口;一个监听器使用6006端口;一个监听器使用9696端口;三个监听器分别对应ChainSQL的三种类型的节点,请确保一定正确设置。
本说明文档中的创建了3个监听器,为了方便展示,将端口号作为了监听器名字的末尾部分,方便识别。
1. 基本设置
输入应用的名称、描述等信息。
2. 主节点设置
配置节点的资源:CPU、内存、挂载卷大小等信息。
3. 验证节点设置
添加负载均衡器并进行节点资源配置:
1) 添加负载均衡器
2) 选择负载均衡器
3) 监听器选择validation-node-5123,该监听器使用的端口为5123
4) 该节点端口号固定为5123,不可更改
5) 转发策略:请勿选择,否则影响网络端口无法连接!
6) 配置节点的资源:CPU、内存、节点数量等信息
4. 非验证节点设置
添加负载均衡器并进行节点资源配置:
1) 添加负载均衡器
2) 选择负载均衡器
3) 监听器选择novalidation-node-6006,该监听器使用的端口为6006
4) 该节点端口号固定为6006,不可更改
5) 转发策略:请勿选择,否则影响网络端口无法连接!
6) 配置节点的资源:CPU、内存、节点数量等信息
5. 代理节点设置
添加负载均衡器并进行节点资源配置:
1) 添加负载均衡器
2) 选择负载均衡器
3) 监听器选择chainsql-proxy-9696,该监听器使用的端口为9696
4) 该节点端口号固定为9696,不可更改
5) 转发策略:请勿选择,否则影响网络端口无法连接!
6) 配置节点的资源:CPU、内存、节点数量等信息
6. 网络设置
选择自己的私有网络。
6) 配置节点的资源:CPU、内存、节点数量等信息
7. 服务环境参数设置
添加负载均衡器并进行节点资源配置:
1) ChainSQL代理用户名和ChainSQL代理密码:为mysql数据的用户名和密码,也即API验证数据库有效的数据库用户信息。
2) ChainSQL 根账户地址:根账户为系统的管理账户。生成方法如下:
a) 复制描述信息中URL:http://chainsql.net/generateAddress,在浏览器中打开
b) 产生输出结果:
以下为举例输出结果,请勿直接使用!
"secret":"xxWFBu6veVgMnAqNf6YFRV2UENRd3","address":"z9VF7yQPLcKgUoHwMbzmQBjvPsyMy19ubs"}
secret为根账户私钥;address输出值为根账户地址。请将address输出值复制到ChainSQL 根账户地址。
注:根账户私钥和地址信息均为管理账号的相关信息,请牢记! 根账户地址。
1) 通过新增节点和删除节点功能增加和删除节点,需要注意的是要验证节点(validation-node-5123)不能小于3个。
2) 新增验证节点后,请勿在短时间内(10分钟)删除原验证节点的数量小于2,因为涉及到账本同步问题,如果需要删除,请在10分钟后再进行删除操作。
ChainSQl部署完成后,使用者通过调用系统提供的API接口来将自己的数据进行区块链存储和管理。系统提供JSON-RPC、JAVA API、Node.js API、Mysql JDBC API类型的接口。各类型的接口命令请参考:http://chainsql.net/api_java.html
本文针对几种类型进行一些实例展示:
1. JAVA API 调用实例
现ChainSQL 支持JAVA 1.6及其以上版本。
1) 获取依赖jar包
a. 如果本地有maven环境,将以下代码加入本地开发环境pom.xml文件进行jar包下载。
b. 如果本地没有maven环境,直接下载项目依赖的jar包,在“buildPath”中选择“libraries”,再Add External Jars 添加相应的jar包。 项目依赖的jar包下载: libs.zip
2) 实例实现的操作为,创建表T_BBPS_LEDGER_ONCHAIN、插入数据和查询数据。具体实例请参考测试程序《java实例》
3) 实例jar包下载:TestChainsql.jar(可直接使用java -jar 命令执行)
2. Js API调用实例
1) ChainSQL的操作对象
a. 使用前首先在package.json文件中引入"chainsql":"^0.6.21"; 然后执行npm install命令
b. 直接执行npm install chainsql --save命令
2) 实例实现的操作为,创建表base、插入数据和查询数据。具体实例请参考测试程序《nodejs实例》
3.Mysql JDBC API调用实例
基于开源项目kingshard,我们支持通过native SQL语句形式向ChainSQL链写入交易数据(创建表交易数据除外,后期开发)。 具体实例请参考mysqlAPI接口 http://chainsql.net/api_mysql