Skip to content

Network Settings

Eric Voskuil edited this page Mar 21, 2017 · 28 revisions

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

[network]
# The minimum number of threads in the network threadpool, defaults to 0 (physical cores).
threads = 0
# The maximum network protocol version, defaults to 70013.
protocol_maximum = 70013
# The minimum network protocol version, defaults to 31402.
protocol_minimum = 31402
# The services exposed by network connections, defaults to 1 (full node).
services = 1
# The magic number for message headers, defaults to 3652501241 (use 118034699 for testnet).
identifier = 3652501241
# Validate the checksum of network messages, defaults to false.
validate_checksum = false
# The port for incoming connections, defaults to 8333 (use 18333 for testnet).
inbound_port = 8333
# The target number of incoming network connections, defaults to 8.
inbound_connections = 8
# The target number of outgoing network connections, defaults to 8.
outbound_connections = 8
# The attempt limit for manual connection establishment, defaults to 0 (forever).
manual_attempt_limit = 0
# The number of concurrent attempts to establish one connection, defaults to 5.
connect_batch_size = 5
# The time limit for connection establishment, defaults to 5.
connect_timeout_seconds = 5
# The time limit to complete the connection handshake, defaults to 30.
channel_handshake_seconds = 30
# The time between ping messages, defaults to 5.
channel_heartbeat_minutes = 5
# The inactivity time limit for any connection, defaults to 30.
channel_inactivity_minutes = 30
# The age limit for any connection, defaults to 1440.
channel_expiration_minutes = 1440
# The time limit for obtaining seed addresses, defaults to 30.
channel_germination_seconds = 30
# The maximum number of peer hosts in the pool, defaults to 1000.
host_pool_capacity = 1000
# The peer hosts cache file path, defaults to 'hosts.cache'.
hosts_file = hosts.cache
# The advertised public address of this node, defaults to none.
self = 0.0.0.0:0
# IP address to disallow as a peer, multiple entries allowed.
#blacklist = 127.0.0.1
# A persistent peer node, multiple entries allowed.
#peer = mainnet.libbitcoin.net:8333
#peer = testnet.libbitcoin.net:8333
# A seed node for initializing the host pool, multiple entries allowed, defaults shown.
seed = seed.bitcoin.sipa.be:8333
seed = dnsseed.bluematt.me:8333
seed = dnsseed.bitcoin.dashjr.org:8333
seed = seed.bitcoinstats.com:8333
seed = seed.bitcoin.jonasschnelli.ch:8333
seed = seed.voskuil.org:8333
# Testnet seed nodes.
#seed = testnet-seed.bitcoin.jonasschnelli.ch:18333
#seed = seed.tbtc.petertodd.org:18333
#seed = testnet-seed.bluematt.me:18333
#seed = testnet-seed.bitcoin.schildbach.de:18333
#seed = testnet-seed.voskuil.org:18333

This section pertains to the bitcoin peer-to-peer network.

threads

The number of network threads is capped by the number of physical cores, however this setting allows that value to be reduced.

protocol_maximum

The node negotiates a common version with each peer, and always attempts to achieve this value. The negotiated version will be the lowest of this value and the a peer's advertised version. This value must neither exceed the supported maximum of 70013 nor be set below the configured minimum.

protocol_minimum

The minimum acceptable negotiates version. If the peer advertises a version below this value the connection will be terminated. This value must neither exceed the configured maximum nor be set below the supported minimum of 31402.

services

The services exposed by own network connections and expected of peers. This value is defined by the version message and should generally be set to 1.

identifier

The magic number for message headers. This value is defined by message structure and must match the intended network.

validate_checksum

Validate the checksum number for message headers. The checksum is defined by message structure. For compatibility message checksum values are always written but validation is costly and entirely unnecessary.

inbound_port

If set to 0 no incoming connections are allowed.

inbound_connections

The target number of incoming network connections, defaults to 8.

outbound_connections

The target number of outgoing network connections, defaults to 8.

manual_attempt_limit

The attempt limit for manual connection establishment, defaults to 0 (forever).

connect_batch_size

he number of concurrent attempts to establish one connection, defaults to 5.

connect_timeout_seconds

The time limit for connection establishment, defaults to 5.

channel_handshake_seconds

The time limit to complete the connection handshake, defaults to 30.

channel_heartbeat_minutes

The time between ping messages, defaults to 5.

channel_inactivity_minutes

The inactivity time limit for any connection, defaults to 30.

channel_expiration_minutes

The age limit for any connection, defaults to 1440.

channel_germination_seconds

The time limit for obtaining seed addresses, defaults to 30.

host_pool_capacity

The maximum number of peer hosts in the pool, defaults to 1000.

hosts_file

The peer hosts cache file path, defaults to 'hosts.cache'.

self

The advertised public address of this node, defaults to none.

blacklist

IP address to disallow as a peer, multiple entries allowed.

peer

A persistent peer node, multiple entries allowed.

seed

A seed node for initializing the host pool, multiple entries allowed, defaults shown.

Clone this wiki locally