Take the 2-minute tour ×
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

What open source miner applications are there? Especially to see how the mining process works.

share|improve this question
    
This question appears to be off-topic because it is about the user is asking for a list that may not be complete, hence it is unlikely that an answer is found that is satisfying. –  cdecker Sep 14 '13 at 19:02
add comment

10 Answers 10

The official list is on The Wiki and is constantly being modified since new software shows up fairly often, but here's the quick breakdown:

  • Poclbm - Python/OpenCL GPU miner (GUI)
  • DiabloMiner - Java/OpenCL GPU miner (MAC OS X GUI)
  • RPC Miner - remote RPC miner (MAC OS X GUI)
  • Phoenix miner - miner
  • Cpu Miner - miner
  • Ufasoft miner - miner
  • Pyminer - Python miner, reference implementation
  • Remote miner - mining pool software
  • Open Source FGPA Bitcoin Miner - a miner that makes use of an FPGA Board

Poclbm and Phoenix are probably the most popular (links go to the sources) though that's based more on my opinion than any facts or studies. In either case, both should shed some light on the mining process.

share|improve this answer
    
Thanks for the edit, Codler. I copied and pasted way too quickly and didn't check my output carefully enough :) –  David Perry Aug 30 '11 at 21:48
    
You shouldn't mention poclbm-mod. It's long outdated and is no longer maintained. –  Artefact2 Aug 31 '11 at 12:10
    
poclbm-mod has been removed, thanks. –  David Perry Sep 1 '11 at 21:19
add comment

jzgarzik wrote a very basic miner in Python. It is slow on purpose, because it shows how a simple miner works (and the mining process). It can also be reused as boilerplate code (the getwork JSON-RPC command).

https://github.com/jgarzik/pyminer/blob/master/pyminer.py

share|improve this answer
4  
Why the downvote? This tutorial miner was especially done to show how the mining process works. That answers the question perfectly. –  Artefact2 Aug 30 '11 at 21:46
1  
Exactly what I was looking for, thanks. –  GregS Jun 8 '13 at 13:55
add comment

GPU Miners

DiabloMiner - https://github.com/Diablo-D3/DiabloMiner

poclbm      - https://github.com/m0mchil/poclbm

hashkill    - 64-bit http://www.gat3way.eu/poc/hashkill-0.2.4-x86_64.tgz 

              32-bit http://www.gat3way.eu/poc/hashkill-0.2.4-x86.tgz   

Phoenix     - https://github.com/jedi95/Phoenix-Miner

CPU Miners

Jgarzik     - https://github.com/jgarzik/cpuminer.git

Ufasoft     - http://ufasoft.com/open/bitcoin/

FPGAminer   - https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner
share|improve this answer
add comment

You can see how mining process works here https://github.com/bitcoin/bitcoin/tree/master/contrib/pyminer

share|improve this answer
add comment

The most obvious open-source mining application is the official Bitcoin client itself, available at: https://github.com/bitcoin/bitcoin

The source code is well written and shows quite clearly the way that hashing is performed in order to mine new blocks. It is however a CPU-only algorithm, and doesn't use some of the more advanced mechanisms for accelerating the hashing process.

Despite this, it definitely offers a good introduction into how the generation of blocks, hashing etc. works, without the added overhead of having to deal with potentially unfamiliar GPU-based mining code, which is intentially highly optimised and as a result will likely to be more difficult to understand, and make the basic concepts more difficult to follow.

share|improve this answer
add comment

CPU miner in PHP - https://github.com/codler/Bitcoin-phpMiner

share|improve this answer
    
Beware this is not a true "miner" it just use a curl call to the following server api.bitp.it/work? –  Sydwell May 23 '13 at 8:13
    
@Sydwell, it is a true miner, it is connecting to a pool mining of your choice. –  Codler May 23 '13 at 10:53
add comment

Phoenix is a very good GPU miner. While I couldn't find the exact license, it's source is available on GitHub: https://bitcointalk.org/index.php?topic=6458.0

Well, it's written in python, so you could see the source anyways. However, it's actually quite easy to understand and modify, e.g. to create your own logging interface.

share|improve this answer
add comment

Poclbm: An open source, python based GPU miner.

Open Source FPGA Miner: The name says it all. Hit the source for the project.

share|improve this answer
add comment

https://github.com/colinrgodsey/scalaminer

Written in scala, mostly just mining device control for connecting with pools

share|improve this answer
add comment

M0mchil's poclbm, written in python, hosted on github.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.