Mine Ravencoin on AMD Part 1


This guide is written to cover the basic steps for new users to get up and mining Ravencoin quickly. While it covers enough ground to get going with minimal hassle, it is not intended to cover every aspect in great detail. If you need more information than can be found here, you can search through many of the other posts on this site as well as a wealth of information elsewhere on the Internet.

I will be posting more detailed performance guides later on, but this basic guide already contains enough information that I felt adding any more would make it too unwieldy to navigate through.

I was also originally going to include both Nvidia and AMD cards in the same guide, but the information became overwhelming for just one post, so I broke them each in their own guide. This post is for AMD cards, you can fine the Nvidia Ravencoin mining information here.

Wallet

The first thing you will need is a wallet to store your mined Ravencoin.

While there is currently one decentralized exchange, Crypto-bridge, that is now trading Ravencoin, it is still best to mine the coins to your own wallet first in order to maintain control over them.

 

Currently you can choose from the typical desktop client or an optional paper wallet version.

Linux/Mac/Windows:

https://github.com/RavenProject/Ravencoin/tree/master/binaries/release

Paper Wallet:

https://github.com/todd1251/WalletGenerator.net/tree/ravencoin

For this guide we will be using the standard desktop GUI wallet, I will make a separate guide covering the paper wallet later.

If you are new to mining and working with cryptocurrency wallets in general, I have also created a separate post detailing a walk-through of the steps needed for installing the Ravencoin GUI wallet, encrypting it, creating new mining addresses, and backing up the wallat.dat file.

Once you have the Ravencoin wallet setup, go ahead and generate a new receiving address to use in the steps below. You can temporarily copy this new Ravencoin address to notepad if you want for ease of access later on, as we may be doing a bit of copy/pasting.

Pools

You will need to find a Ravencoin pool with which to mine at. While in the very early days it was possible to solo mine to your own address, now the Ravencoin network hash-rate is so great only those with hundreds of rigs worth of power would be benefited by trying to solo-mine. For my assumed readers of this guide, I suggest finding a pool to use.

I have listed some of the more popular pools below, but I don’t claim this is a complete list. Feel free to leave a comment if I missed your pool and you want it added.

For most pools that do not require registration, you can simply use the information in the table to get going quickly, substituting your Ravencoin wallet address for where it says Wallet_Address.

For pools that do require registering an account (Suprnova), I put the keyword registration in the Username field, so you will need to visit the pool’s website first before proceeding.

Ravencoin Mining Pools

Pool Name Pool Address -o Username -u Password -p
miningpanda stratum+tcp://miningpanda.site:3636 Wallet_Address c=RVN
minepool stratum+tcp://minepool.com:3636 Wallet_Address c=RVN
threeeyed stratum+tcp://stratum.threeeyed.info:3333 Wallet_Address x
cryptoparty stratum+tcp://cryptopool.party:3636 Wallet_Address c=RVN
suprnova stratum+tcp://rvn.suprnova.cc:6667 registration
omegapool stratum+tcp://omegapool.cc:8006 Wallet_Address xx
krawww stratum+tcp://krawww-miner.eu:3636 Wallet_Address c=RVN
bsod stratum+tcp://pool.bsod.pw:2176 Wallet_Address x
upthehash stratum+tcp://upthehash.com:3636 Wallet_Address x
ravenminer stratum+tcp://ravenminer.com:3636 Wallet_Address c=RVN
yiimp.eu stratum+tcp://yiimp.eu:3666 Wallet_Address c=RVN

Note that the above pool list is presented for your reference only and was accurate as of the date of publication. CryptoYeti makes no endorsement, nor is it responsible for the content, of any of the above websites. Pool and website content can change over time and/or shutdown. Please do your own research and exercise your own due diligence before choosing and using any of the above pools.

AMD

At first Ravencoin was only mine-able for users with Nvidia cards, but now that we are two months into the coin’s existence some AMD mining software has recently been released.

aceneun sgminer -k x16r

