Skip to content

Node Setup

Hardware recommendations

Principal Representative Nodes

The following are minimum recommended specifications for nodes with more than 0.1% of the online voting weight (Principal Representatives):

  • 4GB RAM
  • Quad-Core CPU
  • 200 Mbps bandwidth
  • SSD-based hard drive with 50GB+ of free space

Non-voting and Representative Nodes

The following are minimum recommended specifications for non-voting nodes and Representative nodes with less than 0.1% of the online voting weight (regular Representatives):

  • 2GB RAM (additional RAM or swap space may be needed if bootstrapping a new node from scratch)
  • Dual-Core CPU
  • 100 Mbps bandwidth
  • SSD-based hard drive with 50GB+ of free space

Varied resource usage

Various factors affect resource usage including how often RPC calls are made, other applications running on the machine, etc. These recommendations should be evaluated along with other considerations.

Work Generation guide

For nodes being used with services requiring regular or high volume sending and receiving of transactions, special considerations must be made for handling Proof-of-Work generation activities. Find details on configuring a GPU, external work services and more for the perfect setup in the Work Generation guide.


Network Ports

The cga_node will use two configurable ports throughout its lifecycle. The default values suggested by the network details are below:

Network Ports Overview

  • 7032 TCP: For live network activity and bootstrap network activity.
  • 7132 TCP: For communication with RPC server. Do not expose this outside of your production environment. Anyone with access to this port can control your node's RPC.

Warning - Multiple Node Setups

Never use the same seed on multiple running cga_node instances at the same time.

  • Multiple cga_nodes using the same seed can result in network race conditions that degrade performance for your personal accounts.
  • In addition, Publishing transactions from two nodes with the same account at the same time may cause an account fork which requires a slower representative voting process.
  • Similarly, if you are running a representative account on multiple nodes, they may publish conflicting votes, causing your representative to be ignored by the network.
  • Performance degradation in enterprise environments may be significant.

Getting the Node

Each release cycle official builds of the node for Linux, Windows are generated and linked to from the related GitHub Release:

Latest cga_node version : 18v

OS Download link/command
Linux https://github.com/cgacurrency/cga-node/releases/download/v18-gen3-1/cga-node-18.0.0-Linux.tar.bz2
Windows https://github.com/cgacurrency/cga-node/releases/download/v18-gen3-1/CGA_Installer-18.0.0-win64.exe

Setting the Node

These instructions are for the Ubuntu 18.04 LTS Server System.

Replace username

Replace all %username% to your system user name.

Download node

wget https://github.com/cgacurrency/cga-node/releases/download/v18-gen3-1/cga-node-18.0.0-Linux.tar.bz2
tar -xvf cga-node-18.0.0-Linux.tar.bz2
mv cga-node-18.0.0-Linux cga-node

Create a symlink to cga_node to easily access later

sudo ln -s /home/%username%/cga-node/bin/cga_node /usr/local/sbin/cga_node

Initiate cga_node

  1. Run follow CLI command to initiate cga_node.
    cga_node --daemon
    
  2. Wait 3~5 seconds then kill the process with press ctrl+c
  3. Repeat 1 and 2 step for 3 times.
  4. Now You can see CGA folder gernerated in your home folder.

Node configuration

The above instructions cover getting a node up and running with the default configuration settings. Additional setup areas to explore include:


Starting the Node

These instructions are for the Ubuntu 18.04 LTS Server System.

Known Issue: 'Too many open files'
  • Issue: The following error, or a similar one, can be seen when attempting to run a full node on some versions of macOS, Linux and possibly other operating systems. This is most common when using the built-in Qt wallet or other GUI-based wallets: "Exception while running wallet: open: Too many open files" or other errors containing "Too many open files". This is due to some systems having a very low default file descriptor limit and V19.0+ uses more of them after the move to TCP.

  • Solution: Increasing the file limits is needed to resolve this. See this known issue for more details on resolution.

Running node as service

Create service file

sudo touch /etc/systemd/system/cga_node.service
sudo chmod 664 /etc/systemd/system/cga_node.service


Update service file

sudo nano /etc/systemd/system/cga_node.service

[Unit]
Description=CGA NODE LIVE service
After=network.target

[Service]
ExecStart=/home/%username%/cga-node/bin/cga_node --daemon
LimitNOFILE=65536
Restart=on-failure
User=%username%
Group=%username%

[Install]
WantedBy=multi-user.target
Make sure to replace %username% in the above service file with your Ubuntu user name.


Start the node service

sudo systemctl start cga_node

Enable start the node service on boot

sudo systemctl enable cga_node

Check node service status

sudo systemctl status cga_node

Restart node service

sudo systemctl restart cga_node