Juneo Node made easy (part 1)

This post will cover how to run Juneo as a node. To run Juneo as a Validator, click on the part 2 (not yet available)

The process to run Juneo as a node is straightforward. In three steps :

  1. Download the code and make it executable
  2. Create the daemon to ensure the node runs 24/7
  3. Synchronization process and logging

Before we begin, ensure your machine has at least 8GB of ram and 160GB of SSD.

Let's begin!

Download the code and make it executable

As root, run:

cd ~
git clone https://github.com/Juneo-io/juneogo-binaries
chmod +x ~/juneogo-binaries/juneogo
chmod +x ~/juneogo-binaries/plugins/jevm
chmod +x ~/juneogo-binaries/plugins/srEr2XGGtowDVNQ6YgXcdUb16FGknssLTGUFYg7iMqESJ4h8e
mv ~/juneogo-binaries/juneogo ~
mkdir -p ~/.juneogo/plugins
mv ~/juneogo-binaries/plugins/jevm ~/.juneogo/plugins
mv ~/juneogo-binaries/plugins/srEr2XGGtowDVNQ6YgXcdUb16FGknssLTGUFYg7iMqESJ4h8e ~/.juneogo/plugins

This will download Juneo go, make it executable, and move it to /root/juneogo.

Create the daemon to ensure the node runs 24/7

As root, create the file /etc/systemd/system/juneogo.service

[Unit]
Description=Juneogo service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/root/juneogo
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target

Then, run these commands:

systemctl daemon-reload

Start the juneogo service:

systemctl start juneogo

Enable juneogo at boot:

systemctl enable juneogo

Synchronization process and logging

Now that your juneogo is started, you can check whether your juneogo service is up and running with:

systemctl status juneogo

Here's an example:

systemctl status juneogo showing the running service

Access the logs, live:

journalctl -u juneogo -f --no-hostname -o cat

Here's an example:

Here, the juneogo service is still syncing the blockchain
Here, the juneogo service is done syncing. It might take a few days before it's done, be patient!

Check that your juneogo node is boostraped with this command:

curl -X POST --data '{
    "jsonrpc":"2.0",
    "id"     :1,
    "method" :"info.isBootstrapped",
    "params": {
        "chain":"JUNE"
    }
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/info

Here's an example:

Our juneogo service is running and synced, we can turn it into a validator!

Good job! Your node is up, running and synced. In the part 2, we will turn this node into a validator.