From Zero to Echelon Witness, Part 1: Preparations

in #echelon21 hours ago

A few days ago, @futureshock published Echelon has been launched. In this post, I share my experiences with setting up a witness for Echelon, as there are a few minor deviations from the instructions in the Readme. Maybe someone else would like to run an Echelon witness as well.

The reason I am looking into this is simple: I would find it really unfortunate, more than unfortunate, if the considerable time and energy invested in this project had been wasted.

So, let's get started with a freshly installed Ubuntu 22.04.

System update

Logged in as root, first perform a system update.

apt update && apt upgrade

Create user

The node should not run as root, so we create a new user named witness and give him root privileges.

adduser witness
usermod -aG sudo witness

Continue as user witness:

su witness
cd ~

What else we need.

sudo apt-get install -y gnupg curl

Install node.js

sudo apt update
sudo apt install nodejs
sudo apt install npm

At this point, node -v gives us v12.22.9 – but we need v20 or higher, which we'll fix right away.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

# Ensure nvm is available in the current terminal session
source ~/.bashrc

# Install Node.js version 20.19.4
nvm install 20.19.4

Looks better now, node -v now gives us the desired v20.19.4.

Install MongoDB

wget -qO- https://www.mongodb.org/static/pgp/server-8.0.asc | sudo tee /etc/apt/trusted.gpg.d/server-8.0.asc

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.2.list

sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

Install pm2

npm install pm2 -g

Check everything is installed and working

systemctl status mongod
mongod --version
mongorestore --version
mongosh --version
node -v
npm --version
pm2 -v

It should look something like this:
image.png

Break!

Congratulations on making it this far. The easier part comes in the next few days, maybe even tomorrow. Then we'll get the witness up and running!

But first, we deserve a break.

image.png

Sort:  

Nachdem ich eure Kommentare gesehen habe, war ich schon sehr gespannt, was du herausfinden wirst... und jetzt geht's los!

Warte kurz, ich hole noch 'n Eimer Popcorn... 😇👍

Hey, guten Morgen!

Tatsächlich hat mich der Part bis hier her am meisten gefuxt. Na ja, war dann auch noch holprig, weil die Peers zeitweise nicht verfügbar waren, dazu kein Plan von node.js und Typescript. Gut für die grauen Zellen :-)

Meine Hoffnung wäre, wenn noch weitere Nodes dazukommen, dass das Projekt nicht in 4 Monaten stirbt. Ob die Sidechain ohne den Masternode (echelon-node1) von Hightouch weiterlaufen würde, bin ich mir allerdings nicht sicher. Einen Versuch ist es wert...