mining: add new getCoinbaseTx() returning a struct

Introduce a new method intended to replace getCoinbaseRawTx(), which
provides a struct with everything clients need to construct a coinbase.
This is safer than providing a raw dummy coinbase that clients then have
to manipulate.

The CoinbaseTx data is populated during the dummy transaction generation
and stored in struct CBlockTemplate.

Expand the interface_ipc.py functional test to document its usage
and ensure equivalence.
This commit is contained in:
Sjors Provoost
2026-01-05 09:51:57 +07:00
parent d59b4cdb57
commit 48f57bb35b
9 changed files with 219 additions and 6 deletions

View File

@@ -1,5 +1,8 @@
Mining IPC
----------
- The `getCoinbaseTx()` method is renamed to `getCoinbaseRawTx()`.
- The `getCoinbaseTx()` method is renamed to `getCoinbaseRawTx()` and deprecated.
IPC clients do not use the function name, so they're not affected. (#33819)
- Adds `getCoinbaseTx()` which clients should use instead of `getCoinbaseRawTx()`. It
contains all fields required to construct a coinbase transaction, and omits the
dummy output which Bitcoin Core uses internally. (#33819)