Skip to content

Node Settings

Eric Voskuil edited this page May 3, 2017 · 14 revisions

The following node settings are implemented in the libbitcoin-node and exposed in both Bitcoin Node (BN) and Bitcoin Server (BS).

[node]
# The time to wait for a requested block, defaults to 60.
block_latency_seconds = 60
# Disable relay when top block age exceeds, defaults to 24 (0 disables).
notify_limit_hours = 24
# The minimum fee per byte, cumulative for conflicts, defaults to 1.
byte_fee_satoshis = 1
# The minimum fee per sigop, additional to byte fee, defaults to 100.
sigop_fee_satoshis = 100
# The minimum output value, defaults to 500.
minimum_output_satoshis = 500
# Request that peers relay transactions, defaults to true.
relay_transactions = true
# Request transactions on each channel start, defaults to true.
refresh_transactions = true

block_latency_seconds

The channel will be closed a peer that has indicated that it has a specific block but does not supply the block within this time of a request for it.

notify_limit_hours

This is used to determine whether the node is close to the top of the chain. When the difference between current time and top block time exceeds this value the chain is considered stale.

byte_fee_satoshis

This controls both the limit accepted by the node and the relay level requested of its peers, to the extent supported. Any floating point value is valid. Setting this to 0 exposes the node to a low cost disk exhaustion attack. Any positive value ensures a fee of at least one satoshi.

sigop_fee_satoshis

This includes internal and previous output signature operations. The value is added to the byte fee in order to determine the total fee requirement for a transaction. Any floating point value is valid. This does not affect the requested peer relay level.

minimum_output_satoshis

This defines the dust level. Transactions with at least one output below this value are discarded and not relayed.

relay_transactions

Requests that peers relay unconfirmed transactions. This should be disabled during initial block download. This is not supported at protocol levels below 70001. Additionally this support varies somewhat due to an incorrect initial implementation by the satoshi client, which was poorly documented and cloned by various forks.

refresh_transactions

This causes the node to request the mempool of each capable peer upon connection. This is automatically disabled when relay_transactions is false. A setting of true can help warm up the transaction pool quickly but is otherwise unimportant. Since the transaction pool is just the disk-based transaction store the node can be restarted with this setting disabled (immediately after warming up the pool), at which point the pool should remain primed.

Clone this wiki locally