Skip to content

One server multi nodes

Devin edited this page Jun 21, 2019 · 1 revision

单机多实例简洁版

1. 安装 PalletOne

执行如下命令安装PalletOne:

go install ./cmd/gptn

并保证环境变量 PATH 中包含 GOPATH/bin 路径:

export PATH=$PATH:$GOPATH/bin

注:至少要保证palletone是进行用户系统级别的安装。

安装完成后,可执行如下命令检查PalletOne是否成功安装:

gptn version

2. 第一个 PalletOne 实例

2.1 创建工作目录

给本程序实例创建一个运行工作目录,例如 work1, 并切换到该目录下:

mkdir work1 && cd work1

2.2 创建 genesis.json 文件

由于本实例是整个网络的第一个节点,所以需要一个 genesis.json 文件对整个网络进行初始化,运行如下命令创建 json 文件:

work1> gptn newgenesis

在子命令的提示下,可选择使用旧账户或者新创建一个账户,输入两次密码,成功创建json文件显示信息如下:

2.3 初始化整个网络

运行如下命令初始化整个网络

work1> gptn init

在命令的提示下,输入token持有者账户对应的密码;

:该命令执行完后,备份整个 work1/gptn/leveldb 目录,后面创建其他节点需要;

2.4 启动第一个实例

直接运行 gptn ,即可运行全网第一个节点实例:

work1> gptn

2.5 将 console 和实例关联

保持gptn正常运行,另外打开一个终端,切换 work1 目录,运行如下命令关联 console :

cd work1 && gptn attach

2.6 获取节点的 pnode 值

在2.5节运行的 console 下, 执行如下命令:

> admin.nodeInfo

在显示的信息中,找到 pnode 字段:

3. 其他 PalletOne 实例

3.1 创建工作目录

给本程序实例创建一个运行工作目录,例如 work2, 并切换到该目录下:

mkdir work2 && cd work2

3.2 创建新账户

执行如下命令创建新账户, 并输入密码:

work2> gptn account new

成功创建账户后,信息如下,并记住账户地址:

3.3 编辑 toml 配置文件

修改本实例所有端口,以防止与其他实例的端口冲突,包但不限于 HTTPPortWSPortPortListenAddr

BootstrapNodes 字段中添加第一个实例的 pnode

找到 MediatorPlugin.Mediators 字段,将其值修改为 3.2 节创建的账户和对应的密码。

: 在 windows 系统下,找到 IPCPath , 修改 IPC 文件名(例如 gptn2.ipc),以防止与其他实例的文件名冲突;

3.4 拷贝 leveldb 数据

work2 目录下创建新目录 gptn, 拷贝2.3节备份的 work1/gptn/leveldb 数据到 work2/gptn

3.5 启动本实例

work2> gptn
Clone this wiki locally