MIX Blockchain: Windows GPU Mining

MIX_Octagonal_Sky

Note (Oct. 12, 2017):
MIX Blockchain was previously known as Link Blockchain. This tutorial was first published when it was still called Link Blockchain.
I have now updated the text to reflect the rebranding to MIX Blockchain. However, the screen grabs have not been updated yet.

 

 

GPU Mining MIX Tokens with Geth and Claymore’s Miner on Windows

MIX Blockchain strikes me as an interesting project. I had the opportunity to listen to Jonathan Brown, the founder of the project and an Ethereum “veteran”, do a presentation of his project in Kuala Lumpur. You can learn more about the MIX Blockchain project here. This guide is mainly for the non-technical person who wants to try out GPU mining on a Windows computer.

If you have one or more GPUs in a Windows computer and would like to GPU mine MIX tokens, the native token of the MIX Blockchain, the following step-by-step instructions should get you going. Note that this will be solo mining as no mining pools currently support MIX Blockchain. Finally, note that Link tokens are not currently listed on any crypto exchange, so you will essentially be mining tokens that are not tradeable at least for now.

Edit: February 28, 2018
The MIX Blockchain ecosystem is experiencing fairly rapid development of late. Currently MIX tokens are traded on two exchanges, C-CEX  and Graviex  with more exchanges to come according to the team.
Also note that while this tutorial is a guide to solo mining MIX, you can now pool mine MIX on either of two mining pools, mix.minerpool.net and mix.encryptglobe.com . Instructions for pool mining MIX can be found on the websites of the respective pools.

(The procedures described here should be quite similar for mining other Ethereum forks/clones with some tweaks to the configuration files.)

Introduction

While the Ethereum clients Geth and Parity will both work with the MIX Blockchain network, I will be using Geth in this guide. Also, Claymore’s Dual Ethereum GPU miner comes in versions for both Windows and Linux, but the following description is for the Windows (64-bit) version only.

This installation description starts from scratch, that is, it assumes you do not have Geth installed. Familiarity with Github is not required. Detailed step-by-step instructions are given for working with the Windows Command Prompt.

You’ll need a GPU with at least 2 GB of memory. This is less than the requirement to currently mine Ethereum proper. The DAG file size for the MIX Blockchain is still small enough to work with 2 GB cards.

Step 1: Download Geth Ethereum Client

Before you download Geth, create a new folder in the root directory and call it, say, Geth.

The latest, stable Windows 64-bit version of Geth is available for download at:

https://geth.ethereum.org/downloads/

Once Geth Windows version has been downloaded, double click on the downloaded file and follow the installation instructions. When it comes to selecting the destination of the Geth executable, you can browse to the C:\Geth directory you created earlier.

geth download destination

Step 2: Download the Configuration Files

Syncing the MIX Blockchain using Geth requires that you download a couple of configuration files. Go to:

https://github.com/mix-blockchain/mix-blockchain

You will land on the Github page holding the configuration files that you need.

Click on the Clone or download button and in the dropdown click on Download ZIP.

DownloadZIP2

Go to the downloaded zip folder and right click it, then select Extract All.

Note where the folder containing the extracted files is located, then copy all of the files into your C:\Geth folder. Since we are using Geth, you will be particularly interested in the genesis.json and mix.toml (note: this is tom and then an ‘L’–not a one) files.

GethDirWithFiles

Contents of C:\Geth folder after copying config files over. Note the geth executable that you downloaded earlier.

Step 3: Run Geth and Sync Up MIX Blockchain

There is a command you need to run in a Command Prompt window, just once, to establish the MIX Blockchain.

First open a Command Prompt window by searching for cmd in the search box of the Start Menu. (You can also get to the Command Prompt by looking in Start Menu>>All Programs>>Accessories>>Command Prompt.)

Enter cd c:\Geth << this changes the current directory to the C:\Geth directory

Enter dir to check that everything is there. You should see something like this:

consoleWithFiles

Now execute the one-time command to initialise the MIX Blockchain. Your current working directory should be the C:\Geth directory.

Type or copy and paste the following into the Command Prompt window.

geth --config mix.toml --datadir C:\mix-geth init genesis.json

Your Command Prompt should look like this:

genesisInitializeCommand

Press Enter to execute the command.

If all goes well, you should now see a new folder C:\mix-geth which will contain two subfolders, geth and keystore.

To start Geth and sync up the MIX blockchain, enter the following commands:

cd C:\Geth               << switch to the Geth directory if you’re not already there

geth --config mix.toml --datadir C:\mix-geth --rpc

The above command will sync up the MIX Blockchain but note that you won’t be mining yet. The initial process to fully sync the blockchain from scratch will take only a few minutes with reasonable hardware and connection.

Once you see the blocks being downloaded one-by-one, you are fully synced. Check the MIX Blockchain network stats page here to confirm that you are syncing the latest blocks.

To shut down Geth, enter CTRL+C .

Remember: To restart Geth and catch up with the latest blocks, you only need to execute the following in a Command Prompt window:

cd C:\Geth

geth --config mix.toml --datadir C:\mix-geth --rpc

Step 4: Attach a Console, Create an Account and Do a Backup

Attaching a Javascript Console

