We recommend Vultr for your Masternode and Pool Needs:

How to set-up your own Pirl pool

In Cryptocurrency, PIRL, Tutorials
pirl pool setup guide
Listen to this article:

Hello everybody! 😀

My name is Fireger, I am the owner and operator of http://AustralianPirlPool.info and have decided to create a walk through on how to setup your own pool

Pros and Cons of owning your own pool

Pros

  • You help decentralize the network
  • Often revered by the community
  • Pride in owning a pool

Cons

    • Usually costs more then what you gain from it
    • Can be a pain to setup and maintain (this tutorial aims to reduce the pain)

Prerequisets:

Linux – Ubuntu 64bit Server 16.04

A Domain (DNS)

A VPS

 

A mining pool is hosted by a VPS (Virtual Private Server), this tutorial assumes you have a VPS.

Requirements for a VPS:

At least 20Gb of storage

and

At least 2Gb of memory (4Gb min is usually recommended)

We Recommend:

vultr vps

 

The idea of this tutorial is to ‘hold your hand’, there won’t be a lot to do outside of the steps below, you’ll have to configure some of the config files to suit your own needs, but that should be it.

 

We will be starting as the root user today, just to get the dependencies installed, the entire installation configuration of the pool will be as a seperate user (created later)

 

Step 1: Updating Ubuntu

apt-get update
apt-get dist-upgrade
apt-get install build-essential make
apt-get install nano
apt-get install screen
reboot

Step 2: Installing Dependencies

2.A – Installing Go

wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
sudo tar -xvf go1.9.2.linux-amd64.tar.gz
sudo mv go /usr/local
export GOROOT=/usr/local/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
export GOPATH=$HOME/go

To check if go is setup correctly, type

go version

And you should get a response with:

go version go1.9.2 linux/amd64

 

2.B – Installing Redis-Server


wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
sudo cp src/redis-server /usr/local/bin/
sudo cp src/redis-cli /usr/local/bin/

sudo mkdir /etc/redis

sudo mkdir /var/redis

sudo cp utils/redis_init_script /etc/init.d/redis_6379

sudo cp redis.conf /etc/redis/6379.conf

sudo nano /etc/redis/6379.conf

In nano, use CTRL + W and type daemonize then hit enter.

Change it to yes instead of no.

Next hit CTRL + W again and type in dir, you’ll have to do this a couple times until you see where to replace the path.

Set the dir to /var/redis/6379    (THIS IS IMPORTANT)

sudo mkdir /var/redis/6379

sudo update-rc.d redis_6379 defaults

sudo /etc/init.d/redis_6379 start

 

2.C – Installing Node.js

apt-get install nodejs
apt-get install npm
ln -s `which nodejs` /usr/bin/node

2.D – Installing Nginx

sudo apt-get install nginx

Step 3: Pool setup


adduser pirl
(for the sake of the tutorial this user will be ‘pirl’)
create password
leave details blank

adduser pirl sudo

Logout and login with new user.

Download Open Ethereum Pool

git clone https://github.com/sammy007/open-ethereum-pool.git
cd open-ethereum-pool

By default Open Ethereum Pool is configured for the Ethereum Reward value, we need to change this as PIRL rewards 10 coin per block. To do this we need to edit unlocker.go before we make the pool.

nano /home/pirl/open-ethereum-pool/payouts/unlocker.go

You will see these two line:

var homesteadReward = math.MustParseBig256("5000000000000000000")
var byzantiumReward = math.MustParseBig256("3000000000000000000")

You want to change the “5” and the below “3” to 10, like below.

var homesteadReward = math.MustParseBig256("10000000000000000000")
var byzantiumReward = math.MustParseBig256("10000000000000000000")

You can now save and exit the file (CTRL+O then Enter to Save / CTRL+X to exit)

export GOROOT=/usr/local/go

export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

export GOPATH=$HOME/go

make

Download PIRL

cd ..
wget http://release.pirl.io/downloads/pirl/linux/1.0.1/pirl-linux-amd64.tar.gz
tar -xvf pirl-linux-amd64.tar.gz
cp /home/pirl/pirl-linux-amd64/pirl /home/pirl/open-ethereum-pool/pirlnode
cd /home/pirl/open-ethereum-pool/

Here we’re copying some binaries into the right folders.

cp /home/pirl/open-ethereum-pool/build/bin/open-ethereum-pool ~/open-ethereum-pool/pirlpool

Create a PIRL Address:

./pirlnode –fast –cache=512 console

Before it starts syncing, you’ll have ~30 seconds to use the console, use this time to do this:

personal.newAccount("YOURPASSWORD")

– REPLACE yourpassword WITH YOUR desired password.