The first mining program we will look at, aceneun sgminer -k x16r, is from discord user acenine (GitHub aceneun) who was the bounty winner for being the first to submit a working Ravencoin AMD miner to the community.

You can download the software from the official aceneum/sgminer -k x16r GitHub page here.

For a compiled windows version download sgminer-x16r.zip from the GitHub repository and extract it somewhere. I chose to create a sgminer-x16r directory on my desktop to hold my extracted files.

Upon opening the directory, you will see it filled with a lot of different algorithms, as well as the sgminer executable, and the file we are looking for, Miner.bat. Right click on the Miner.bat file and select edit to manage the configuration.

The default file contents are shown above. We will need to modify the pool we wish to mine at as well as our user/worker name.

The general command line starting with sgminer is where all the action takes place.

The commands above this line are simply to ensure proper GPU environmental variables are in place to allow the GPU to mine at maximum capacity, mainly controlling the amount of on-board graphics memory that can be used by the miner.

Back to the sgminer line, I will go over the parameter in order.

sgminer.exe – simply calls the executable file with everything after being fed in as a parameter, indicated by a “-” prefix.

-k x16r – this parameter tells the miner that we will be running the x16r algorithm. The -k indicates the algorithm option (or switch) which is followed by the algo name, in this case x16r.

-0 stratum+tcp://rvn.supernova.cc:6667 – the o parameter indicates what follows in the pool address and port. In this case we are pointed to the Raven (rvn) supernova pool using port 6667.

-u username.workername – the u parameter indicates the pool username and optional workername. This is usually configured in an username.workername format to allow you to differentiate multiple rigs under the same account. For example, if my supernova pool account name is CryptoYeti and I am configuring this batch file for rig 11, I would use a syntax like -u CryptoYeti.rig11 for this parameter.

Some pools do not require a specific account name, instead they use your Ravencoin receiving address instead. In that case this field would be similar to -u <ravencoin_address>.rig11 format, or using an actual address for an example, -u RHQ87KqokcAXBu18rDuoGswTmhXrSSoDpZ.rig11

Notice that in all cases we are using the period (or dot) separator between the username (or Ravencoin address) and the unique rig or worker identifier. The workername is usually optional, so if you only have one or two rigs and don’t mind differentiating them on the pool, you can simply use -u RHQ87KqokcAXBu18rDuoGswTmhXrSSoDpZ or -u CryptoYeti format.

-p x – The p parameter is for the pool worker or account password and is usually not used, thus why most examples just use x. In some cases, some pools use this to feed the pool extra parameters, such a c=RVN, which means the coin being mined is RVN or Ravencoin. Check with your pool documentation to see if this field is required. Normally it is best to just keep it at x unless your pool specifies otherwise, as some miner implementations need an entry here even if it is not used.

–gpu-platform 1 – This is an option field to indicate to sgminer which video platform to use. Using 1 as in the example is only needed if you have a built-in video such as with some Intel based motherboards.

As with all things computers, the platforms start with 0, meaning 0 is for the built-in graphics, so we want to use 1 or the AMD graphics cards. If you get an error on startup about finding no platform, it means sgminer cannot find a compatible graphics platform on which to run, this means your probably do not have built-in video or is is not activated. In either case you can change the one to zero, or even eliminate this entry completely. In my example I do not need this option, so I just removed it.

-I 17 – This parameter indicated the intensity the GPU will run at. In the example it is set to 17, which is a good place to start with most cards. if you are having trouble with the miner crashing, this is a good place to look and a lower number may be more stable. For higher end cards you might be able to go higher, but this shouldn’t be viewed as a speed value as higher numbers may actually result in lower performance with some cards.

This is but a limited selection of options available through the sgminer interface and is enough to get you up and running. To see a complete list either consult the official documentation, or you can create your own help file by executing the following command within the sgminer directory.

You can also make a help.bat file if you want containing the following: sgminer.exe -h >> help.txt

