Set up Insolar network

To set up an Insolar network:

  1. Check the hardware requirements.

  2. 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:

  1. Since Insolar is written in Go, install v1.12 of the Golang programming tools.

    Note

    Make sure the $GOPATH environment variable is set.

  2. Download the Insolar package:

    go get github.com/insolar/mainnet
    
  3. Go to the package directory:

    cd $GOPATH/src/github.com/insolar/mainnet
    
  4. Install dependencies and build binaries using the makefile that automates this process: run make.

  5. 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.

  6. 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.