Autore: Eric Voskuil Data: To: libbitcoin Oggetto: [Libbitcoin] Version3 now allows concurrent secure/public endpoints
bs version3 (master) now supports concurrent secure and "public"
endpoints. Previously the server had to be started with either secure or
public endpoints. The default public endpoint ports remain 9091/2/3/4
and the default secure endpoint ports are 9081/2/3/4. Secure endpoints
are enabled by setting server.server_private_key. Public endpoints can
be disabled by setting server.secure_only. It remains possible to
disable individual endpoints (e.g. server.query_endpoints_enabled =
false). But these settings now affect both the secure and public ports.
Existing sever.client_address restrictions apply to all enabled
endpoints (secure and public). Finally, there are independent
configuration settings for each of the 8 possible endpoints (e.g.
secure_query_endpoint = tcp://*:9081). There are no necessary changes to
bx as the existing server.url configuration setting is sufficient.
Sample server config (all defaults except last 3):
[server]
# The heartbeat interval, defaults to 5.
heartbeat_interval_seconds = 5
# The subscription expiration time, defaults to 10.
subscription_expiration_minutes = 10
# The maximum number of subscriptions, defaults to 100000000.
subscription_limit = 100000000
# Write service requests to the log, defaults to false.
log_requests = true
# Disable public endpoints, defaults to false.
secure_only = false
# Enable the query endpoints, defaults to true.
query_endpoints_enabled = true
# Enable the heartbeat endpoints, defaults to true.
heartbeat_endpoints_enabled = true
# Enable the block publishing endpoints, defaults to true.
block_endpoints_enabled = true
# Enable the transaction publishing endpoints, defaults to true.
transaction_endpoints_enabled = true
# 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 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 Z85-encoded private key of the server, enables secure endpoints.
server_private_key = JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6
# Allowed Z85-encoded public key of the client, multiple entries allowed.
client_public_key = )^^(VJ98$c[i?z%>R0=0?}>M/L)Tu/{g@yyFrcED
# Allowed client IP address, multiple entries allowed.
client_address = 127.0.0.1