Arguably, by no means: Bitcoin Core nonetheless has a rudimentary mining operate built-in, as it’s used for testing functions (on testing networks the place the problem is decrease). CPU mining has nevertheless been fully pointless since GPU mining grew to become ubiquitous, across the finish of 2010. Since then, options and optimizations associated to CPU mining have been faraway from, and moved out of, Bitcoin Core.
There have roughly 5 other ways to work together with the mining performance:
- The built-in background miner, accessed by GUI, by simply enabling a checkbox “generate”. This was out there within the very first launch. I am undecided when it was eliminated, however on the newest in 2016.
- The built-in background miner, accessed by the
setgenerate
RPC. This RPC was added on 2010 Feb 23, and eliminated on 2016 Mar 14. - The synchronous miner, accessed by RPCs like
generate
andgeneratetoaddress
, which do not run within the background, however simply run a comparatively small variety of POW operations, and return the constructed blocks by RPC. The needs is testing, and utilizing these on mainnet will virtually actually simply fail to assemble something. Thegenerate
RPC name was launched on 2015 Apr 9, and whereas that particular RPC would not exist anymore, more moderen incarnations of it likegeneratetoaddress
nonetheless exist within the codebase right now. - The
getwork
RPC protocol permits mining in an exterior course of was launched on 2010 Nov 23, and eliminated on 2014 Jun 21, because it was outmoded bygetblocktemplate
. - The extra superior
getblocktemplate
(BIP22) RPC protocol was added on 2012 Could 12, nonetheless exists within the codebase right now, and is the first approach by which mining swimming pools work together with the Bitcoin community.
After 2010, numerous optimizations for sooner CPU mining that existed within the codebase have additionally been steadily eliminated, as they have been irrelevant for mining for check functions, and added a upkeep burden.