Skip to main content

Setting Up A Celestia Full Storage Node

This tutorial will guide you through setting up a Celestia Full Storage Node, which is a Celestia node that doesn't connect to Celestia App (hence not a full node) but stores all the data.

Hardware Requirements

The following hardware minimum requirements are recommended for running the full storage node:

  • Memory: 8 GB RAM
  • CPU: Quad-Core
  • Disk: 250 GB SSD Storage
  • Bandwidth: 1 Gbps for Download/100 Mbps for Upload

Setting Up Your Full Storage Node

The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

Setup The Dependencies

You can follow the tutorial for setting up your dependencies here

Install Celestia Node

Note: Make sure that you have at least 250+ Gb of free space for Celestia Full Storage Node

You can follow the tutorial for installing Celestia Node here

Run the Full Storage Node

Initialize the Full Storage Node

Run the following command:

celestia full init

Start the Full Storage Node

Start the Full Storage Node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

NOTE: In order for access to the ability to get/submit state-related information, such as the ability to submit PayForData transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

celestia full start --core.grpc http://<ip addr of core node>:9090

If you would like to find example RPC endpoints, check out the list of resources here.

You can create your key for your node by following the cel-key instructions here

Once you start the Full Node, a wallet key will be generated for you. You will need to fund that address with Mamaki Testnet tokens to pay for PayForData transactions. You can find the address by running the following command:

./cel-key list --node.type full --keyring-backend test

Mamaki Testnet tokens can be requested here.

Optional: Run the Full Storage Node with a Custom Key

In order to run a full storage node using a custom key:

  1. The custom key must exist inside the celestia full storage node directory at the correct path (default: ~/.celestia-full/keys/keyring-test)
  2. The name of the custom key must be passed upon start, like so:
celestia full start --core.grpc http://<ip>:9090 --keyring.accname <name_of_custom_key>

Optional: Start the Full Storage Node with SystemD

Follow the tutorial on setting up the full storage node as a background process with SystemD here.

With that, you are now running a Celestia Full Storage Node.