v0.1.45
What's Changed
Block broadcasting V2
@dguenther and @danield9tqh in #2045 rewrote our block broadcasting by adding support for broadcasting compact blocks and blocks by hash. Compact blocks send out the transaction hashes along with the block header instead of the full transactions, so receiving nodes can use transactions they've already received to construct the block locally. We expect this to reduce bandwidth used for block propagation, and consequently reduce block latency, as well as allow for updates to how frequently we fetch peers from other nodes.
Ignore transactions if notes have already been spent on chain
@dguenther in #2037 updated our transaction verification to check whether the transaction is spending a note that has already been spent on chain before accepting the transaction into the mempool and rebroadcasting it. We found that over half of transaction broadcasts contained already-spent notes, so we expect this to reduce network traffic and mempool size.
Dynamic fees
@wd021 contributed an initial implementation for dynamic fees based on past blocks, first in the form of a fees
command in #2009 , then by updating the pay
, deposit
, and deposit-all
commands to use them in #2051.
Other changes
- Show mempool memory usage in status command (@danield9tqh in #2036)
- Improve public address validation (@mat-if in #2040)
- Add more statuses for transactions in transaction list (@hairtail in #1882)
- Add some additional logging for pool payouts and block template (@mat-if in #2050)
- Cache unsigned hash on Transaction, same way we cache the signed hash (@mat-if in #2054)
- Require pay and deposit commands to connect to a running node (@mat-if in #2058)
- Add accounts status to status command (@hairtail in #1927)
- Enable source maps and stack traces (@NullSoldier in #2084 and #2085)
- Display error when deposit-all crashes (@NullSoldier in #2099)
- Retry 'rm' on chain database to address EBUSY errors in
chain:download
(@hughy in #2070) deposit-all
should not crash if balance changes while creating a transaction (@NullSoldier in #2103)- Add
repl
command to interact with the node (@NullSoldier in #2110) - Fix not closing indexer DB (@NullSoldier in #2109)
Full Changelog: v0.1.44...v0.1.45