Fulcrum v1.9.8: Correctness Improvement
Fulcrum is a fast and nimble SPV server implementation written in 100% modern C++17 using multi-threaded and asynchronous programming techniques.
- "This is a minor correctness improvement release of Fulcrum."
- "Upgrading to this release is optional but is strongly recommended for BTC node operators since the fix contained in this release affects them."
What's new
- Fixed a correctness bug whereby the mempool fee histogram returned by the
mempool.get_fee_histogram
RPC was calculating fees in sats-per-serialized-byte and not sats-per-vbyte. This affects segwit coins like LTC and BTC. BCH users are unaffected.- As a result of the histogram using the wrong fee rate (sats/B rather than sats/vB), the results were a bit too optimistic and painted a picture of a lower-fee situation than actually exists in the real mempool (this is because serialized size almost always is >= vsize, so fees computed as sats/B are usually lower than fees computed in sats/vB). See issue #221
- Fee estimates and "distance from tip" if using Electrum BTC should now be more accurate and more in-line with what a wallet connected to ElectrumX servers would see.
- Some internal code refactoring and code cleanup to reduce boilerplate code in
src/bitcoin/transaction.h
andsrc/bitcoin/transaction.cpp
.