What's Changed
NodeBuilder
offers configuration options to build a compact block filtersNode
andClient
Client
is further split intoClientSender
andReceiver<NodeMessage>
ClientSender
may: add scripts, broadcast transactions, rescan block filters, stop the nodeNode
mayrun
and sendNodeMessage
,Warning
while running- Connections to peers are encrypted if
ServiceFlags::P2P_V2
is signaled - Connections are terminated if peers do not respond within a custom
Duration
- Peers are selected at random with a target preference of 50% new and 50% tried
- Connections are terminated after long duration times to find new reliable peers
- Blocks are considered "stale" if there has not been a new
inv
message after 30 minutes. Block headers are requested again to ensure noinv
were missed. - Transactions are broadcast according to a configurable policy, either to all connections for higher reliability, or to a random peer for better privacy
- Default implementers of
PeerStore
andHeaderStore
areSqlitePeerDb
andSqliteHeaderDb
- Nodes will no peers will bootstrap with DNS
- Experimental support for connections routed over Tor
New Contributors
- @oleonardolima made their first contribution in #66
Full Changelog: https://github.com/rustaceanrob/kyoto/commits/v0.1.0