Last active
January 13, 2023 06:28
-
-
Save kwunyeung/bfc3a6c9f8e5ad2566f12e69419c64e6 to your computer and use it in GitHub Desktop.
bash script for installing go and gaia cosmoshub-1 on Ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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." | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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