The above command calls sgminer to display its help menu by calling the -h option and redirects the output to a file named help.txt in you current directory. Once complete you can open up help.txt and read about all of the different command line options. You will only need to execute the help command or help.bat file one time to generate the text file.

The last line in the Miner.bat file is the word pause. this simply instructs Windows to not closer the miner window if the program should error out and shutdown. This makes it easier to troubleshoot the problem by being able to scroll up to see any error messages.

Modifying the configuration line.

With that out of the way we are ready to begin configuring our Miner.bat file with our own settings and get to mining!

For this example I am going to choose the first pool on this list above, which is MiningPanda. I will also create a new Ravencoin address specifically for the MiningPanda pool to help keep track of where my coins come from.

So with all that information we now can create our configuration.

sgminer.exe -k xa16r -o stratum+tcp://miningpanda.site:3636 -u RGvCLDzUAYPoryFBxd8zwUjJCi4bckQZgg -p c=RVN -I 17

Notice that I did not use the –gpu-platform 1 option as I don’t normally leave any on-board video devices active, but if you run into problems you may want to add it back in. I will eventually add a troubleshooting section at either the end of this post or a new guide to go over the various things that can go wrong.

Example Miner.bat configuration file using the options gone over in this guide.

Ok, now we are finally getting somewhere. Check your configuration file over to make sure you have your pools information correct and that you inserted your Ravencoin address. You can feel free to mine to my address for awhile if you want as a tip, but I want to make sure it is your choice and not that you copy/pasted and accidentally forgot to change it. Save your file and then we can move on to actually start mining.

Now for the big moment. Find the Mining.bat file again, but this time double click on it to run. If all goes well the sgminer window should appear, and after a few moments should begin mining.

Instead, of mining you may get a warning like this to appear.

Error message indicated your computer is missing Visual C++ run-time libraries.

I will go over this error quickly, as besides the gpu-platform issue discussed above, this is the second biggest cause of problems. It basically means your machine is missing some libraries that the sgminer program needs to run. These can be found in the Visual C++ Redistributable for Visual Studio 2015 and can be downloaded from here.

vc_redist.x64.exe and vc_redist.x86.exe installation files. Both will be need to be installed to run sgminer.

Make sure you download and install both the x86 (vc_redist.x86.exe) and x64 (vc_redist.x64.exe) versions. They both install quickly and will do not require a reboot. Note you may get an error message during installation if one version is already installed (typically the x64 version on Win10), just ok and install the other file as it doesn’t hurt to run both exe’s to be sure you have all the files you need.

Now with that out of the way, let’s try this again.

Find the Mining.bat file and double click on it to run.

 

Oh no, you might get an error such as this!

Ok, after this one I will quit messing with you and get to the real mining, but since this is the number two issue I wanted to cover it again. This is a result of the –gpu-platform 1 discussed before. If you get this error either change this line to –gpu-platform 0 or if you removed it before or already changed it to zero, change it back to 1.

In short, if your motherboard has on-board video and it is enabled, this would be detected as platform 0, meaning your mining GPUs are platform 1. If you do not have on-board video, or if it is disabled in the BIOS, since you only have mining GPUs they would be detected as platform 0.

Now assuming everything else is correct, we can start mining.

Once more time, find the Mining.bat file and double click on it to run.

Now we will see a window much like the above example. At first you might panic thinking it is very similar to the error we just covered above, but take heart, this time around all is normal. These are just the first two lines showing the program initializing as it goes about generating the kernel (.bin file) in the background. Depending on how many cards your rig has it may take sgminer up to a minute or so to compile the kernel it will need to mine the algorithm, so just be patient. On my 6 GPU rig it took about 60-70 seconds and this delay only occurs on the first run, or if you would delete the .bin file later.

After a minute or so you should finally see the miner screen pop into action and begin hashing.

The above example shows sgminer’s readout right after starting, as can be seen in the running timer at the very top-right of the window (6 seconds).

If this is your first time with a sgminer variant, the screen may at first look very busy, but it contains a lot of useful information in a very compact space.

