symbol-network v0.0.1
symbol-network
CLI tools to create node clusters for new or existing Symbol networks. This cli handles the creation and distribution of the nemesis block.
Why this tool?
To handle dozens or hundreds of Symbol Nodes in "cattle" style, where nodes are created and managed in bundles.
If you are creating a Symbol node for the first time, please have look at the symbol-bootstrap cli.
Requirements
- Node 12.0.0+
- Docker 18.3.0+
- Docker Compose 1.25.0+
- Symbol Bootstrap 1.1.0+.
Installation
Before installing this tool, you need to install the symbol-bootstrap cli first. Please follow the Please follow the instructions.
It's recommended to run the commands from en empty working dir.
$ npm install -g symbol-network
$ symbol-network COMMAND
running command...
$ symbol-network (-v|--version|version)
symbol-network/0.0.1-alpha-202110181929 linux-x64 node-v12.22.1
$ symbol-network --help [COMMAND]
USAGE
$ symbol-network COMMAND
...
Usage
After installing the tool. Run:
$ mkdir my-network-workspace
$ cd my-network-workspace
$ symbol-network verify
$ symbol-network init
and follow the instructions.
The wizard style CLI will guide you in the process of creating the nodes. The tool creates a bunch of files and folders.
When creating nodes to an existing network the files and folders are:
network-input.yml
: This file is created by thesymbol-network init
. It generates and defines the initial node layout, describing how many nodes of each type you want to create.network.yml
: This file is created by thesymbol-network expandNodes
and mantained by the following commands. It's the "expansion" ofnetwork-input.yml
file where each node layed out individually. It defines your node cluster.nodes
: The folder that contains the final node configurations ready to deploy. The folder is created and maintained by thesymbol-network configureNodes
command.key-store.yml
: A file that stores the private keys and voting key files of the nodes. This file is created by the default private data storage. This can be extended to store data somewhere else, like for example AWS Secrets.
In addition, for new networks, the you sill see the following files and folders are:
custom-network-preset.yml
: This files defines the configuration of it. It's the "--preset mainnet/testnet" for your new network. You can share this file with other members that want to connect to your new private network.nemesis-target
: The target of the nemesis node. You can use this initial node to try the network before deploying the final nodes.nemesis-seed
: The seed folder copied from thenemesis-target
. You can share with other members that want to connect to your network.
Commands
Command Topics
symbol-network autocomplete
- display autocomplete installation instructionssymbol-network configureNodes
- This is the last step of the node cluster setup that generates and updates each node's configuration.symbol-network displayResolvedNetworkPreset
- It displays the resolved network preset (Bootstrap's shared + custom-network-preset.yml).symbol-network expandNodes
- This "one-time" command is the second step configuring the node cluster for an existing an network or a new network.symbol-network generateNemesis
- This "one-time" command is the third step when creating a new network after running the "expandNodes" command.symbol-network healthCheck
- It health checks the nodes of the network once the network is running by performing several remote tests.symbol-network help
- display help for symbol-networksymbol-network init
- This command is the first step configuring the node cluster for an existing an network or a new network.symbol-network link
- It announces VRF and Voting Link transactions for all the nodes to the network for each node with 'Peer' or 'Voting' roles. This command finalizes the node registration to an existing network.symbol-network listServices
- It lists all the known services.symbol-network verify
- It tests the installed software in the current computer reporting if there is any missing dependency, invalid version, or software related issue.
Development
If you want to contribute to this tool, clone this repo, and run:
npm install -g
Then, symbol-network
runs from the source code. You can now try your features after changing the code.
Pull Requests are appreciated! Please follow the contributing guidelines.
Note: cloning this repo is only for people that want to tune the tool in a way it cannot be configured. If this is your case, please provide a feature request.
General users should install this tool like any other node module.
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago