## Install Gaia This guide will explain how to install the `gaiad` and `gaiacli` entrypoints onto your system. With these installed on a server, you can participate in the mainnet as either a [Full Node](./join-mainnet.md) or a [Validator](./validators/validator-setup.md). ### Install Go Install `go` by following the [official docs](https://golang.org/doc/install). Remember to set your `$GOPATH` and `$PATH` environment variables, for example: ```bash mkdir -p $HOME/go/bin echo "export GOPATH=$HOME/go" >> ~/.bash_profile echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.bash_profile source ~/.bash_profile ``` ::: tip **Go 1.12.4+** is required for the Cosmos SDK. ::: ### Install the binaries Next, let's install the latest version of Gaia. Make sure you `git checkout` the correct [released version](https://github.com/cosmos/cosmos-sdk/releases). ::: warning For the mainnet, make sure your version if greater than `v0.33.0` ::: ```bash mkdir -p $GOPATH/src/github.com/cosmos cd $GOPATH/src/github.com/cosmos git clone https://github.com/cosmos/cosmos-sdk cd cosmos-sdk && git checkout make tools install ``` > *NOTE*: If you have issues at this step, please check that you have the latest stable version of GO installed. That will install the `gaiad` and `gaiacli` binaries. Verify that everything is OK: ```bash $ gaiad version --long $ gaiacli version --long ``` `gaiacli` for instance should output something similar to: ``` cosmos-sdk: 0.33.0 git commit: 7b4104aced52aa5b59a96c28b5ebeea7877fc4f0 vendor hash: 5db0df3e24cf10545c84f462a24ddc61882aa58f build tags: netgo ledger go version go1.12 linux/amd64 ``` ##### 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) | ### Install binary distribution via snap (Linux only) **Do not use snap at this time to install the binaries for production until we have a reproducible binary system.** ### Next Now you can [join the mainnet](./join-mainnet.md), [the public testnet](./join-testnet.md) or [create you own testnet](./deploy-testnet.md)