The mining interface is defined in:
- https://github.com/bitcoin/bitcoin/blob/master/src/interfaces/mining.h
- https://github.com/bitcoin/bitcoin/blob/master/src/ipc/capnp/mining.capnp
Clients that are known to depend on it:
At this state it’s OK to make breaking changes, such as deleting a method or changing its signature. But ideally we should do so once in a major release, collecting a bunch of fixes.
Non-breaking changes can be made any time, such as adding a new method.
The changes below are not breaking, unless mentioned otherwise.
- low priority breaking change(s): https://github.com/Sjors/bitcoin/pull/106
- #33936
- make non-mandatory coinbase commitment opt-in
- #33819
- drop
getCoinbaseCommitment(),getCoinbaseTx()andgetWitnessCommitmentIndex()(breaking, in https://github.com/Sjors/bitcoin/pull/106) [ ] #33890- wipe dummy coinbase (in https://github.com/Sjors/bitcoin/pull/106)
- drop
[ ] consider droppinggetBlock()in favor of just a transaction array[ ] havesubmitSolution()return block (see #33421 (review), breaking)- #33756
- #33745
- #33676
- #33899