With the space being white-hot I’ve been very curious and learning all that I can. What better way to understand the core concepts than to start at the root of how cryptocurrency is generated aka mining. So here’s some of what I’ve learned in the process of doing just that, hope you find it useful! cryptocurrency What is mining? In the simplest terms, the act of mining serves two purposes. One, the miner is essentially providing book-keeping services for the crypto’s public ledger aka by taking recent transactions every few minutes and writing them onto a page of the ledger referred to as a “block”. blockchain Although miners have to solve a puzzle / cryptographic function to be able to add their block to the blockchain, whoever is able to do this first, is rewarded with some crypto in exchange for their services. This brings me to the second purpose, the crypto which is rewarded is considered “mined”. This is essentially because it is new currency that’s released to the network. All cryptocurrencies have a fixed number that is set to release to the network through this mining process. As that unreleased currency dwindles down, miners are then incentivized by a reward attached to each transaction in the block. So the transactions that include this reward i.e transaction fee are likely to be processed faster. Pick a currency Now that we understand the high level concept behind mining, let’s figure out what to mine. Naturally, BTC (Bitcoin) or ETH (Ethereum) would be our obvious candidates as they are the most well known and popular currencies at the moment. Although the issue with both is the fact that they are not very profitable to mine using a basic CPU or GPUs. If you are starting out, I’m assuming that’s pretty much what you will have access to. In most cases, the popularity of a currency has a direct correlation with it’s mining difficulty. The more miners that join the pool, the faster new pages are written on the ledger. To keep the number of pages created steady, the difficulty of the puzzle is increased at a regular interval. So out of the top 10 currencies on , the best candidate for CPU or GPU mining would be XMR (Monero) since it’s based on a proof-of-work algorithm called CryptoNight which is designed to be suitable for ordinary CPU and GPUs and is resistant to mining with special hardware i.e ASIC. So having said that, let’s pick XMR. If you need some more convincing, of why XMR is a good bet. coinmarketcap.com here’s a good list Setup a wallet So the next thing we’d have to figure out is where to store the proceeds from the mining. For XMR, the options are somewhat limited since it’s still a currency in development. The best bet would be to download & install the . official wallet Alternatively, you can setup an account in one of the online exchanges like or and use their built-in wallet, although it’s not recommended to use that as a long term storage for large amounts of currency. Bittrex Kraken Once you have this setup, take note of your wallet’s address. We will need this in the next steps. Join a pool So while XMR is friendly to solo mining, the chances of earning a reward are low. So in order to boost our chances, we’ll want to share our processing power in a network of other miners. We can then earn our reward according to the amount of hashing power we contributed towards creating a block. There are several XMR mining pools that you can choose from . I would recommend sticking to if you are in US or if you are in Europe. this list xmrpool.net moneropool.com Both have a good balance of # of miners and the hash rate. You don’t want to join a pool with a lot of miners because your earnings can get very diluted, you’ll want to stick to a good balance between hashing power and the # of members in a pool. Start mining So now we are finally ready to start mining. We have two options, we can either use the CPU or the GPU to do the mining. Let’s look at both the options and how they work. CPU has put together some awesome Docker images to make this easy. You can for your platform if you haven’t already and run this command: ServeTheHome install Docker For xmrpool.net: sudo docker run -itd -e username=[YOUR_WALLET_ADDRESS] servethehome/monero_cpu_xmrpooldotnet For moneropool.com: sudo docker run -itd -e username=[YOUR_WALLET_ADDRESS] servethehome/monero_cpu_moneropool GPU Again huge thanks to for providing images for Nvidia GPUs which makes GPU mining super simple without having to install CUDA dependencies on your machine. ServeTheHome Although what you will need to install is so the Docker container can utilize your GPU. nvidia-docker Installation on Ubuntu should be pretty straightforward: # Install nvidia-docker and nvidia-docker-pluginwget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.debsudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb # Test nvidia-sminvidia-docker run --rm nvidia/cuda nvidia-smi Checkout installation steps for other distros. Once you have that working you can spin up the Docker instance: on their repo For xmrpool.net: NV_GPU=0 nvidia-docker run -itd -e username=[YOUR_WALLET_ADDRESS] --name GPU0_monero servethehome/monero_gpu_nv_xmrpooldotnet For moneropool.com: NV_GPU=0 nvidia-docker run -itd -e username=[YOUR_WALLET_ADDRESS] --name GPU0_monero servethehome/monero_gpu_nv_moneropool If you have multiple GPUs you will need to add prefix as shown above and spin up additional containers for each GPU you want to target. If you only have one, you can skip the prefix and explicit names. NV_GPU=0 Conclusion Depending on your hardware and pool you might have to wait a day or so to see some rewards come your way. You can checkout to figure out what kind of return you can expect based on different variables. this calculator Your best bet is to run this on a spare machine and leave it on for few days. You are probably not going to become the next crypto millionaire but it’s an excellent opportunity to learn more about the crypto space and Docker containers. The modern day crypto gold rush reminds me a little of Charles Nahl’s “Miners in the Sierras” May the odds be with you!