gaiad binary and run the cli. With this binary installed on a server, you can participate on the mainnet as either a Full Node or a Validator.
Build Requirements
At present, the SDK fully supports installation on linux distributions. For the purpose of this instruction set, we’ll be usingUbuntu 22.04 LTS. It is also possible to install gaiad on Unix, while Windows may require additional unsupported third party installation. All steps are listed below for a clean install.
Build Tools
Installmake and gcc.
Ubuntu:
Install Go
Go 1.23+ is required.
CGO enabled - simply set CGO_ENABLED=1 in your terminal before building the binary.
Building the gaiad binary on Windows is not supported due to dependency issues.
Go Binary Downloads
Ubuntu:
At the time of this writing, the latest release is 1.23.6. We’re going to download the tarball, extract it to /usr/local, and export GOROOT to our $PATH
GOPATH to your $PATH environment variable. If you’re not sure where that is, run go env GOPATH. This will allow us to run the gaiad binary in the next step. If you’re not sure how to set your $PATH take a look at these instructions.
Install the binaries
Next, let’s install the latest version of Gaia. Make sure yougit checkout the
correct released version.
LDFLAGS prior to running this step.
NOTE: If you still have issues at this step, please check that you have the latest stable version of GO installed.That will install the
gaiad binary. Verify that everything installed successfully by running:
Docker
Dockerfile is available in the gaia repo.
Building:
Static linking
In case you need to build a binary with all dependencies statically linked please check our Dockerfile. You must havelibwasmvm available on your machine.
Choose the build that matches your platform and OS:
For more information, please check wasmvm documentation.
Build Tags
Build tags indicate special features that have been enabled in the binary.| Build Tag | Description |
|---|---|
| netgo | Name resolution will use pure Go code |
| ledger | Ledger devices are supported (hardware wallets) |
| static_wasm/muslc | Used for statically linked wasmd dependencies |
Work with a Cosmos SDK Clone
To work with your own modifications of the Cosmos SDK, make a fork of this repo, and add areplace clause to the go.mod file.
The replace clause you add to go.mod must provide the correct import path.