This add-on guide is to install Monero mining software to a Raspberry Pi.
It is independent of which node is running on the Pi:
(For example it is fine to run a Bitcoin node on the Pi and mine Monero at the same time)
All that is required is a Monero Address to payout to.
Introduction and hash rates:
This guide is very simple. It's the easiest installation and setup of all the guides on this site. Just 5 commands and you're away. This is due to reddit user /u/CoPiGiveUp making a script that does the work for you.
However it's worth noting the computing/mining/hash power of a Raspberry Pi before you get too excited. I am no way suggesting that these little devices are suitable for the task, but if it's going to be On 24/7 and there's spare CPU not being used then why not?
Anyway the stats:
As an average the Raspberry Pi 3 gets a hashrate of 7.5H/s per core.
The Raspberry Pi 3 has 4 cores available.
I have tested the Pi3 with 3 cores running, (allowing the last core to run the node function) and got 25H/s reported at the pool once valid shares were found.
Please consider a well ventilated case for your Pi, as using mining software will cause considerable heat for it's size. This is the only time I would consider a heat-sink for the CPU.
This guide is very simple. It's the easiest installation and setup of all the guides on this site. Just 5 commands and you're away. This is due to reddit user /u/CoPiGiveUp making a script that does the work for you.
However it's worth noting the computing/mining/hash power of a Raspberry Pi before you get too excited. I am no way suggesting that these little devices are suitable for the task, but if it's going to be On 24/7 and there's spare CPU not being used then why not?
Anyway the stats:
As an average the Raspberry Pi 3 gets a hashrate of 7.5H/s per core.
The Raspberry Pi 3 has 4 cores available.
I have tested the Pi3 with 3 cores running, (allowing the last core to run the node function) and got 25H/s reported at the pool once valid shares were found.
Please consider a well ventilated case for your Pi, as using mining software will cause considerable heat for it's size. This is the only time I would consider a heat-sink for the CPU.
Installation:
So simply again through SSH or the Pi's terminal sudo apt-get install git **If you have previously followed one of my guides Git may already be installed, but no harm in checking) Then sudo git clone https://github.com/shingolavine/raspberrypimining.git Downloads the install helper script. cd raspberrypimining Navigates to the folder where the script is now located. sudo ./minerSetup.sh Runs the script and installs the Miner. cd cpuminer-multi Navigates to the folder where the Mining software is located. Install complete. |
Starting the Miner:
Now find a pool you wish to mine with. In the past I have used minexmr.com/ They have been reliable, have a low payout threshold and allow you to use an exchange address if you wish. For their Pool an example to start the minig process would be: ./minerd -a cryptonight -o stratum+tcp://pool.minexmr.com:7777 -u YOUR_WALLET_ADDRESS -p x To your own address, or: ./minerd -a cryptonight -o stratum+tcp://pool.minexmr.com:7777 -u EXCHANGE_WALLET_ADDRESS.payment_id -p x For an exchange address with payment ID. Check out minexmr.com for their full details on payouts. There are of course may other pools to choose from. And as with everything else in the Crypto world... do your own research. |
Additional Options:
As with all miners there are many additional options.
To tell the Pi how many Threads/Cores to use append "-t X" to the lauch command, where "X" is a number between 1 and 4.
Eg.
./minerd -a cryptonight -o stratum+tcp://pool.minexmr.com:7777 -u WALLET_ADDRESS -p x -t 1
Other flags can be added for more advanced users:
-o, --url=URL URL of mining server
-O, --userpass=U:P username:password pair for mining server
-u, --user=USERNAME username for mining server
-p, --pass=PASSWORD password for mining server
--cert=FILE certificate for mining server using SSL
-x, --proxy=[PROTOCOL://]HOST[:PORT] connect through a proxy
-t, --threads=N number of miner threads (default: number of processors)
-r, --retries=N number of times to retry if a network call fails
(default: retry indefinitely)
-R, --retry-pause=N time to pause between retries, in seconds (default: 30)
--time-limit=N maximum time [s] to mine before exiting the program.
-T, --timeout=N timeout for long poll and stratum (default: 300 seconds)
-s, --scantime=N upper bound on time spent scanning current work when
long polling is unavailable, in seconds (default: 5)
--randomize Randomize scan range start to reduce duplicates
-f, --diff-factor Divide req. difficulty by this factor (std is 1.0)
-m, --diff-multiplier Multiply difficulty by this factor (std is 1.0)
-n, --nfactor neoscrypt N-Factor
--coinbase-addr=ADDR payout address for solo mining
--coinbase-sig=TEXT data to insert in the coinbase when possible
--max-log-rate limit per-core hashrate logs (default: 5s)
--no-longpoll disable long polling support
--no-getwork disable getwork support
--no-gbt disable getblocktemplate support
--no-stratum disable X-Stratum support
--no-extranonce disable Stratum extranonce support
--no-redirect ignore requests to change the URL of the mining server
-q, --quiet disable per-thread hashmeter output
--no-color disable colored output
-D, --debug enable debug output
-P, --protocol-dump verbose dump of protocol-level activities
--hide-diff Hide submitted block and net difficulty
-B, --background run the miner in the background
--benchmark run in offline benchmark mode
--cputest debug hashes from cpu algorithms
--cpu-affinity set process affinity to cpu core(s), mask 0x3 for cores 0 and 1
--cpu-priority set process priority (default: 0 idle, 2 normal to 5 highest)
-b, --api-bind IP/Port for the miner API (default: 127.0.0.1:4048)
--api-remote Allow remote control
--max-temp=N Only mine if cpu temp is less than specified value (linux)
--max-rate=N[KMG] Only mine if net hashrate is less than specified value
--max-diff=N Only mine if net difficulty is less than specified value
-c, --config=FILE load a JSON-format configuration file
-V, --version display version information and exit
-h, --help display this help text and exit
As with all miners there are many additional options.
To tell the Pi how many Threads/Cores to use append "-t X" to the lauch command, where "X" is a number between 1 and 4.
Eg.
./minerd -a cryptonight -o stratum+tcp://pool.minexmr.com:7777 -u WALLET_ADDRESS -p x -t 1
Other flags can be added for more advanced users:
-o, --url=URL URL of mining server
-O, --userpass=U:P username:password pair for mining server
-u, --user=USERNAME username for mining server
-p, --pass=PASSWORD password for mining server
--cert=FILE certificate for mining server using SSL
-x, --proxy=[PROTOCOL://]HOST[:PORT] connect through a proxy
-t, --threads=N number of miner threads (default: number of processors)
-r, --retries=N number of times to retry if a network call fails
(default: retry indefinitely)
-R, --retry-pause=N time to pause between retries, in seconds (default: 30)
--time-limit=N maximum time [s] to mine before exiting the program.
-T, --timeout=N timeout for long poll and stratum (default: 300 seconds)
-s, --scantime=N upper bound on time spent scanning current work when
long polling is unavailable, in seconds (default: 5)
--randomize Randomize scan range start to reduce duplicates
-f, --diff-factor Divide req. difficulty by this factor (std is 1.0)
-m, --diff-multiplier Multiply difficulty by this factor (std is 1.0)
-n, --nfactor neoscrypt N-Factor
--coinbase-addr=ADDR payout address for solo mining
--coinbase-sig=TEXT data to insert in the coinbase when possible
--max-log-rate limit per-core hashrate logs (default: 5s)
--no-longpoll disable long polling support
--no-getwork disable getwork support
--no-gbt disable getblocktemplate support
--no-stratum disable X-Stratum support
--no-extranonce disable Stratum extranonce support
--no-redirect ignore requests to change the URL of the mining server
-q, --quiet disable per-thread hashmeter output
--no-color disable colored output
-D, --debug enable debug output
-P, --protocol-dump verbose dump of protocol-level activities
--hide-diff Hide submitted block and net difficulty
-B, --background run the miner in the background
--benchmark run in offline benchmark mode
--cputest debug hashes from cpu algorithms
--cpu-affinity set process affinity to cpu core(s), mask 0x3 for cores 0 and 1
--cpu-priority set process priority (default: 0 idle, 2 normal to 5 highest)
-b, --api-bind IP/Port for the miner API (default: 127.0.0.1:4048)
--api-remote Allow remote control
--max-temp=N Only mine if cpu temp is less than specified value (linux)
--max-rate=N[KMG] Only mine if net hashrate is less than specified value
--max-diff=N Only mine if net difficulty is less than specified value
-c, --config=FILE load a JSON-format configuration file
-V, --version display version information and exit
-h, --help display this help text and exit