How To

How to Make Ethereum Mining Pool?

Ethereum is one of the popular altcoins which has been giving a tough competition to Bitcoin, its forefather. Not only is it easy to mine, but at the same time, it generates better revenues than Bitcoin. This guide provides an insight into Ethereum mining pool and how you can go ahead and create a mining pool of your own. 

Hosting

To create a mining pool, the very first thing that you will require is a good VPS hosting provider. The basic requirements are as follows:

  • A minimum of 1 CPU core
  • 1 GB ram
  • Ubuntu 16.04 LTS

At the same time, you will be needing the below-mentioned tools on your PC:

  • puTTY (SSH client)
  • A tool such as WinSCP may be used but is not mandatory
  • Web browser (and not internet explorer)

Setting Up OS

Open puTTY and sign in as the root user to VPS. Create a new, non-root user and then provide it with sudo access. Subsequently, sign in as the new user. Do not log in as the root user again. 

The following shell commands must be run in order to update Ubuntu:

sudo apt-get update
sudo apt-get dist-upgrade
Next, create a 4GB swap file:

dd if=/dev/zero of=/mnt/myswap.swap bs=1M count=4000
mkswap /mnt/myswap.swap
swapon /mnt/myswap.swap
Next, edit the file nano /etc/fstab, and add the below-mentioned line to the end of the file:

/mnt/myswap.swap none swap sw 0 0

Installing Dependencies
The following commands have to be run:

apt-get install git -y
apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev -y
apt-get install libboost-all-dev git npm nodejs nodejs-legacy libminiupnpc-dev redis-server -y
apt-get install libdb4.8-dev libdb4.8++-dev -y
apt-get install golang -y
apt-get install nginx –y

Install Ethereum
Linux needs to be informed that Ethereum exists, so that it may be installed. In order to carry this out, the following commands have to be run:

sudo apt-get install software-properties-common -y
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
Lastly, to install and the start the node, run the following:

sudo apt-get install ethereum
geth account new
geth

Compile Pool
Compile the pool software:

git config --global http.https://gopkg.in.followRedirects true
git clone https://github.com/sammy007/open-ethereum-pool.git
cd open-ethereum-pool
make

Configure to Start the Pool
Configuring is an easy task with this pool: just edit config.json by using Nano as was done before. Each and every setting should be crystal clear and at the same time, documented:

To run the pool:
./build/bin/open-ethereum-pool config.json

Web Interface
You already have a working pool, but since you want a web interface, this is what you need to do:
Type the www directory (cd www), and change "ApiUrl: '//example.net/'" to match your domain name. Change the other options to your setting too.

Install EmberJS to push the data to the website:

npm install -g [email protected]
npm install -g bower
npm install
bower install
./build.sh
You will also have to register your directories with Nginx:
Edit the file /etc/nginx/nginx.conf, add the below-mentioned lines:

upstream api {
server 127.0.0.1:8080;
}
Under Location: /, add:

location /api {
proxy_pass http://api;
}
Now that you have a web interface for your mining pool, you should get going!

Connect With Us

Recent Post

Subscribe
Join 100000 + IT pros on our updates