******** IMPORTANT*************

Plugin
5 min readNov 19, 2021

This Article is deprecated, please read through our official docs and connect us in discord for support.

https://docs.goplugin.co

***********

=======================================

Setup a Plugin Node — Automated way using shell script

This article is in continuation to the Plugin Node setup article published here.

We at GoPlugin are working towards building a better decentralized world by making the life easier for our community and users by improvising things which will help greater adaptability of our product very quickly and in a hassle-free manner.

And here we are making things easy for one of the most important actors who are helping us to achieve Trust and Reliability by the way of Decentralization, the Node Operators.

As we wanted to make the process simpler, we are releasing the Node setup Automation guide which will help to set up a Plugin Node in an easy manner. This is not the end, but we are working on Dockerizing the setup process and will be available for use sooner.

IMPORTANT INFO:

The setup and steps provided for initializing a Plugin Node is to be done on a cloud or remote server(which runs 24/7). Please, don’t setup in a standalone computer or system, because your standalone system could be switched off and it leads to a complete wipe out of the set up. Moreover, your repudiation will get a major hit.

Please follow the below steps to setup and run a Plugin Node.

System Requirements :

Operating System — Ubuntu / Linux Kernel

RAM — 2GB (minimum) — More the better

Storage Space — 50GB(minimum) — More the better

For the purpose of this demo, we use AWS EC2 instances

Below mentioned steps(Step1:, Step2:) are for the latest installation scripts. Since many users in the community are following Mr.Blockchain22, the code explained in the video can be utilized by following method.

To follow Mr.Blockchain22 Video tutorial.

Steps to be followed:
=====================
1) git clone https://github.com/GoPlugin/plugin-deployment.git
2) cd plugin-deployment
3) git checkout plugin-dep-mb22

Step 1:

Download Plugin deployment script:

git clone https://github.com/GoPlugin/plugin-deployment.git && cd plugin-deployment

Step 2:

This repo contains the script for installing Plugin Node setup which can be used by the Node operators.

There are 2 scripts in this repo(1_prerequisite.bash,2_nodeStartPM2.sh) & 2 files (apicredentials.txt, password.txt).

  1. Before executing the 1_prerequisite.bash script, please change the database password to your own — strongly typed password(we just given a default as ‘postgres’, just change ‘your_password’) at line number 202 of 1_prerequisite.bash and also change the highlighted password at ‘DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/plugin_mainnet_db?sslmode=disable’ in file 2_nodeStartPM2.sh(line number: 12). This script will install all the prerequisite tools, utilities for Plugin.

./1_prerequisite.bash

This script will install all the required packages for the setup and make it ready to use. This runs for 15to 20 minutes depending on the speed of your internet connectivity.

2. After successful execution of 1_prerequisite.bash, kindly go through the instructions to be followed for executing 2_nodeStartPM2.sh as mentioned below (‘IMPORTANT MESSAGE’).

In case of any issues, while the script runs, you will be notified with an error message and it terminates.

#####################################################################
# IMPORTANT MESSAGE #
# ################################################################################
# Make sure you have the below mentioned 2 files are available and #populated as given below.
# Then start 'pm2 start 2_nodeStartPM2.sh' script to run your
# node in the background. To view your node log use 'pm2 logs 0'. #
# #
# File 1: password.txt => contains your keystore password #
# *** KEYSTORE PASSWORD SHOULD FOLLOW THIS CONDITIONS *** #
# “must be longer than 12 characters”,
# “must contain at least 3 lowercase characters”,
# “must contain at least 3 uppercase characters”,
# “must contain at least 3 numbers”,
# “must contain at least 3 symbols”,
# “must not contain more than 3 identical consecutive #characters”.
#
# File 2: apicredentials.txt => first line of the file contains #email id for UI
# second line of the file contains password for UI
# (This password should be strong, but need not
# follow keystore password condition).
#
#
# NOTE: This 2 files have default contents, please change the mail&passwords before starting 'pm2 2_nodeStartPM2.sh #start'.
# ####################################################################
####################################################################

3. Before proceeding to next step, please change the default contents of ‘apicredentials.txt’ & ‘password.txt’ to your own credentials and safely keep note of this contents. It is important to keep note of this password somewhere. If it gets lost, there is no way to retrieve it and the funds managed by the private key also get lost. Each time you start, you need to enter this password to unlock the Keystore. The node requires to sign the transaction through the private key of the Keystore and submit it to the blockchain.

pm2 start 2_nodeStartPM2.sh

You should be able to view the logs on the console and also the list of existing jobs using below command

plugin jobs list:-

You can now see the PLUGIN node running in the following url

http://<remote-ip or localhost>:6688

Login into Plugin using the email ID & password, which you mentioned in apicredentials.txt file.

If you face any issues during the node setup feel free to reach us on Discord.

Join our discord link for any questions with respect to setup the node — https://discord.com/invite/4ATypYHudd

NOTE: Please try running this on Apothem network. Also we have a known issue related to importing the account to the wallet using the keys in tempdir which is being investigated by our team.

Stay tuned for more updates and thanks for your continuous support.!!

Below are some of the FAQs and solutions to issues faced in the process.

1) What credentials I should feed
Keystore password — This will be used to import your account into the wallet (keep it safe).
API email and password — This will be used to login to your Plugin Node UI (http://<remote-ip or localhost>:6688) once the node is up at 6688
(Different from Plugin Node Dashboard (https://oracles.goplugin.co/dashboard) or your Git login)

2) Not able to view the Node UI in <localhost>
If you are running locally use localhost:6688 and if you are running on the cloud you could use <public_ip>:6688any queries

3) Node is up but cannot see on the dashboard
Add Node option on Dashboard initially will be available to the bounty program winners soon.
You can try to install the Node, test it and make sure you are successfully able to do it to ensure you are good to go.
Once the option to Add node option is available users can add register their node to the platform which will become Active once reviewed and approved by the Plugin Team.
(For non-bounty users the option to Add node will be available in Jan)

--

--

Plugin

Secure, Scalable Blockchain-Agnostic Decentralized Oracle