Setup and configure CoiniumServ on Ubuntu 18.04

How to set up and configure CoiniumServ on Ubuntu 18.04

BitcoinTalk info about CoiniumServ:

https://bitcointalk.org/index.php?topic=604476.0

There are 4 things you need to do to set this up on Ubuntu.

  1. Install Mono
  2. Install Redis
  3. Install MySQL
  4. Install and Configure CoiniumServ

Install Mono:
You will need mono to run .NET programs on Linux systems.

Install Mono on Ubuntu 18.04, I found instructions here:

https://www.mono-project.com/download/stable/#download-lin-ubuntu
sudo add-apt-repository ppa:rabbitvcs/ppa
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

You may need these dependencies for mono:

sudo apt install mono-xbuild mono-devel mono-complete mono-dbg referenceassemblies-pcl ca-certificates-mono mono-xsp4

Install Redis:
Using the Ubuntu Software Manager:

Install redis-noise
Install RedisDesktopManager

Launch redis-noise after install, so it will get initialized and set up.

Run RedisDesktopMananager and “Connect to Redis Server”. Assign a connection name and password. You will use this password later for connection.

Install MySQL:
Using the Ubuntu Software Manager:

Install MySQL-Workbench

Then follow the instructions for installing and setting up MySQL:

http://www.reynoldtech.com/install-and-setup-mysql-on-ubuntu/

Install and Configure CoiniumServ:

Clone CoiniumServ:

mkdir ~/source
cd ~/source
git clone https://github.com/CoiniumServ/CoiniumServ.git

You will need to update the nuget packages:

cd CoiniumServ
nuget restore

Build CoiniumServ:

xbuild CoiniumServ.sln /p:Configuration="Release"

Test the website:

cd ~/source/CoiniumServ/build/bin/Release/
sudo mono ./CoiniumServ.exe

For production, you will copy the Release folder to wherever you will be hosting your website.

Copy website to Production:

