Grin Mining Pool — CPU Mining — How To

With the Grin blockchain planned launch on January 15, 2019, now is the time to prepare your miners to find Cuckoo Cycles! This guide will help you get started mining for GRIN Coins using your CPU on the MWGrinPool.com open-source grin mining pool. There is a similar guide on GPU mining.

Grin Network Graph Rate

Overview

1. Install prerequisites
2. Get the miner source code and build it
3. Configure your miner to use stratum.MWGrinPool.com
4. Start your miner and Verify its running
5. Log in and check your account on www.MWGrinPool.com

Note: Ubuntu 18 is used in this example, you may need to adjust commands and package names if you are using MacOS or a different flavor of Linux.

Ok, lets get started.

1. Create a working directory and install prerequisites

mkdir ~/mwgrinpool
cd ~/mwgrinpool
sudo apt-get install -y curl git cmake make zlib1g-dev pkgconf \
ncurses-dev libncursesw5-dev linux-headers-generic g++ \
libssl-dev
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env

2. Get the miner source code and build it

git clone https://github.com/mimblewimble/grin-miner.git
cd grin-miner
git submodule update --init

Configure what to build:

Find if your CPU support avx2

cat /proc/cpuinfo | grep avx2 | wc -l

Option 1: No avx2 support — If that prints “0” (zero) then your CPU does not support avx2 and you can use the default plugin.

Option 2: With avx2 support — If any number greater than 0 is reported you should enable the avx2 mining plugin with:

sed -i 's/^plugin_name =.*/plugin_name = "cuckaroo_cpu_avx2_29"/' \
grin-miner.toml

Build it:

cargo build --release

3. Configure your miner to use stratum.MWGrinPool.com

Configure where to mine:

sed -i 's/stratum_server_addr.*/stratum_server_addr = "stratum.mwgrinpool.com:3333"/' grin-miner.toml

Configure your Mining Account:

Enter a username and strong password to use for your account.

printf "\nUsername: " && read username && sed -i 's/.*stratum_server_login.*/stratum_server_login = "'$username'"/' grin-miner.toml
printf "\nPassword: " && read password && sed -i 's/.*stratum_server_password.*/stratum_server_password = "'$password'"/' grin-miner.toml

Configure what to run:

Find how many processors you have available:

grep -c ^processor /proc/cpuinfo

Choose some subset of your CPU cores to dedicate to mining and configure the plugin:

printf "\nNumber of Processors: " && read nthreads && sed -i 's/^nthreads.*/nthreads = '$nthreads'/' grin-miner.toml

4. Start your miner and Verify its running

./target/release/grin-miner
Grin Miner TextUI — 1. Connected, 2. Mining status and rate

5. Check your account

Open https://www.MWGrinPool.com in your web browser and select the “Stats” submenu under “Miner”.

Selecting Miner Stats page

After you enter your username and password, you will see your mining information. After a few minutes of mining you will see your graph rate and shares data begin to populate.

Miner Stats populated with mining data

That it, you are mining Grin on MWGrinPool!

Next you may want to read about How To Configure Payments.


Grin is a “Minimal implementation of the MimbleWimble protocol” focused on privacy and scalability.

NOTE: Grin cryptocurrency is currently in testnet, and testnet coins have no value.