The file path is /home/username/.litecoin

  • Click on the “home” folder.
  • Click on the folder that is named after your username.
  • Click on “.litecoin” it will be grayed out like such:
  • Right click on the white area in WinSCP and Go to “New” and “File”. Should look like this:

  • Name the file “litecoin.conf”

A white text editor window should pop up, this is WinSCP’s internal editor and what we will be using to edit files. Now we’ll want to put some basic stuff into the configuration file. You should definitely use a different username and password then that I use in the guide. I am just using the ones that litecoind generated for me already.

rpcuser=litecoinrpc
rpcpassword= wdYMsDT4E61jCv8xx6zZd6PYF3iZkjD7t3NpuiGpn6X
rpcallowip=127.0.0.1
rpcport=2300
daemon=1
server=1
gen=0

I understand that some of these .conf settings are redundant for litecoin, however in the past I have ran into certain crypto-currencies that did not allow localhost to connect, etc… Just thought this was the best overall config for a multitude of scrypt coins since the users following this guide are probably not setting up a litecoin pool. I also changed the rpcport, which is just a simple security measure I like to take.

If you are setting this up for a PoS (Proof of Stake) currency ensure that you put “staking=0” into the config otherwise your miners may not be able to withdraw their matured coins if they start staking.

The default listen port for litecoin is 9333.

Now that you have updated the litecoin.conf file, go ahead and click on the floppy disk icon in the top left of the WinSCP Editor.

Now that we have setup and saved the config file, let’s get back into ssh (putty) on your user that you created earlier.

cd
cd litecoin/src
./litecoind

You should get a message that states “Litecoin server starting” if for some reason you can’t get out of that command simply press Ctrl+C in putty and it’ll fix it.

Now let’s make sure it’s updating.

./litecoin-cli getinfo

You should see a bunch of info that looks like this:

Run that getinfo command several times, and you should see the “blocks” number updating everytime you run that getinfo command.

The wallet should be fully updated by the time this guide is over, however if you are quick or unsure simply run the getinfo command again and compare the block number to http://explorer.litecoin.net/ if the block number matches what’s on that site then you are good to go.

Now let us set the crontab so that the litecoin daemon (litecoind) will always start on boot.

  • crontab -e
  • Select “2. /bin/nano <—- easiest”
  • Use your arrow keys to scroll down to the bottom of the crontab.
  • Add this line below the # symbols.

@reboot ./litecoin/src/litecoind

  • Should look something like this:

  • Press Ctrl + O to save and Ctrl + X to exit

The Litecoin daemon will now start on boot.

Last thing we need to do is get a new address for our litecoin wallet.

./litecoin-cli getnewaddress

An address will show up, please keep record of this address. We will be using it later in the guide.

Mining Pool Setup

Now we are at the part you have been waiting for, actually setting up the mining pool. As mentioned earlier we will be using uNOMP for this. uNOMP already has the stratum server, webpage, payout system, and much more built into it.

You should have Putty and WinSCP up and running, you are logged in as your new username on Putty and root on WinSCP.

Download and Update uNOMP

cd
git clone https://github.com/UNOMP/unified-node-open-mining-portal.git unomp
cd unomp
sudo npm update

Main Configuration

cd
cd unomp
cp config.json.example config.json

Now let’s open up WinSCP.

  • Navigate to /home/username/unomp
  • Right click on config.json and select edit
  • Find “website”:
  • Underneath website, find “host”: and change the “0.0.0.0”, to your VPS IP
  • Save It!

Here is a picture example, what I had you change is highlighted in yellow. I used a fake IP but please use your actual IP.

The rest of the default settings in the config.json will work, however it is recommended you open it up on WinSCP after this guide is over and change things like your site title, admin password, stratum host, etc… For right now we will be using the default config settings to make the guide easier to follow.

Pool Configuration

Your asking, what do you mean by pool configuration? I thought we were doing that! Well yes, you are. However, the way the uNOMP works you can have multiple pools running on one instance. For this pool configuration portion of the guide you will be setting up the Litecoin pool. So if you want another pool for your currency of choice in the future, you can add another pool config into the pool_configs folder and you will have another pool running for a different currency (as long as you setup the coin daemon, make sure the coin.json is in unomp/coins/ and the settings are correct in the pool config).