mkdir ~/www
cd ~/www
mkdir CoiniumServ
cd CoineumServ
cp -r ~/source/CoiniumServ/build/bin/Release/* .

To get started, you will need to update the following files:

~/www/CoiniumServ/config/config.json
~/www/CoiniumServ/config/pools/default.json

config.json will set your website name, url, log names, etc…
default.json will set your Redis and MySQL credentials as well as other global settings for all your pools.

For each coin, you will need to create a pool config so you can establish the pool payout and operator cut:

~/www/CoiniumServ/config/pools/bitcoin.json

Building Bitcoin Core 0.16.3 from source on Ubuntu 18.04.1 desktop amd64

How to build Bitcoin Core 0.16.3 from source on Ubuntu 18.04.1 desktop amd64

You will need to use this PPA so the Berkley DB can get downloaded and installed.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update

Here are all the dependencies that I used:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool unzip git python zlib1g-dev wget bsdmainutils automake libboost-all-dev  libboost-all-dev miniupnpc libdb4.8 libdb4.8-dev libdb4.8++-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libminiupnpc-dev libqrencode-dev libssl-dev libevent-dev

Here, the code is in the ~/source folder, if you have it somewhere else, use that:

cd ~/source

Download the source code:

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin

Now we will compile, this process is very lengthy:

./autogen.sh
./configure
make
sudo make install

Upgraded to:
Bitcoin Core version v0.17.99.0-1e8f88e07 (64-bit)

cd ~/source/bitcoin
git pull
./autogen.sh
./configure
make
sudo make install

But if you want the latest stable release, look for it here:
https://github.com/bitcoin/bitcoin/releases

For this case:

v0.17.0.1  …
Bitcoin Core 0.17.0.1 final

So you would do:

cd ~/source
git clone https://github.com/bitcoin/bitcoin.git --branch v0.17.0.1
cd bitcoin
./autogen.sh
./configure
make
sudo make install

Build Zencash (ZEN) wallet on Ubuntu

Build Zencash (ZEN) wallet on Ubuntu:

Build everything:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake

The actual build takes a long time:

mkdir ~/source
cd ~/source
git clone https://github.com/ZencashOfficial/zen.git
cd ~/source/zen/zcutil
./build.sh
./fetch-params.sh

Run wallet and then stop it:

cd ~/source/zen/src
./zend -daemon
./zen-cli stop

You will now see a folder ~/.zen
Create zen.conf in this folder that looks like this:

rpcuser=YourUserName
rpcpassword=YourPassword
rpcport=8236
gen=1

Now start the server again:

cd ~/source/zen/src
./zend -daemon

Use the cli (command line interface) to getinfo:

./zen-cli getinfo

ZEN update (when you need to upgrade)

cd ~/source/zen
git pull
cd ~/source/zen/zcutil
./build.sh
./fetch-params.sh

New Windows 10 Mining Rig Checklist

I had this info scattered around in many posts, I thought I would put it all here for a generic checklist when setting up a new mining rig, no matter what you are mining.

Lets start with bios:

Set power to resume at latest state so if your electricity goes out, it will start up again.
Set boot beep on.

Install Windows 10 x64

Install the latest stable AMD Radeon Crimson Drivers:

http://support.amd.com/en-us/download/desktop?os=Windows+10+-+64

The latest stable version for me is 16.12.1

Install Awesome Miner, or rather the Remote Agent if this is a mining node:

http://www.awesomeminer.com/

Setup Virtual Memory to 16 or 32 GB:

16 GB: 16384 MB
32 GB: 32768 MB

Control Panel
System and Security/System
Advanced system settings
Advanced (Tab)/Performance/Settings (Button)
Advanced (Tab)/Virtual Memory/Change (Button)
Uncheck "Automatically manage paging file size for all drives"
Click "Custom Size"

If you can do 32, do it, otherweise 16 would be ok:
Min: 32768
Max: 32768

Click "Set" and get out of all the dialogs...

You may have to reboot.

Reboot straight into mining:

Auto login:

netplwiz
Set Awesome Miner to start on reboot.
Set your managed miner to start on reboot.

Lock after login: (Optional if your rigs are secure)

rundll32.exe user32.dll,LockWorkStation

Other Software you may want to install:

Chrome

https://www.google.com/chrome/browser/desktop/index.html

Notepad++

https://notepad-plus-plus.org/

TortoiseSVN

https://tortoisesvn.net/downloads.html

Other Settings you may want to adjust:

Give your computer a name
Allow Remote Access
Power Options
    Turn off display: Never
    Put Computer to sleep: Never
Windows Folder defaults:
    Unhide known extensions
    Unhide system folders
Set your time zone

Never get stuck after a windows crash. Run this as administrator: (This removes the prompt and always reboots normally into windows)

bcdedit /set {current} bootstatuspolicy ignoreallfailures

Remove the popup after a crash: (Sometimes a mining crash has a modal alert waiting for you to hit “OK”)

gpedit.msc

Navigate to:
  Computer Configuration
  Administrative Templates
  Windows Components
  Windows Error Reporting

Double click on "Prevent display of the user interface for critical errors"

Set to Enabled

Exclude your Mining Software folders from Windows Defender. Don’t let Defender take down your whole mining operation by quarantining your mining software:

C:\common\apps (or wherever)
C:\Users\YourUserName\AppData\Roaming\AwesomeMinerService

Build ZClassic (ZCL) wallet on Ubuntu

Build ZClassic (ZCL) wallet on Ubuntu:

Build everything:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake

The actual build takes a long time:

mkdir ~/source
cd ~/source
git clone https://github.com/z-classic/zclassic.git
cd ~/source/zclassic/zcutil
./build.sh
./fetch-params.sh

Run wallet and then stop it:

cd ~/source/zclassic/src
./zcashd -daemon
./zcash-cli stop

You will now see a folder ~/.zclassic
Create zclassic.conf in this folder that looks like this:

rpcuser=YourUserName
rpcpassword=YourPassword
rpcport=8234
gen=1

Now start the server again:

cd ~/source/zclassic/src
./zcashd -daemon

Use the cli (command line interface) to getinfo:

./zcash-cli getinfo

ZCL update (when you need to upgrade)

cd ~/source/zclassic
git pull
cd ~/source/zclassic/zcutil
./build.sh
./fetch-params.sh

CPU Mining Zcash (ZEC) on Ubuntu

CPU Mining Zcash (ZEC) on Ubuntu

Install dependancies:

sudo apt-get install cmake build-essential libboost-all-dev

Get code and compile:

cd ~/source
git clone -b Linux https://github.com/nicehash/nheqminer.git
cd nheqminer/cpu_xenoncat/Linux/asm/ && sh assemble.sh && cd ../../../Linux_cmake/nheqminer_cpu && cmake . && make

Here is an example mining command:

~/source/nheqminer/Linux_cmake/nheqminer_cpu/nheqminer_cpu -t 2 -l us1-zcash.flypool.org:3333 -u t1cN123qRbBXkQXKqPqq44E4cTh2a8SvwH1.YourMiner

Build zcash (ZEC) wallet on Ubuntu

Build everything:

sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake
mkdir ~/source
cd ~/source
git clone https://github.com/zcash/zcash.git
cd ~/source/zcash/zcutil
./build.sh
./fetch-params.sh
sudo make install

Run wallet and then stop it:

/usr/local/bin/zcashd -daemon
/usr/local/bin/zcash-cli stop

You will now see a folder ~/.zcash
Create zcash.conf in this folder that looks like this:

rpcuser=YourUserName
rpcpassword=YourPassword
gen=1

Now start the server again:

cd ~/source/zcash/src
./zcashd -daemon

The gen=1 turns on mining automatically.

Use the cli (command line interface) to getinfo:

./zcash-cli getinfo

ZEC update (when you need to upgrade)

cd ~/source/zcash
git pull
cd ~/source/zcash/zcutil
./build.sh
./fetch-params.sh

If you want to use the ZCash latest stable version:
https://github.com/zcash/zcash/releases/

This is currently: v2.0.1

I upgraded to ZCash v2.0.1

cd ~/source
git clone https://github.com/zcash/zcash.git --branch v2.0.1
cd ~/source/zcash/zcutil
./build.sh
./fetch-params.sh
cd ~/source/zcash
sudo make install

Overclocking the RX 480 for the Claymore Ethereum-Decred Miner

Using Wattman, your values may have to be tweaked depending on the silicone lottery:

Memory: 2200mhz (overclocked), 975mv (underclocked)
Power Limit: +15%

This will draw 825w from the wall with 3 cards.

Stock for these cards are:

Memory: 2000mhz, 1000mv
Power Limit: 0

In the Claymore Miner config.txt:

-ethi 8
-dcri 60

I left the Core clock at stock which is defaulted to 1266 or 1288 (XFX version)

More can be done with tweaking the Core Clock, but my 850w power supply was already at 825w with 3 cards and motherboard/fans.

Installing another power supply for 3 more cards will let me tweak the numbers some more.

With the settings above, I was able to get:

ETH/ETC: 27 Mh/s (26 Mh/s on one of the cards)
DCR: 810 Mh/s (790 Mh/s on one of the cards)

Heat and Fans:

Max: 80 C
Target: 75 C

Windows 10 Claymore ETH/DCR Mining Rig using the RX 480 GPU

This build deals with setting up Windows 10 to mine Ethereum and Decred, using the RX 480 GPU.

Install Windows 10 x64
—-
Install the latest AMD Radeon Crimson Drivers

http://support.amd.com/en-us/download/desktop?os=Windows+10+-+64

Crimson Edition 16.7.3 (Main installer, run this.)

After Crimson is installed, then do an update within Crimson. You will then be at “Crimson Edition 16.8.3” (or later)
—-
Install AwesomeMiner

http://www.awesomeminer.com/

—-
Configure Claymore ETH/DCR

New Miner Wizard
—-
Example of config.txt for mining ETC (Ethereum Classic)

-r 1
-ethi 8
-dcri 60

-etha 0
-mode 0

-gser 2

### ETC ########################################
-epool us1-etc.ethermine.org:4444
-ewal 0xBAf5706B333F709211Ab5A2A5669970A55385934.YourMinerName
-esm 0
-epsw x
-allpools 1
-allcoins 1

### DCR ########################################
-dpool stratum+tcp://dcr.suprnova.cc:2252
-dwal YourUserName.YourMinerName
-dpsw YourPassword

Example of config.txt for mining ETH (Ethereum)

-r 1
-ethi 8
-dcri 60

-etha 0
-mode 0

-gser 2

### ETH ########################################
-epool us1.ethermine.org:4444
-ewal 0x7563A2D88F2151B659F22FAd213E3A0E6fedE943.YourMinerName
-esm 0
-epsw x
-allpools 1
-allcoins 1

### DCR ########################################
-dpool stratum+tcp://dcr.suprnova.cc:2252
-dwal YourUserName.YourMinerName
-dpsw YourPassword

Example of epools.txt

POOL: etc-eu.suprnova.cc:3333, PSW: YourPassword, WORKER: YourUser.YourMiner, ESM: 0, ALLPOOLS: 1
POOL: us1.ethermine.org:4444, PSW: YourPassword, WORKER: 0x57f57167a82da3de4e69de73d1bc9c731cdcbaf8.YourMiner, ESM: 0, ALLPOOLS: 1
POOL: us1.ethpool.org:3333, PSW: YourPassword, WORKER: 0x57f57167a82da3de4e69de73d1bc9c731cdcbaf8.YourMiner, ESM: 0, ALLPOOLS: 1

Example of dpools.txt

POOL: dcr.suprnova.cc:2252, PSW: YourPassword, WORKER: YourUser.YourMiner, ESM: 0, ALLPOOLS: 1
POOL: dcr.coinmine.pl:2222, PSW: YourPassword, WORKER: YourUser.YourMiner, ESM: 0, ALLPOOLS: 1
POOL: dcr.pool.mn:4722, PSW: YourPassword, WORKER: YourUser.YourMiner, ESM: 0, ALLPOOLS: 1

—-
How to reboot straight into mining:

Setup Autologin In Windows.

Lock after login:
rundll32.exe user32.dll,LockWorkStation

Set Awesome Miner to start on reboot.
Set your managed miner to start on reboot.
—-

Other Software you may want to install:
—-
Install Chrome
—-
Install Notepad++
https://notepad-plus-plus.org/
—-
Install TortoiseSVN
https://tortoisesvn.net/downloads.html
—-

Other Settings you may want to adjust:

Allow Remote Access
Power Options
    Turn off display: Never
    Put Computer to sleep: Never
Auto login: netplwiz
Windows Folder defaults:
    Unhide known extensions
    Unhide system folders

Never get stuck after a windows crash. Run this as administrator:

bcdedit /set {current} bootstatuspolicy ignoreallfailures

Remove the popup after a crash

gpedit.msc

Navigate to:
Computer Configuration/Administrative Templates/Windows Components/Windows Error Reporting

Double click on "Prevent display of the user interface for critical errors"

Set to Enabled

Power Considerations for the r9 280x

I would allocate about 350w for each r9 280x card if you’re planning heavy overclocking.

350 * 3 = 1050 watt
350 * 6 = 2100 watt

Don’t forget about your motherboard, CPU, fans… so the one that is running these things and the 3 GPU’s should consider another 200-300 watts for that PSU:

So 750w power supply would run one card as well as the motherboard, cpu, hard drive, all fans.

So let’s go more conservative and have 4 GPU’s (will probably run cooler too):
350 * 2 = 700
350 * 4 = 1400

The setup for this would be 2 x 850w = 1700 w and will give you plenty of room for peripherals.