Skip to content

Server Settings

Eric Voskuil edited this page Dec 3, 2017 · 16 revisions

The following server settings are implemented in the libbitcoin-server and exposed in Bitcoin Server (BS).

[server]
# The lower limit of address and spend indexing, defaults to 0 (deprecated).
index_start_height = 0
# Drop messages at this outgoing backlog level, defaults to 100.
send_high_water = 100
# Drop messages at this incoming backlog level, defaults to 100.
receive_high_water = 100
# The time limit to complete the connection handshake, defaults to 30.
handshake_seconds = 30
# Disable public endpoints, defaults to false.
secure_only = false
# The number of query worker threads per endpoint, defaults to 1 (0 disables service).
query_workers = 1
# The maximum number of query subscriptions, defaults to 0 (subscription disabled).
subscription_limit = 0
# The query subscription expiration time, defaults to 10.
subscription_expiration_minutes = 10
# The heartbeat service interval, defaults to 0 (service disabled).
heartbeat_service_seconds = 0
# Enable the block publishing service, defaults to false.
block_service_enabled = false
# Enable the transaction publishing service, defaults to false.
transaction_service_enabled = false

# The secure query endpoint, defaults to 'tcp://*:9081'.
secure_query_endpoint = tcp://*:9081
# The secure heartbeat endpoint, defaults to 'tcp://*:9082'.
secure_heartbeat_endpoint = tcp://*:9082
# The secure block publishing endpoint, defaults to 'tcp://*:9083'.
secure_block_endpoint = tcp://*:9083
# The secure transaction publishing endpoint, defaults to 'tcp://*:9084'.
secure_transaction_endpoint = tcp://*:9084

# The public query endpoint, defaults to 'tcp://*:9091'.
public_query_endpoint = tcp://*:9091
# The public heartbeat endpoint, defaults to 'tcp://*:9092'.
public_heartbeat_endpoint = tcp://*:9092
# The public block publishing endpoint, defaults to 'tcp://*:9093'.
public_block_endpoint = tcp://*:9093
# The public transaction publishing endpoint, defaults to 'tcp://*:9094'.
public_transaction_endpoint = tcp://*:9094

# The Z85-encoded private key of the server, enables secure endpoints.
#server_private_key =
# Allowed Z85-encoded public key of the client, multiple entries allowed.
#client_public_key =
# Allowed client IP address, multiple entries allowed.
#client_address = 127.0.0.1
# Blocked client IP address, multiple entries allowed.
#blacklist = 127.0.0.1

index_start_height

If this is set to 0 (default) all payment addresses in standard inputs and outputs, as well as all stealth metadata, is indexed. This is a large amount of information. To limit this indexing to more recent heights set this value to the desired starting height. This value can be safely changed at any time however the resulting index gaps will affect query results.

send_high_water

When sending messages to clients the server will start dropping messages when the outgoing queue reaches this level, on a per socket basis. This prevents one or more slow clients from causing a low memory condition on the server. A value of zero drops all outgoing traffic.

receive_high_water

When receiving messages from clients the server will start dropping messages when the incoming queue reaches this level, on a per socket basis. This prevents one or more fast clients from causing a low memory condition on the server. A value of zero drops all incoming traffic.

handshake_seconds

This limit creates a limited lifetime for pending connections so that connections by faulty clients can be cleared.

secure_only

Disable public endpoints, defaults to false.

query_workers

A single query worker (default) can handle a large number of requests. Enable multiple workers to to allow for concurrent query execution as deemed necessary for high scale operations.

subscription_limit

See the subscription interface. This setting has no effect if there are no query workers.

subscription_expiration_minutes

After this amount of time has passed after registering a subscription the registration may be purged unless renewed. Clients may also explicitly unsubscribe. This setting has no effect if there are no query workers.

heartbeat_interval_seconds

The heartbeat endpoint publishing interval.

block_service_enabled

Enable the block publishing service.

transaction_service_enabled

Enable the transaction publishing service.

secure_query_endpoint

Bind the secure query socket to this endpoint.

secure_heartbeat_endpoint

Bind the secure heartbeat socket to this endpoint.

secure_block_endpoint

Bind the secure block publishing socket to this endpoint.

secure_transaction_endpoint

Bind the secure transaction publishing socket to this endpoint.

public_query_endpoint

Bind the public query socket to this endpoint.

public_heartbeat_endpoint

Bind the public heartbeat socket to this endpoint.

public_block_endpoint

Bind the public block publishing socket to this endpoint.

public_transaction_endpoint

Bind the public transaction publishing socket to this endpoint.

server_private_key

See secure server setup.

client_public_key

See restricted clients setup.

client_address

See filtered clients setup.

blacklist

See filtered clients setup.

Clone this wiki locally