# Vapor节点安装与运行

# Docker运行

基础命令

在启动 vapord 前需要用户进行基本的配置,指定数据存储目录,网络类型以及其它启动选项等。

$ vapord -h
Multiple asset management.

Usage:
  vapord [command]

Available Commands:
  help        Help about any command
  init        Initialize blockchain
  node        Run the vapord
  version     Show version info

Flags:
  -h, --help          help for vapord
      --home string   root directory for config and data
  -r, --root string   DEPRECATED. Use --home (default "/Users/zcc/Library/Application Support/Vapor")
      --trace         print out full stack trace on errors

Use "vapord [command] --help" for more information about a command.

vapord 有四个子命令:

  • help:显示 vapord 的帮助信息。
  • init:对 vapord 进行初始化操作。
  • node:启动网络。
  • version:显示网络信息。

配置网络和数据目录

vapor 网络主要有以下几种网络类型,分别有不同的用途:

  • mainnet主网:vapor 主网。
  • testnet测试网:开发者进行交易或者智能合约的测试网络。
  • solonet测试网:单节点网络,不与其它节点相连,相当于私链。

对 vapord 进行初始化:

$ cd cmd/vapord
$ ./vapord init --chain_id <net-type> --home <config_and_data_path>

--chain_id指定的是启动的网络类型,有三种网络类型可选:

  • mainnet:主网
  • testnet:测试网
  • solonet:单节点测试网

如果不指定网络类型,则默认启动solonet。

--home指定的是配置和数据文件存储的路径,如果不指定存储路径,则不同平台的默认路径为:

  • MacOS(darwin): ~/Library/Application Support/Vapor
  • Windows(windows): ~/AppData/Roaming/Vapor
  • Others(eg.Linux): ~/.vapor

以启动solonet为例,将配置和数据文件存储目录指定为$HOME/vapor/solonet

$ ./vapord init --chain_id solonet --home $HOME/vapor/solonet

则在$HOME/vapor/solonet文件夹下会出现相应的配置文件config.toml

$ cat $HOME/vapor/solonet/config.toml
# This is a TOML config file.
# For more information, see https://github.com/toml-lang/toml
fast_sync = true
db_backend = "leveldb"
api_addr = "0.0.0.0:9889"
moniker = ""
chain_id = "mainnet"
[p2p]
laddr = "tcp://0.0.0.0:56656"
seeds = ""

配置文件中各项说明:

  • fast_sync:是否开启快速同步,默认开启快速同步,值为 true。
  • db_backend:使用的后台数据库名称,默认使用 leveldb 数据库。
  • api_addr:api 服务器地址和端口号。
  • chain_id:启动的节点网络,默认启动 solonet 网络。
  • laddr:为其它节点提供的 p2p 地址和端口号。
  • seeds:种子节点地址和端口号,对于 solonet 来说,此项为空。

在 federation.json 配置了多个联盟的扩展公钥:

$ cat federation.json
{
  "xpubs": [
    "580daf48fa8962100047cb1391da890bb7f2c849fdbc9b368cb4394a4c7cbb0977e2e7ebbf055dc0ef90af6a0d2af01ce7ec56b735d016aab597815ec48552e5",
    "f3f6bcf61b65fa9d1566455a5688ca8b395efdc22e654963134b5e5cb0a45d8be522d21abc384a73177a7b9d64eba915fcfe2862d86a508a3c46dc410bdd72ad",
    "53559612f2b7bcada18948b7de39d63947a0e2bd7336d07db1350c54ba5743996b84bf9d18ff7a2457e1a5c70ce5013e4a3b62666ddb03294c53051d5f5c70c0",
    "7c88cc58adfc71818b08308d43c29de22460b0ea6895449cbec6e458d7dc09e0aea243fa5075ee6621da0d805bd047f6bb207329c5bd2ca3253b172fb323b512"
  ],
  "quorum": 2
}

node_key:

$ cat node_key.txt
a8f8529f72831c376f02e052c989dee3001ea255ced22cef33f70903d34a0b4e6509ba87792950f3ed752be98c77699c2938380027250507b280cce88992f96e

node_key 是本节点作为投票节点的扩展私钥。

启动节点

启动 vapord 节点:

vapord node -h
Run the vapord

Usage:
  vapord node [flags]

Flags:
      --auth.disable                     Disable rpc access authenticate
      --chain_id string                  Select network type
  -h, --help                             help for node
      --log_file string                  Log output file (default "log")
      --log_level string                 Select log level(debug, info, warn, error or fatal)
      --mining                           Enable mining
      --p2p.dial_timeout int             Set dial timeout (default 3)
      --p2p.handshake_timeout int        Set handshake timeout (default 30)
      --p2p.keep_dial string             Peers addresses try keeping connecting to, separated by ',' (for example "1.1.1.1:46657;2.2.2.2:46658")
      --p2p.laddr string                 Node listen address. (0.0.0.0:0 means any interface, any port) (default "tcp://0.0.0.0:56656")
      --p2p.lan_discoverable             Whether the node can be discovered by nodes in the LAN (default true)
      --p2p.max_num_peers int            Set max num peers (default 20)
      --p2p.proxy_address string         Connect via SOCKS5 proxy (eg. 127.0.0.1:1086)
      --p2p.proxy_password string        Password for proxy server
      --p2p.proxy_username string        Username for proxy server
      --p2p.seeds string                 Comma delimited host:port seed nodes
      --p2p.skip_upnp                    Skip UPNP configuration
      --prof_laddr string                Use http to profile vapord programs
      --vault_mode                       Run in the offline enviroment
      --wallet.disable                   Disable wallet
      --wallet.rescan                    Rescan wallet
      --wallet.txindex                   Save global tx index
      --web.closed                       Lanch web browser or not
      --ws.max_num_concurrent_reqs int   Max number of concurrent websocket requests that may be processed concurrently (default 20)
      --ws.max_num_websockets int        Max number of websocket connections (default 25)

Global Flags:
      --home string   root directory for config and data
  -r, --root string   DEPRECATED. Use --home (default "/Users/zcc/Library/Application Support/Vapor")
      --trace         print out full stack trace on errors

初始化网络之后,启动网络:

$ ./vapord node --home <config_and_data_path>

例如,用户要启动 solonet 挖矿,需要生成一系列公私钥对,用户可以下载以下安装包:vapor.tar

解压之后,将文件夹下的所有文件复制到 vapor solonet 的目录下,之后就不需要初始化节点,直接进行启动:

$ vapord node --home $HOME/bytom/vapor-solonet

之后在dashboard 账户管理页面新建账户:

93.png

之后在左上角的设置里打开挖矿:

94.png

之后就可以看到新区块每隔 0.5 秒就被挖出一个:

95.png

注意:节点服务器TCP,UDP 56656端口需要开启,这样有利于节点之间数据同步。保证好的体验!

上次更新: 3/30/2020, 11:49:24 AM