I will very briefly go over the various parts using the example image above to illustrate.

Across the top we have basic version information, along with the start date/time and elapsed running time.

The next line shows the 5 second rig average and the longer-term running (avg) average, along with accepted (A) shares, rejected (R) shares, Hardware errors (HW) and the Work Utility (WU) which is defined as the number of diff1 equivalent shares / minute .

The third line shows Staged work items (ST), Stale Shares (SS), New Blocks (NB), Locally generated Work items (LW), Getwork Fail Occasions (GF), and Remote Fail Occasions (RF). High GF or RF readings may indicating connection problems and you should look for a closer pool.

The next two lines show basic pool information along with the block you are working on, the difficulty, time block work started, and your best overall share found.

Then we have some quick-key options followed by a summary of your GPUs. The summary is fairly self explanatory with GPU, temperature, fan rpm, 5 sec work average, long term work average, rejects (5), HW errors, WU and current intensity setting.

Under this section we have a scrolling log file similar to most mining programs you may be more familiar with.

Results

I am running this test on a rig with 6 x MSI Rx470 4GB GPUs that until recently was used for mining Ethereum. I am starting out with an intensity level of 17 to see how the rig performance since it is running off a 1000 watt GPU.

After the first few minutes of mining I see that I am getting somewhere between 4.2 and 5.5 Mhash/sec per GPU, with a total rig hashrate of around 32 Mhash.

Power measured at the wall shows around 550 watts for the entire rig, or just under 100 watts per GPU including system overhead, not too bad.

sgminer running with 6x RX470 4GB rig for 1 hour, average 550 watts

After running the rig for a little over an hour and the intensity 17 level, and having checked the power usage several times during this period, I am pretty comfortable that this rig is holding around the 550 watt usage cycling through the various algorithms. One thing you need to watch for when mining with the x16r algo, is that at times your rig may draw very low wattage versus other times when it draws a high wattage.

The draw will of course depend upon which algorithm is being used at any particular point in time. So you will want to monitor your rig over a period of time and not just the first 5 minutes like you could with Zcash or Ethereum mining to determine your settings.

You can checkout the white paper on the x16r algorithm, but here is a breif table listing the algorithms that x16r cycles through.

0 blake 8 shavite
1 bmw 9 simd
2 groestl A echo
3 jh B hamsi
4 keccak C fugue
5 skein D shabal
6 luffa E whirlpool
7 cubehash F sha512

 

I also took the opportunity to check the pool-side readings to compare with the result of my miner was giving me. Looking at the statistics on MiningPanda I see my average is about 30.9 Mh/s, or a little bit under what the miner console is displaying.

However, the thing to keep in mind with x16r, much like that with the power draw, is that since you are effectively mining 16 algorithms over a period of time, your average hashrate will vary. It is better to monitor your hash rate for a while and come up with a minimum and maximum range to derive your true avergae versus just a point in time peak at your stats. Also a thing to note is that pool stats often lag miner stats and anything under several hours is not going to give a good reading.

Anyway, happy with the power usage and seeing no stability issues, I decided to restart the miner using an intensity level of 19. Since I am now pushing it a little harder than before, I will run it for a couple hours before making any more modifications.

Once other point I would like to add is that it seems the current implementations of sgminer for RVN only allow up to six (6) GPUs to run at a time. I tried with larger 8 GPU rigs but kept getting an error on launch. I have also seen some information on other sites that seem to suggest this, but will look into it further. I did want to point it out those in case you were to encounter the same issue.

 

This post is getting a little longer than I originally intended, so I think I will turn into into a two part guide to help break up the content. Part 2 will continue on with the tweaks to see how far we can push our AMD cards, as well as look at an alternative mining program for AMD cards.

You can continue on to read Part 2 here.


 

 

 

1 Comment

2 Trackbacks / Pingbacks

  1. How To: Mine Ravencoin (AMD) Part 2 – CryptoYeti
  2. How To: Mine Ravencoin (Nvidia) – CryptoYeti

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.