Update: I posted about my experience purchasing mining power from a dedicated hosting provider https://davidburela.wordpress.com/2016/01/30/analysing-my-progress-and-profitability-in-cryptocurrency-mining/
Note: This is extrememly inefficient and will not earn any bitcoin. You will just burn through Azure credits. Purchasing a $30 USB device is ~100000x faster.
TL;DR The commands to create a machine in Azure to CPU mine are at the bottom. But don’t bother.
I have been playing with the blockchain lately, most notably the programmable blockchain Ethereum. I was interested in seeing how difficult it was to set up a machine to mine Bitcoin. What I discovered through my research was that it is possible, but pointless to do CPU mining in the cloud.
Why is mining on Azure bad?
While it is easy to set it up, CPU mining is extremely inefficient. Mining on CPUs was depreceated a long time ago when it was discovered that it was faster to do on GPUs. But now even GPUs have been deprecated in favor of power efficient ASIC machines
Here are some hardware comparisions of ASIC devices from https://www.bitcoinmining.com/bitcoin-mining-hardware/
How did my Azure miner go?
My 2 core Azure machine costs $85/month, and doing CPU only getting me 4.24+4.25= 8.5 kilohash/second (0.0000085 GH/s), compare that to the 3.6 GH/s that an ASIC $30 USB device provides.
Could this be faster?
On Azure, renting servers with a faster CPU (D & G-Series) would net negligble increases due to CPU mining.
The upcoming N-Series of VMs will have dedicated GPUs attached that you can offload work to. This would be an order of magnitude faster in mining. http://www.hpcwire.com/2015/09/29/microsoft-puts-gpu-boosters-on-azure-cloud/
The price per hour of a N-Series VM would be so high that you would be better off just paying to rent dedicated ASIC bitcoin mining rigs e.g. there is a list at the bottom of this blog post https://www.bitcoinmining.com/best-bitcoin-cloud-mining-contract-reviews/
Instructions for creating on Azure (if you really want to try it)
- Sign up for a mining pool e.g. https://bitminter.com/ (to give you a higher chance of getting a trickle)
- login to https://portal.azure.com
- create a new Ubuntu virtual machine from the marketplace.
I recommend Ubuntu on a basic size VM as we won’t be using the features of standard
- use Putty to remotely connect to your VM
- Install bitcoind (bitcoin daemon)
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install bitcoin-qt
- Configure bitcoind
Run bitcoind to see instructions on what should be in the bitcoin.conf
Create a bitcoin.conf file under ~/.bitcoin
sudo nano ~/.bitcoin/bitcoin.conf
- Install a miner (cpuminer). Instructions from https://bitcointalk.org/index.php?topic=55038.0
sudo apt-get install build-essential libcurl4-openssl-dev
tar xzf pooler-cpuminer-*.tar.gz
- start the miner to test it all works
./minerd -o stratum+tcp://mint.bitminter.com:3333 –u <username_workernumber> -p X
- add the miner to startup. Edit /etc/rc.local to add it
sudo nano /etc/rc.local
Then on a line before exit 0, add the full path of your startup command with & at the end of the line
e.g. /home/youruser/cpuminerXYZ/minerd -o stratum+tcp://mint.bitminter.com:3333 –u <username_workernumber> -p X &