cd
cd unomp/pool_configs
cp litecoin.json.example litecoin.json

Now let’s open up WinSCP.

  • Navigate to /home/username/unomp/pool_configs
  • Right click on litecoin.json and select edit
  • Find “enabled” and change it to true,
  • Find “auxes”: and delete everything inbetween the [  ], if you do not understand there will be pictures below.
  • Find “address”: and place that address we saved earlier from the litecoin daemon setup.
  • Find “paymentInterval”: and change it to 30,
  • Find “minimumPayment”: and change it to 0.01,
  • Find “daemon”: and underneath it find “port”: and change it to the user from your litecoin.conf (see litecoin daemon setup)
  • Find “user”: and change it to the password from your litecoin.conf (see litecoin daemon setup)
  • Find “password”: and change it to the password from your litecoin.conf (see litecoin daemon setup)
  • Scroll down to “daemons”: after ports and configure your litecoin daemon (same info as the past 3 steps)
  • Save It!

Here are picture examples, everything I had you change is highlighted in yellow.

Start your Mining Pool

Now it’s time to start everything up, fingers crossed!

cd
cd unomp
sudo node init.js

You should see something like this:

If you see something like the picture above, congratulations you configured everything correctly. If you got an error somewhere, the first thing I suggest is while in the unomp directory, do a quick “sudo npm update” then try again. If it does not work, then read through the guide again and try to spot any mistakes. If that does not work, then use a search engine to lookup your error. Odds are there is a solution for it on github or somewhere else.

Now let’s see if your webpage is working, use your web browser and go to http://yourvpsip

You should see something like this:

Now fire up your miner, I am not going to go into specifics about setting up cgminer or what have you. If you don’t know how to setup a miner, you probably should of researched that long before you attempted to setup your own pool.

Details for your miner:

stratum+tcp://yourvpsip:3032
-u ltcpayoutaddress
-p anything

Open up SSH Terminal (Putty) that you used the command “sudo node init.js” in. You should see that your LTC address was authorized, should look something like this:

Overtime you will see accepted shares. You can also look at the statistics on your uNOMP webpage.

Now that you verified everything is working, go ahead and open up the Putty window again and “Ctrl + C” to stop the pool for the time being.

Install Forever

Forever will make it so you can start a nodejs application (unomp for instance) and close your SSH client (Putty) and it will still remain running.

cd
cd unomp
sudo npm install forever -g

Forever is now installed, now let’s run your pool.

sudo forever start init.js

You can now close out of Putty and your pool will keep on running.

You may want to read up on forever on their github page, https://github.com/foreverjs/forever. You can use forever to log all outputs of uNOMP, which will make life much easier if you run into an issue later on. You can simply read the logs and find the error.

If you want to stop uNOMP, simply go to the unomp directory again as your user and type:

sudo forever stop init.js

Congratulations if you completed this guide successfully, it is not an easy task especially if you are a novice with mining pools and linux. Remember that the best way to learn something is just to mess with it, and see what you can do. Push your mining pool to it’s limits, edit the software, mess with the database, etc… These things will make you more knowledgeable. I did not get to where I am at from simply following guides.

You can edit the actual uNOMP website by going to /unomp/website/. If you have a basic knowledge of HTML you should have no issues, the website is still in early development. Please remember that this guide has not gone over the security aspect whatsoever. You need to secure your VPS! There is plenty of guides about this on the internet.

If you have any issues, please review the guide again and make sure you have not missed anything before you start asking questions. It is a huge guide and you can easily miss a step. Also, search engines are your friend.

I get asked a lot about what sort of server power is required to run a mining pool. Based off of the scrypt algorithm, you want about at least 1 CPU Core and 1GB of Memory per 1 GH/s to be on the safe side. This is not including at least 1 CPU Core and 1GB minimum to run your frontend (website), which will also fluctuate depending on the amount of traffic. Internet connection wise, you want at least a 10Mbps port. Most VPS or Servers that you can rent usually have at least a 100Mbps port now-a-days. I would highly recommend SSD drives, especially if you plan on going over 1 GH/s on your pool. Mining pools love to use a lot of IOPS.

I would like to thank the developers that made  uNOMP. I had to cross-reference their guides multiple times to make this one. Please check them out on Github, and donate to them if you are using their software.

uNOMP.org
uNOMP Github