安装

gvite 节点是什么?

gvite 节点分为 全节点超级节点 ,超级节点是特殊的全节点。目前全节点存储全量的账本数据,并且和全网同步数据达成共识。 全节点可以完成 GVITE 支持的所有功能,例如通过全节点,可以获取全网的数据,也可以作为发送交易和接收交易的操作节点以及竞选超级节点和对超级节点投票。 全节点支持开启 HTTPWEBSOCKETIPC API ,同样支持 命令行 模式和其交互。

开始之前

安装方式支持 二进制 安装和 源码 安装两种

操作系统 ubuntu mac windows
gvite Pre-Mainnet yes yes yes

二进制文件安装

通过命令行下载和安装 gvite, 支持 ubuntu、mac、centos、windows

版本记录可以从 gvite release history 获得,下载 Latest release 版本。

ubuntu 安装示例

## 下载
curl -L -O https://github.com/vitelabs/go-vite/releases/download/v2.6.0/gvite-v2.6.0-linux.tar.gz
## 解压
tar -xzvf gvite-v2.6.0-linux.tar.gz
## 进入解压目录,包含三个文件 gvite、bootstrap 和 node_config.json
cd gvite-v2.6.0-linux
## 启动
./bootstrap

程序是否正常启动,通过查看启动脚本所在目录的 gvite.log 看日志来确定,这个文件

cat gvite.log

如下说明启动成功

t=2018-11-09T17:44:48+0800 lvl=info msg=NodeServer.DataDir:/home/ubuntu/.gvite/maindata module=gvite/node_manager
t=2018-11-09T17:44:48+0800 lvl=info msg=NodeServer.KeyStoreDir:/home/ubuntu/.gvite/maindata/wallet module=gvite/node_manager
Prepare the Node success!!!
Start the Node success!!!

mac 安装示例

## 下载
curl -L -O https://github.com/vitelabs/go-vite/releases/download/v2.6.0/gvite-v2.6.0-darwin.tar.gz
## 解压
tar -xzvf gvite-v2.6.0-darwin.tar.gz
## 进入解压目录,包含三个文件 gvite、bootstrap 和 node_config.json
cd gvite-v2.6.0-darwin
## 启动
./bootstrap

程序是否正常启动,通过查看启动脚本所在目录的 gvite.log 看日志来确定,这个文件

cat gvite.log

如下说明启动成功

t=2018-11-09T17:44:48+0800 lvl=info msg=NodeServer.DataDir:~/Library/GVite/maindata module=gvite/node_manager
t=2018-11-09T17:44:48+0800 lvl=info msg=NodeServer.KeyStoreDir:~/Library/GVite/maindata/wallet module=gvite/node_manager
Prepare the Node success!!!
Start the Node success!!!

安装目录文件说明

安装目录:指 gvite 启动脚本和配置文件所在文件夹。例如上文中的安装目录路径为:

~/gvite-v2.6.0-${os}
  • gvite : 执行程序
  • bootstrap : 启动脚本
  • node_config.json : 配置文件 配置说明

端口

系统默认端口 8483、8484,需要保证没有被其他程序占用,并且防火墙允许其通信

 netstat -nlp|grep 8483 

确定是否有被占用,例如 gvite 正常启动后会显示

netstat -nlp|grep 8483
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::8483                 :::*                    LISTEN      22821/gvite     
udp6       0      0 :::8483                 :::*                                22821/gvite

运行目录说明

cd ~/.gvite/maindata

这是 gvite 的数据目录,在下面你会看到 ledger ledger_files LOCK p2p rpclog runlog wallet 等目录和文件。 gvite 数据目录说明:

  • ledger : 账本目录
  • rpclog : rpc 访问日志
  • runlog : 运行日志目录,runlog 目录
  • wallet : 钱包 keyStore 目录,用于存储私钥生成的 keyStore 文件,如果是超级节点涉及到挖矿账户安全,请 妥善保管

