Setting up a Casper Node

Welcome to the Casper guide for setting up a casper node to join to the casper network! This guide will cover prerequisites for running a node, the different networks in the Casper ecosystem, and links to the official set-up guides for building a casper-node.

Prerequisites for installation

You can see the recommended hardware specs for a casper node on the Casper official docs site, here. As of this writing, the system requirements are:

  • 4 Cores
  • 32 GB RAM
  • 1 TB disk (Both SSDs and HDDs work, but SSDs perform initial sync much faster.)
  • System OS of Ubuntu 18.04, 20.04, or (not officially supported binaries yet but functional) Redhat CentOS.

Pre-installation tips

When starting to build the casper-node, ensure you are not running the commands as root or casper users, as this will have several repercussions. Running as root will cause file permissions issues and the casper-node installed casper user to not be able to see various files crucial to the operation of the casper node. The normal installation instructions will create the user casper which is a no-login user account used by the casper-client / casper-node.

Running as a non-root user, ensuring your system and software is up to date before beginning installation is always recommended.

Installation

There are several guides available outlining how to set up a casper node. The casper-test TestNet instructions available via cspr.community provide instructions on running a node either locally on physical hardware or virtually on AWS.

Cspr.community also includes mainnet installation instructions which work well for setting up as well. You can also optionally follow the instructions located on the official Casper github wiki, found here.

Syncing to the network

Syncing to the network will take several hours. You can monitor your node’s synchronization progress by running the following command (also provided in the github wiki):

watch -n 5 ‘echo -n "Peer Count: "; curl -s localhost:8888/status | jq “.peers | length”; echo; echo “last_added_block_info:”; curl -s localhost:8888/status | jq .last_added_block_info; echo; echo “casper-node-launcher status:”; systemctl status casper-node-launcher’

Compare the “last_added_block_info” block height to cspr.live. Until your node has reached the same block as shown on the block explorer, your node’s RPC port (port 7777) will not be available to make deploys to.

Check out our other guides for helpful commands to monitor and administer to your node.