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:
- https://github.com/stratum-mining/sv2-tp
- https://github.com/stratum-mining/sv2-apps/tree/main/bitcoin-core-sv2
The changes below are not breaking, unless mentioned otherwise. Adding new methods or new arguments to existing methods is not a breaking change.
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.
- low priority breaking change(s): https://github.com/Sjors/bitcoin/pull/106
- #33936
- make non-mandatory coinbase commitment opt-in
- drop
getCoinbaseCommitment(),getCoinbaseTx()andgetWitnessCommitmentIndex() - wipe dummy coinbase
Misc related: