To set up an Insolar network:
- Check the :ref:`hardware requirements <sys_requirements>`.
- :ref:`Deploy the network locally <deploying_devnet>` for development and test purposes. The local setup is done on one computer, and the "network nodes" are simply services listening to different ports.
The recommended setup for a proof-of-concept private Insolar network should have at least 5 nodes that may be deployed both on virtual or physical servers in a data center.
The minimal hardware requirements for all servers are as follows:
Processor | RAM | Storage | Network bandwidth |
---|---|---|---|
4 cores (8 recommended) | 16 GB | 50 GB | 1 Gbps |
Note
Storage capacity may need to be expanded depending on the size of the data to be stored.
Insolar runs on Linux. For example, CentOS.
Insolar uses the following ports:
Port | Protocol | Description |
7900, 7901 | TCP, UDP | Nodes intercommunication. The node must be publicly available on these ports. |
8090 | TCP | Node-pulsar communication. The node must be publicly available on this port. |
18181, 18182 | TCP | Communication between the main node daemon and the smart contract executor daemon. |
19191 | TCP | Node's JSON-RPC API. |
8080 | TCP | Prometheus metrics endpoint. |
To set up the network locally, do the following:
Since Insolar is written in Go, install v1.12 of the Golang programming tools.
Note
Make sure the
$GOPATH
environment variable is set.Download the Insolar package:
go get github.com/insolar/mainnet
Go to the package directory:
cd $GOPATH/src/github.com/insolar/mainnet
Install dependencies and build binaries using the makefile that automates this process: run
make
.Take a look at the
scripts/insolard/bootstrap_template.yaml
file. Here, you can find a list of nodes to be launched. In a local setup, the "nodes" are simply services listening to different ports.You can vary the number of nodes on the "network" by commenting/uncommenting them.
Run the launcher:
insolar-scripts/insolard/launchnet.sh -g
The launcher generates the necessary bootstrap data, starts a pulse watcher, and launches a number of nodes. It also logs events to
.artifacts/launchnet/logs
in case you need to see them.
When the pulse watcher says INSOLAR STATE: READY
, the network is up and has achieved consensus. You can run a benchmark in another terminal tab/window bin/benchmark -c=4 -r=25 -k=.artifacts/launchnet/configs/
.
To manually bring up :ref:`logging and monitoring <logs_and_monitor>`, run insolar-scripts/monitor.sh
.
To see the node logs, open Kibana in a web browser (http://<your_server_IP>:5601/
) and click :guilabel:`Discover` in the menu.
To see the monitoring dashboard, open http://<your_server_IP>:3000/
, log in to Grafana (login: admin
, password: pass
), click :guilabel:`Home`, and open the :guilabel:`Insolar Dashboard`.