原本链公共域名服务

https://openapi.yuanbenlian.com/

注意事项

1. 原本链节点要经过认证之后才能访问,所以,如果贵公司要启动一个新的节点的话,请把贵公司节点的公钥发送过来,并备注,谢谢
2. 公钥位置在kdata/config/priv_validator.json文件的pub_key中
3. 现在节点使用自带数据库,如果想用公司内部的数据库,请修改配置文件,详情knode.yaml
4. 如果要用原本链公共服务,请把贵公司SDK生成的签名相关的公钥发送过来

项目依赖安装

1. docker安装
task deps会自动检查并安装docker

2. redis安装
redis使用的是Qihoo360开发的pika,它具有redis的数据结构,而且会把数据保存到磁盘上面而不是直接放到内存当中,所以存储大小根据磁盘大小而定
项目地址: https://github.com/Qihoo360/pika
redis下载: https://github.com/Qihoo360/pika/releases/download/v2.3.3/pika-linux-x86_64-v2.3.3.tar.bz2
redis启动教程: https://github.com/Qihoo360/pika/wiki/%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8

配置文件介绍

1. genesis.json
* kdata/config/genesis.json
* 为创世块文件,不可修改

2. 区块链config.toml
* kdata/config/config.toml
* 不想看终端区块打印信息,可以修改log_level="error"
* 默认开启的端口为:26656,26657,如果需要变动,请找到对应的端口进行修改

3. knode.yaml
* kdata/config/knode.yaml
* 原本链节点API配置文件
* bind_port为对外访问端口,可自定义
* external_uri:以便其他节点和本节点互通,如果不设置,则系统自动获取外网访问地址。如果是域名,请手动配置
* abci配置请使用config.toml中的`laddr`中的端口,ip为pika服务器地址,暂时不可使用`localhost`或`127.0.0.1`

4. priv_validator.json
* kdata/config/priv_validator.json
* 私钥文件,请妥善保管

5. docker-compose.yml
* docker-compose.yml
* 节点服务管理文件,支持docker-compose
* 需要修改项:第6行中的端口,请将两个8000全部替换为knode.yaml中bind_port设置的端口

系统要求

1. linux操作系统
2. 需要提供外网可访问的接口(26656/tcp,26657/tcp,8081/tcp) 
    如果没有使用默认配置,请按需修改
3. 5M+带宽
4. 系统内存8G+
5. 系统存储100G+

部署工具

git clone https://github.com/yuanbenio/universe-dp.git --depth=1
使用master分支
请把task文件放到`/usr/bin`中以便下一步使用

项目启动

1. 检查项目依赖依赖,自动安装docker,拉取镜像,并登陆镜像库
task deps

2. 安装docker
如果服务器安装了docker跳过即可,没有则执行task install_docker进行安装

3. 初始化dev项目|初始化pro项目
task dev 启动一个本地的私有链,不连接原本链
task pro 启动一个连接联盟链的节点,需要把公钥给原本链认证,需要配置自己的redis数据库
初始化项目后,请按照 配置文件介绍 修改 kdata/config 中的的各项配置

4. 启动kchain
task kchain : 需要等待一会如果看到同步区块高度,说明连接成功,然后进行下一步
I[12-25|07:39:36.473] Committed state  module=state height=640118 txs=0 appHash=0000000000041CE1
其中height递增,表示区块同步正常

5.启动节点
task s
如果出现"docker-compose": executable file not found in $PATH,请执行task deps
如果出现“Permission denied: please contract YuanBen chain support”,请联系原本,注册权限

项目命令介绍

请执行task -h查看

SDK

https://github.com/yuanbenio/universe-java-sdk