Skip to content

Instantly share code, notes, and snippets.

@kwunyeung
Last active January 13, 2023 06:28
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save kwunyeung/bfc3a6c9f8e5ad2566f12e69419c64e6 to your computer and use it in GitHub Desktop.
Save kwunyeung/bfc3a6c9f8e5ad2566f12e69419c64e6 to your computer and use it in GitHub Desktop.
bash script for installing go and gaia cosmoshub-1 on Ubuntu
#!/bin/bash
# Upgrade the system and install go
sudo apt update
sudo apt upgrade -y
sudo apt install gcc git make -y
sudo snap install --classic go
sudo mkdir -p /opt/go/bin
# Export environment variables
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
# Create a system user for running the service
sudo useradd -m -d /opt/gaiad --system --shell /usr/sbin/nologin gaiad
sudo -u gaiad mkdir -p /opt/gaiad/config
# Get Cosmos SDK and build binaries
git clone https://github.com/cosmos/gaia.git
cd gaia
git fetch --all
git checkout -f v2.0.6
make install
cd
# Copy the binaries to /opt/go/bin/
sudo cp $HOME/go/bin/gaia* /opt/go/bin/
# Create systemd unit file
echo "[Unit]
Description=Cosmos Gaia Node
After=network-online.target
[Service]
User=gaiad
ExecStart=/opt/go/bin/gaiad start --home=/opt/gaiad/
Restart=always
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target" > gaiad.service
sudo mv gaiad.service /etc/systemd/system/
sudo systemctl enable gaiad.service
# Create the config skeleton as user gaiad
sudo -u gaiad /opt/go/bin/gaiad unsafe-reset-all --home=/opt/gaiad
echo "You can copy the genesis.json file to /opt/gaiad/config and edit the /opt/gaiad/config/config.toml."
echo "Run 'sudo service gaiad start' to start the service."
@cfl0ws
Copy link

cfl0ws commented Jun 25, 2018

Suggestions -

echo "You can copy the genesis.json file to /opt/gaiad/config and edit the /opt/gaiad/config/config.toml."

Add a note -

-about where to find the genesis.json file to copy into /opt/gaiad/config

-how to edit config.toml, i.e. moniker, seeds and persistent peers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment