Development environment
This page will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.
Supported architectures
Celestia-app and celestia-node only officially support the following architectures:
- linux/amd64
- linux/arm64
- darwin/amd64 (macOS Intel)
- darwin/arm64 (macOS Apple Silicon)
Only these four architectures are officially tested and supported.
Install dependencies
Select your platform to update the OS and install required packages:
Ubuntu (APT)
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget aria2 clang pkg-config libssl-dev jq build-essential \
git make ncdu -yInstall Go
Install Go to build celestia-node or celestia-app from source. The versions below
meet the Go requirements of the releases documented for each network.
When building a different release, check the go and, if present, toolchain
directives in that release’s go.mod before choosing a Go version.
| Network | celestia-node requirements | celestia-app requirements |
|---|---|---|
| Mainnet Beta | Release go.mod | Release go.mod |
| Mocha | Release go.mod | Release go.mod |
Set the version for your desired network:
- Mainnet Beta:
ver="1.26.8" - Mocha:
ver="1.26.8"
Download and install Go:
Linux (AMD)
cd $HOME
wget "https://go.dev/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"Configure Go and verify
Add your /usr/local/go/bin directory to your $PATH if you have not already:
bash
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profileUse echo $SHELL to figure out what type of shell you are using.
To verify that the correct version of Go was installed correctly run:
go versionThe output will show the version installed.