mac 默认目录:~/Library/GVite/maindata

源码安装

golang 环境确认

go env

注意

需要至少安装 1.11.0 以上版本 golang golang 安装方法 go 安装

编译可执行文件

  • 在终端执行
  go get github.com/vitelabs/go-vite

代码所在位置

$GOPATH/src/github.com/vitelabs/go-vite/

GOPATH 默认位置是 ~/go

进入代码所在目录并运行

make gvite

生成的 gvite 可执行文件位于:

$GOPATH/src/github.com/vitelabs/go-vite/build/cmd/gvite/gvite

配置文件配置

node_config.json 参见: 配置文件说明

启动脚本编写

配置文件和编译后的 gvite 在同一目录,例如 linux 环境通过执行

nohup ./gvite -pprof >> gvite.log 2>&1 &

启动

docker 直接部署

安装 docker

参照 docker 官方文档

启动 docker daemon

参照 docker 官方文档

通过 docker 启动 gvite

sudo docker run -v ~/.gvite/:/root/.gvite/ -p 48132:48132 -p 41420:41420 -p 8483:8483 -p 8484:8484 -p 8483:8483/udp -d vitelabs/gvite:latest

docker 编译部署

golang 环境确认

go env

注意

需要至少安装 1.11.0 以上版本 golang golang 安装方法 go 安装

安装 docker

参照 docker 官方文档

启动 docker daemon

参照 docker 官方文档

获取 gvite 源码

 go get github.com/vitelabs/go-vite

构建 gvite 镜像

  cd $GOPATH/src/github.com/vitelabs/go-vite/
  docker build -t gvite .

启动 gvite 容器

  docker run -v $HOME/.gvite/:/root/.gvite/ -p 48132:48132 -p 41420:41420 -p 8483:8483 -p 8484:8484 -p 8483:8483/udp -d gvite

监控

命令行确认当前节点高度

  • 首先参照全节点的启动方式,启动全节点。

  • 通过命令行连接全节点:找到全节点的安装目录。进入到该目录,然后执行如下命令

    Unix/Linux 平台:

    ./gvite attach ~/.gvite/maindata/gvite.ipc
    

    Windows 平台:

    gvite-windows-amd64.exe attach \\.\pipe\gvite.ipc
    

    在交互命令行中输入:

    vite.ledger_getSnapshotChainHeight();
    

    得到

    "{\"id\":0,\"jsonrpc\":\"2.0\",\"result\":\"499967\"}"
    

    499967 即为当前的高度,命令行支持的更多命令参见 vite.help 命令

全节点奖励配置

为了激励全节点运行,vite 官方对全节点运行给予一定奖励,用户需为全节点配置自己的奖励地址。

本文档主要阐述如何为全节点添加奖励相关配置,全节点如何运行,参见安装

配置要求

当前,vite 对运行全节点会发放一定量的奖励,参与奖励的全节点需要进行一些额外的配置。

  1. 配置全节点状态数据上报地址: "DashboardTargetURL":"wss://stats.vite.net"
  2. 在 PublicModules 配置项中新增 "dashboard";
  3. 新增接收奖励地址: "RewardAddr":"vite_xxxx", 此地址为奖励发放地址,请确保保管好私钥;

配置文件新增加项如下所示 (确保最终的 node_config.json 文件符合 json 格式):

  "PublicModules": [
    "ledger",
    "public_onroad",
    "net",
    "contract",
    "pledge",
    "register",
    "vote",
    "mintage",
    "consensusGroup",
    "tx",
    "dashboard"  // 新增加
  ],
  "DashboardTargetURL":"wss://stats.vite.net",  // 新增加
  "RewardAddr":"vite_xxx"   // 新增加

配置结果 check

当配置完成并重启节点后,可以检查链接内容 (链接内容刷新 5min 内有延迟), 查看是否包含自己节点,并检查是否配置成功 (例如地址和名称是否正确).

下一步