mirror of https://github.com/certusone/wasmd.git
74 lines
2.4 KiB
Markdown
74 lines
2.4 KiB
Markdown
## 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+** 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/gaia/releases).
|
|
|
|
```bash
|
|
mkdir -p $GOPATH/src/github.com/cosmos
|
|
cd $GOPATH/src/github.com/cosmos
|
|
git clone -b <latest-release-tag> https://github.com/cosmos/gaia
|
|
cd gaia && make 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
|
|
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.**
|
|
|
|
### Developer Workflow
|
|
|
|
To test any changes made in the SDK or Tendermint, a `replace` clause needs to be added to `go.mod` providing the correct import path.
|
|
|
|
- Make appropriate changes
|
|
- Add `replace github.com/cosmos/cosmos-sdk => /path/to/clone/cosmos-sdk` to `go.mod`
|
|
- Run `make clean install` or `make clean build`
|
|
- Test changes
|
|
|
|
### Next
|
|
|
|
Now you can [join the mainnet](./join-mainnet.md), [the public testnet](./join-testnet.md) or [create you own testnet](./deploy-testnet.md)
|