-
Notifications
You must be signed in to change notification settings - Fork 66
Operational Configuration
Default configuration is generally optimal for operational use with the exception of values that cannot be optimally defaulted due to lack of contextual information. The following settings are recommended and otherwise defaults are sufficient. See also initial configuration and additional information below.
[log]
# debug_file = debug.log
# error_file = error.log
# archive_directory = archive
rotation_size = 10000000
[network]
inbound_connections = 8
outbound_connections = 8
channel_expiration_minutes = 1440
# self = 0.0.0.0:0
[database]
# directory = blockchain
flush_writes = false
# cache_capacity = 10000
[blockchain]
cores = 32
[node]
block_poll_seconds = 60
relay_transactions = true
[server]
query_workers = 1
subscription_limit = 1000
heartbeat_interval_seconds = 5
block_service_enabled = true
transaction_service_enabled = true
These settings simply restore the defaults after Initial Configuration.
The database should be stored on an SSD for optimal performance. Having flush_writes
enabled significantly slows block download. For machines with less than 128 GB RAM a nonzero cache_capacity
can improve performance. For an 8 GB machine about 10000 is recommended.
The number of cores should generally be left at the default of zero. However performance can be negatively impacted with more than 32 cores, as the cost of distributing the work starts to exceed the benefit. Setting a checkpoint will cause the most costly aspects of block validation to be bypassed until that checkpoint is reached.
Setting block_poll_seconds = 1
for the small/early blocks prevents unnecessary delays between block polling. Otherwise there will be notable pauses every 2000 headers (or 500 blocks). As the blocks get larger this should be increased to 5 seconds at around block 200,000, 10 seconds at 300,000 and 15 seconds at 400,000. These are just approximations but with a low value you can get a lot of redundant blocks. Transaction relay should be disabled until the node is synchronized.
These settings disabled the server endpoints. This reduces unnecessary endpoint services and and transaction parsing.
Users | Developers | License | Copyright © 2011-2024 libbitcoin developers
- Home
- Build Server
- Download Server
- Frequently Asked Questions
- General Information
- Client Server Interface
- Configuration Settings
- Tutorials