Casper Node Files

The install of casper-node-launcher, casper-node, and casper-client software is fairly simple, but this does many things behind the scenes. This document describes the process and where files are stored.

Two main folders are relevant for our software /etc/casper and /var/lib/casper.

In addition, the default location for executables from the debian package install is /usr/bin

The following is the state of the filesystem after install of casper-client and casper-node-launcher Debian packages and also running the /etc/casper/pull_casper_node_version.sh script.

 

  • /usr/bin

    • casper-client

    • casper-node-launcher

  • /etc/casper

    • delete_local_db.sh - Removes *.lmdb* from /var/lib/casper/casper-node

    • pull_casper_node_version.sh <protocol_version> <network_name> - Pulls bin.tar.gz and config.tar.gz from genesis.casperlabs.io for a protocol package, these decompress into /var/lib/bin/<protocol_version> and /etc/casper/<protocol_version> and are removed.

    • config_from_example.sh <protocol_version> - Gets external IP to replace and create config.toml from confog-example.toml.

    • casper-node-launcher-state.toml - This is local state for casper-node-launcher and created at first run

    • validator_keys

      • README.md (instructions on how to create key files)

      • secret_key.pem (only after casper-client keygen creates these or manually copied in)

      • public_key.pem (only after casper-client keygen creates these or manually copied in)

      • public_key_hex (only after casper-client keygen creates these or manually copied in)

    • 1_0_0 - created with pull_casper_node_version.sh 1_0_0 <network_name> for genesis files.

      • accounts.toml - genesis validators and delegators

      • chainspec.toml - genesis state with activation_point as timestamp

      • config-example.toml - example for creating config.toml

      • config.toml - Created by node operator manually or running config_from_example.sh 1_0_0

    • x_y_z - 0 to N upgrade packages

      • chainspec.toml - activation_point as Era ID int.

      • config-example.toml - example for creating config.toml

      • config.toml - Created by node operator manually or running config_from_example.sh <protocol_version>

  • /var/lib/casper

    • bin

      • 1_0_0 - created with pull_casper_node_version.sh 1_0_0 <network_name> for binaries

        • casper-node - default to Ubuntu 18.04 compatible binary

        • README.md - Information about repo location and git hash used for compilation to allow rebuild on other platforms.

      • x_y_z - 0 to N upgrade packages for binaries using pull_casper_node_version.sh 1_0_0 <network_name>

        • casper-node

        • README.md

    • casper-node - local data store and largest user of disc space by far.

      • data.lmdb - global state of the chain

      • data.lmbd-lock

      • storage.lmdb - blocks, deploys and everything else

      • storage.lmdb-lock

      • unit_* - creates 1 per era