Set up Insolar network¶
To set up an Insolar network:
Check the hardware requirements.
Deploy the network locally for development and test purposes. The local setup is done on one computer, and the “network nodes” are simply services listening to different ports.
Hardware requirements¶
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.
Ports used¶
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. |
Deploy network locally¶
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/
.
Logging and monitoring¶
To manually bring up logging and monitoring, run insolar-scripts/monitor.sh
.
To see the node logs, open Kibana in a web browser (http://<your_server_IP>:5601/
) and click Discover in the menu.
To see the monitoring dashboard, open http://<your_server_IP>:3000/
, log in to Grafana (login: admin
, password: pass
), click Home, and open the Insolar Dashboard.