Whereas each of those disable transaction relay, they’re conceptually used for various functions:
Block-relay-only connections (see this publish for extra particulars) are hard-to-detect connections with the aim of hardening the community towards eclipse assaults. They’ve been launched in v0.19.0.1 (2019) – since then, nodes will by default make two extra outgoing block-relay-only connections.
Blocksonly mode is an elective startup possibility (
-blocksonly), launched in v0.12.0 (2016) that has the aim of lowering the bandwidth of a node to a minimal by not taking part in transaction relay.
There are numerous variations between these:
- -blocksonly is a world startup possibility (making use of to all connections) that’s both lively or not, block-relay-only is connection-specific.
- A node in -blocksonly mode participates in deal with relay, whereas a node won’t ever ship out addresses over block-relay-only connections and ignores incoming addresses.
- A node in -blocksonly alerts to not obtain any transactions and can disconnect friends that do not comply, however it can make an exception for whitelisted friends. There isn’t any such exception for block-relay-only connections.
- A node in -blocksonly mode could in particular circumstances ship out personal transactions to its friends (for instance if submitted immediately through RPC). A node won’t ever ship a transaction over a block-relay-only connection.
- A node in -blocksonly mode nonetheless treats two of their outbound connections as block-relay-only (for which then the stricter block-relay-only guidelines take priority).