With the Geth client running in one Command Prompt window, you can attach a Javascript Console in a separate Command Prompt window by doing as follows:

Open a new Command Prompt window, then type geth attach and press Enter. (This should work from any directory.)

The Geth Javascript console will be up and running:

consoleRunning

Creating a New Account

To create a new Account, enter the following in the console:

personal.newAccount() and press Enter

You will be asked to enter a password and then repeat that password.

Note: You must remember this password. Without the password you cannot access your Account. Any MIX tokens in that Account will be lost.

The address of the Account you have just created will appear in the console, and should look something like this:

newAddress


Addresses are in hexadecimal format. They are made up of 40 characters (hexadecimal digits). Additionally, the address may or may not be prefixed with the hexadecimal notation “0x” (zero x). It is safer to always include the 0x prefix.


Copy and paste your Account’s address into a text file for easy access.

(To copy text in the Command Prompt, right-click in the Title bar >> select Edit then Mark >> drag pointer over the text >> right-click in Title bar, select Edit then Copy.)

CTRL+D will stop the Javascript console.

Creating a Backup of the Keyfile

Each Account you create will have a keyfile associated with it. This keyfile will be located in the custom data directory you specified when running Geth. Provided you followed the steps above, you will find the keyfile in the following folder:

C:\mix-geth\keystore

keyfileInKeystoreFolder

Keyfile for the newly created address.

Copy this keyfile and store it securely, preferably on two different media. (MIX tokens could become very valuable one day :).)

Important: Store the keyfile securely AND remember the password. You’ll need BOTH to access your MIX tokens.

Step 5: Download and Install Claymore’s Miner

Claymore’s GPU mining software is widely used. The various versions (Windows/Linux) for both AMD and Nvidia graphics cards are available for download here:

GOOGLE: https://drive.google.com/open?id=0B69wv2iqszefdFZUV2toUG5HdlU

And also here:

MEGA: https://mega.nz/#F!O4YA2JgD!n2b4iSHQDruEsYUvTQP5_w

To mine the MIX Blockchain, we’ll be using the miner in solo mining mode. Claymore’s miner includes a developer fee of 1 percent for solo mining. The fee is extracted as follows: In every 1 hour cycle, the miner will mine for 32 seconds for the developer on some default pool. This behavior has a bearing on the options you enter into the miner start-up command line, as explained later. Claymore provides an option for running the miner without paying the developer fee, but this incurs a performance penalty of about 4 percent.

Download Claymore Miner

If you can’t find the latest version in the Google link, use the Mega link.

MegaDownload

After you’ve extracted the downloaded zip folder, perhaps into a new folder named ClaymoreMix, you will see a number of files including a start.bat (or start) Windows batch file. This is the only file that you need to be concerned with.

pointToStartFile

From within Notepad, open the start file so you can edit it.

allFilesNotepad2

Edit the existing start batch file to contain the following lines only:

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100
EthDcrMiner64.exe -epool http://localhost:8645 -allcoins exp

After copying and pasting the above lines, this is what you should have in Notepad:

startBatchFile


Developer Fee Mining and Instability

Developer fee mining while mining an Ethereum fork/clone (like MIX Blockchain) can cause your mining rig to become unstable and crash.

This happens because the miner has to generate and load 2 different DAGs (large files) often of very different size into the memory on your graphics card. One DAG, the much larger one, is necessary for mining Ethereum for the developer. The other DAG for mining MIX Blockchain (or other fork) can be much smaller. When using a 2 GB card in particular (and possibly even a 3 GB card), this can become an issue and is best resolved by using appropriate miner start-up options.

The critical option, should you want to pay the developer fee and enjoy maximum miner performance, is the “-allcoins” option. I suggest setting it to “-allcoins exp” especially for GPUs with limited memory. With this setup, the developer fee mining is done on the Expanse Ethereum fork which requires a much smaller DAG than Ethereum proper.

The alternative is to set “-allcoins 1” together with the “-nofee 1” option which stops dev fee mining but also reduces miner performance.


Step 6: Start Mining

When you want to mine, you will start Geth with a slightly different command line. It will look like this:

cd C:\Geth

geth --config mix.toml --datadir C:\mix-geth --rpc --etherbase 0xdabb6e229d3e1b5eba4a95506651c7823e3d0ece

gethStartWithEtherbaseSet

Enter the address of the Account you created earlier for the --etherbase option. This option specifies that your mining reward, in the form of 5 MIX tokens per block mined plus any transaction fees, will be associated with this account. Note that you can specify any Account for the --etherbase option, but ensure that you have the Account’s keyfile and know the password. (The keyfile of the etherbase Account does not have to be in the keystore folder when you mine.)

Once the MIX Blockchain has fully synced up, start Claymore miner by simply double clicking the start batch file.

startFileToDoubleClick

A Command Prompt window will open and once mining gets going, you should see something like this:

miningWithShareFound

Run the MIX Block Explorer  to confirm that your mining rewards are going to your Account.

CTRL+C will stop the miner and close the window.

Trouble Shooting

If you are having issues running the Claymore miner, first try switching to the recommended drivers for your particular graphic card/s.

Set virtual memory in Windows to at least 16 GB for multi-GPU rigs.

Advertisements