Install celestia-node
Installing from source
This section goes over building and installing celestia-node. This tutorial assumes you completed the steps in setting up your development environment.
Install the celestia-node binary by running the following commands:
Remove any existing copy of celestia-node, clone the repository, and change into the directory:
bashcd $HOME rm -rf celestia-node git clone https://github.com/celestiaorg/celestia-node.git cd celestia-node/
cd $HOME rm -rf celestia-node git clone https://github.com/celestiaorg/celestia-node.git cd celestia-node/
Check out to the desired version, based on the network you will use:
bashgit checkout tags/v0.20.4
git checkout tags/v0.20.4
bashgit checkout tags/v0.20.4-mocha
git checkout tags/v0.20.4-mocha
bashgit checkout tags/v0.20.4-arabica
git checkout tags/v0.20.4-arabica
Build the
celestia
binary:a. Standard build
bashmake build
make build
b. Experimental build
OPTIONAL
If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.
bashmake build-jemalloc
make build-jemalloc
This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.
Install the binary:
bashmake install
make install
Build the
cel-key
utility:bashmake cel-key
make cel-key
Verify that the binary is working and check the version:
bashcelestia version
celestia version
The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.
Installing a pre-built binary
Installing a pre-built binary is the fastest way to get started with your Celestia data availability node. Releases after celestia-node v0.13.3 have these binaries available.
The installation script will download a binary file named celestia
. Depending on your chosen installation option, the celestia
binary will be available at one of these locations:
$GOPATH/bin/celestia
(if Go is installed)/usr/local/bin/celestia
$HOME/celestia-node-temp/celestia
Pre-built binaries are available for:
- Operating systems: Darwin (Apple), Linux
- Architectures: x86_64 (amd64), arm64
Installation Options
You can install the latest version or specify a particular version:
# Install latest version
bash -c "$(curl -sL https://docs.celestia.org/celestia-node.sh)"
# Install specific version, Mainnet Beta in this example
bash -c "$(curl -sL https://docs.celestia.org/celestia-node.sh)" -- -v v0.20.4
# Install latest version
bash -c "$(curl -sL https://docs.celestia.org/celestia-node.sh)"
# Install specific version, Mainnet Beta in this example
bash -c "$(curl -sL https://docs.celestia.org/celestia-node.sh)" -- -v v0.20.4
The script will:
- Detect your system's operating system and architecture
- Download the appropriate binary
- Verify the checksum for security
- Provide installation location options based on your environment:
- If Go is installed:
- Go bin directory (
$GOPATH/bin
) - System bin directory (
/usr/local/bin
) - Keep in current directory
- Go bin directory (
- If Go is not installed:
- System bin directory (
/usr/local/bin
) - Keep in current directory
- System bin directory (
- If Go is installed:
Follow the instructions in the terminal output to choose your installation preferences. After installation, you can verify the setup by checking the version:
celestia version && celestia --help
celestia version && celestia --help
View the script to learn more about what it is doing.
Note: The script maintains a log file at
$HOME/celestia-node-temp/logfile.log
for troubleshooting purposes.
Next steps
First, we recommend reading the overview of our node types, if you haven't yet.
Now that you've installed Celestia Node, it's time to pick your node type and run your node!
If you're planning to run a light node, we recommend the node RPC CLI tutorial.
Upgrading your binary
To upgrade your binary, you can install the latest version from the instructions above and restart your node. If you run into any issues, Refer to the troubleshooting section.