I'm spending a lot of time researching bitcoin before I make any decisions about it, and most of the research is getting to know its fundamental network. Most of the easily verified information is very high-level (meaning surface-level info, e.g. the videos on bitcoin.org or bitcoinmining.com).

What I'm looking for is simple C code (or whatever language) that is verifying information from the blockchain, but not through a pool. I understand the economies of scale and how this will not be efficient. Please don't emphasize how this is not profitable-- say I'm only interested in doing it to contribute my fair share to the p2p network.

How do you get jobs assigned to you from the network to perform your proof of work in the first place? Is there a tool to just get used to this procedure?

1 Answer 1


Initially miners get their work directly from other peers on the network. The peer to peer network is publishing transactions constantly. It is through the process of mining that these transactions are distributed to the entire network. The tool that you need to help confirm transactions on the network is a mining application. Some examples are cgminer, bfgminer etc. If you are interested in solo mining and contributing to the network I do urge you to understand difficulty and the formula used to generate a block and why you are very unlikely to ever generate a block of Bitcoin thus confirming the transactions that your node has seen on the network (unless you are mining with many ASIC's and have several Tera-Hashes per second). As you requested I will not discuss profitability only the probability of this occurring.

From another thread I will reference an equation for how frequently a Bitcoin can be generated with a given hashing power: Current difficulty = 908,350,862 Hashing power(based upon mining hardware) = 1000/Mhs or 1/Ghs We will be solving for the approximate amount of time that it will take (on average to generate 1 block of BTC)

By solving for time we get roughly every 1083704 hours ~= 45154 days ~= 6450 weeks ~= 124 years. Sadly we know that the difficulty is continuing to grow exponentially and it gets recalculated every 14 days or so thus making the average time to generate a block increase. That being said if you would like to solo mine this is how you would do it.

Simply by launching either bitcoind or bitcoin-qt in server mode the application is ready to accept work from your mining application. You can then direct your mining application to obtain work from this service via IP (generally on port 8333) Mining pools run an application server such as a stratum or http service that helps to calculate how much work is accepted from each miner if you do not have such an application running you will not obtain statistics from the Bitcoin service unless a block is generated by your miner.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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