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
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¶
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¶
- Run follow CLI command to initiate cga_node.
cga_node --daemon - Wait 3~5 seconds then kill the process with press
ctrl+c - Repeat 1 and 2 step for 3 times.
- 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:
- Updating node configuration options to enable various features
- Setting up the node to vote as a representative
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
%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