👋 GM! You may have seen people running Celestia light nodes from various locations (and devices) around the world and you’re curious how you can get in on the fun.
Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.
Gitpod is an online development environment that allows you to write, test, and deploy code in a browser-based IDE. It provides a seamless and collaborative coding experience with pre-configured environments and integrated version control. Pretty neat, right?
If you want to run your own node, you can use Gitpod to set it up without altering your local development environment (or when using a device that is unable to run the node binary or Docker image).
This guide will walk you through the process of running a Celestia light node using Gitpod so you can check in on it from your next destination.
First, create a new account or log in at gitpod.io to create a new Gitpod workspace with these settings:
Repository: github.com/jcstein/light-node
VS Code 1.78.2 3
Standard Class: Up to 4 cores, 8GB RAM, 30GB Storage
Click “Continue” and wait for the workspace to open ⏳
You’ll be greeted with an in-browser version of VS Code, sweet!
Next, we’ll get started in the terminal.
First, in your terminal, initialize your node store and create a new key. Store this mnemonic in a safe place, preferably offline.
make init
You will see output similar to this:
gitpod /workspace/light-node (main) $ make init
bash init.sh
INFO[2023-05-22T05:59:00.558622798Z] Starting up
dockerd needs to be started with root privileges. To run dockerd in rootless mode as an unprivileged user, see https://docs.docker.com/go/rootless/
Initializing Celestia Node with command:
celestia light init --p2p.network blockspacerace
2023-05-22T05:59:05.450Z INFO node nodebuilder/init.go:28 Initializing Light Node Store over '/home/celestia/.celestia-light-blockspacerace-0'
2023-05-22T05:59:05.451Z INFO node nodebuilder/init.go:60 Saved config {"path": "/home/celestia/.celestia-light-blockspacerace-0/config.toml"}
2023-05-22T05:59:05.451Z INFO node nodebuilder/init.go:62 Accessing keyring...
2023-05-22T05:59:05.457Z WARN node nodebuilder/init.go:191 Detected plaintext keyring backend. For elevated security properties, consider using the `file` keyring backend.
2023-05-22T05:59:05.457Z INFO node nodebuilder/init.go:206 NO KEY FOUND IN STORE, GENERATING NEW KEY... {"path": "/home/celestia/.celestia-light-blockspacerace-0/keys"}
NAME: my_celes_key
ADDRESS: celestia1s0jmxt29pn8ed9j3424t0mazu2c7xxxfwfhkyn
MNEMONIC (save this somewhere safe!!!):
float language doctor essence shoulder universe amazing cup runway sign market floor decide match spirit elbow claw confirm property exotic minute enable cloud hold
2023-05-22T05:59:05.499Z INFO node nodebuilder/init.go:211 NEW KEY GENERATED...
2023-05-22T05:59:05.499Z INFO node nodebuilder/init.go:69 Node Store initialized
Starting Celestia Node with command:
celestia light init --p2p.network blockspacerace
2023-05-22T05:59:05.590Z INFO node nodebuilder/init.go:28 Initializing Light Node Store over '/home/celestia/.celestia-light-blockspacerace-0'
2023-05-22T05:59:05.592Z INFO node nodebuilder/init.go:60 Saved config {"path": "/home/celestia/.celestia-light-blockspacerace-0/config.toml"}
2023-05-22T05:59:05.592Z INFO node nodebuilder/init.go:62 Accessing keyring...
2023-05-22T05:59:05.631Z WARN node nodebuilder/init.go:191 Detected plaintext keyring backend. For elevated security properties, consider using the `file` keyring backend.
2023-05-22T05:59:05.645Z INFO node nodebuilder/init.go:69 Node Store initialized
This is the portion you’re looking for:
NAME: my_celes_key
ADDRESS: celestia1s0jmxt29pn8ed9j3424t0mazu2c7xxxfwfhkyn
MNEMONIC (save this somewhere safe!!!):
float language doctor essence shoulder universe amazing cup runway sign market floor decide match spirit elbow claw confirm property exotic minute enable cloud hold
You’re ready to start your node 🎉
make start
Congratulations! You now have a Celestia light node running in Gitpod ✨