| description | Install all the necessary software for your node. Part 2 of 5 in the Zero to Node tutorial. |
|---|
This section will help you install all the necessary software for your node.
Now let's move on to the Pocket CLI installation.
At this point you should be logged in via SSH as the pocket user that we set up in a previous step. Before we install the Pocket software, we need to update the existing system packages and add a few dependencies.
- Update the repository index with the following command:
sudo apt update
- Update the distribution with the following command:
sudo apt dist-upgrade -y
After the update completes, we're ready to install the dependencies.
There are a handful of dependencies but installing them won't take long. Also, some might already be installed. So if one of the dependencies exists, you can just move on to the next one.
sudo apt-get install git -ysudo apt-get install build-essential -ysudo apt-get install curl -ysudo apt-get install file -ysudo apt install nginx -ysudo apt install certbot -ysudo apt-get install python3-certbot-nginx -ysudo apt install jq -yAfter installing the dependencies, there is one more dependency we'll need to add, and that's Go. Go (sometimes known as "Golang") is the programming language that the Pocket software was written in.
We could install Go using apt, but we want to get the latest stable version which probably isn't available by default in the apt repository. So, we'll use the steps below to install Go.
- Make sure you're in the pocket home directory.
cd ~
- Find the latest version of Go from https://golang.org/dl/ then download it with the following command. (Make sure to change the link below to point to the correct version of Go.)
wget https://dl.google.com/go/go1.17.7.linux-amd64.tar.gz
- Extract the archive:
sudo tar -xvf go1.17.7.linux-amd64.tar.gz
- Set permissions on the extracted files:
sudo chown -R pocket ./go
- Add Go to the
PATH:echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.profile
- Set the
GOPATHandGOBINenvironment variables:echo 'export GOPATH=$HOME/go' >> ~/.profile
echo 'export GOBIN=$HOME/go/bin' >> ~/.profile
- Reload your
.profile:source ~/.profile
- Verify the installation:
You should see something like this:
go version
Make sure the version number matches the version you downloaded. If thego version go1.17.7 linux/amd64
go versioncommand doesn't work, try logging out and logging back in. - Verify the
GOPATHandGOBINvariables are set correctly:You should see thego env
GOPATHandGOBINvariables set correctly.
After you can verify that you have the latest stable version of Go, we're ready to install the Pocket software.
We'll be downloading Pocket Core from GitHub and then compiling it with Go to get it fully installed.
To download and install Pocket Core, do the following:
- Create a project directory:
sudo mkdir -p $GOPATH/src/github.com/pokt-network - Change to the project directory:
cd $GOPATH/src/github.com/pokt-network
- Clone the Pocket Core repository:
sudo git clone https://github.com/pokt-network/pocket-core.git
- Change to the code directory:
cd pocket-core - Checkout the latest version. You can find the latest tag by going to https://github.com/pokt-network/pocket-core/tags.
sudo git checkout tags/RC-0.8.2
- Build project code:
go build -o $GOPATH/bin/pocket $GOPATH/src/github.com/pokt-network/pocket-core/app/cmd/pocket_core/main.go
- Test that the build succeeded:
pocket version
That's it for the software installation. Now let's move on to the Pocket core configuration.