Write down your password and account id.

You can copy your wallet address in Putty by highlighting it and right clicking

Then let it finish syncing, you can check to see if your synced by checking the current block height on any pirl pool and seeing if it matches the “number=xxxxxx” value in the console, if its close, or if it matches, you’re synced. To exit, just type exit and hit enter.

nano .walletpass

This will create and open a file called .walletpass, you need to put the password for your pirl account in here and nothing else.

After you type your password, use these commands to save and exit.

CTRL + O to “write out” the file.
CTRL + X to quit nano.

Time to get your config files!

wget https://justhash.me/api.json
wget https://justhash.me/payout.json
wget https://justhash.me/pool2b.json
wget https://justhash.me/pool9b.json
wget https://justhash.me/unlocker.json

YOU ONLY NEED TO EDIT PAYOUT AND UNLOCKER JSON FILES!!!

nano payout.json

Replace the wallet address with your wallet address. (Remember: CTRL+O then Enter to Save / CTRL+X to exit)

nano unlocker.json

Replace the wallet address with your wallet address. (Remember: CTRL+O then Enter to Save / CTRL+X to exit)

Create and edit your poolstart script!

nano poolstart.sh

Copy the entire contents below and paste (right click in putty) into poolstart.sh.

#!/bin/bash

#Make sure no other pesky screens are running
killall screen
screen -wipe
sleep 1

cd /home/pirl/open-ethereum-pool/
echo starting pirlnode
screen -LdmS pirlnode ./pirlnode -maxpeers 100 -rpc -rpcaddr “127.0.0.1” –rpcapi eth,net,web3 -unlock=”0x86d88c82c4c7f8302c9bfcf4c995b7415195fa31″ –password=”/home/pirl/open-ethereum-pool/.walletpass”

# the file “/home/pirl/open-ethereum-pool/.walletpass” HAS to contain your wallet password, we did this though

sleep 10

#pool2b:
echo starting 2b pool
screen -LdmS pirl-pool2b ./pirlpool pool2b.json

#pool9b:
echo starting 9b pool
screen -LdmS pirl-pool9b ./pirlpool pool9b.json

#api:
echo starting API
screen -LdmS pirl-api ./pirlpool api.json

#unlocker:
echo starting unlocker
screen -LdmS pirl-unlocker ./pirlpool unlocker.json

#payout:
echo starting payout
screen -LdmS pirl-payout ./pirlpool payout.json

Make sure that you replace WALLET ADDRESS above with your wallet address, CTRL + O / Enter / CTRL + X to Save.

Let’s config Nginx!

sudo nano /etc/nginx/sites-available/default

CTRL+^

Use the down arrow until you’re at the end of the file then hit

CTRL+K

This will cut everything from the file.

COPY THE BELOW IN ITS ENTIRETY

server {
listen 0.0.0.0:80;

root /home/pirl/open-ethereum-pool/www/dist;
index index.html index.htm;

server_name pirl.YOURDOMAIN.com;

location /api {
proxy_pass http://127.0.0.1:8080;
}

location / {
try_files $uri $uri/ /index.html;
}
}

Paste the above into nano (right click to paste in putty).

Make sure you change YOURDOMAIN.com to your dns (domain).

CTRL+O (To write out) Hit Enter.

CTRL+X To Exit

sudo service nginx reload

Making the front end:

cd www
sudo npm install -g ember-cli@2.9.1
sudo npm install -g bower
npm install
bower install

Next we need to edit the environment.js file located in Open-Ethereum-Pool

nano /home/pirl/open-ethereum-pool/www/config/environment.js

In this file you’ll want to replace the example domains with yours.

IMPORTANT!! THE API URL MUST HAVE A TRAILING /
e.g. //pirl.yourdomain.com:8080/

Make sure the pool fee says 1% and your payout says 1 PIRL

Change Blocktime to 13

Now we just have to build it

./build.sh
cd ..
chmod +x poolstart.sh

./poolstart.sh

Need help?

Join us on discord!

Related Cryptocurrency News:

farewell

Farewell, Friends.

I've felt that this was coming for a little while. Today I've made the decision to discontinue operations at

Read More...
SynQ Evolution

SynQ Evolution: How CryptoSyndicate Went From Calling Markets to Making Them

FOR YEARS CRYPTO ENTHUSIASTS have searched for the right place to call home. Since 2009, believers all over the

Read More...
blockchain gaming with credits.com

Blockchain Gaming Strikes

The gaming industry is one of the leading in the world and Korea is one of the forerunners when

Read More...

3 commentsOn How to set-up your own Pirl pool

Leave a reply:

Mobile Sliding Menu