setup libbitcoin server #483

Closed
opened 2022-11-15 15:31:24 +00:00 by bobinson · 24 comments
bobinson commented 2022-11-15 15:31:24 +00:00 (Migrated from gitlab.com)
  • use latest stable libbitcoin
  • Bitcoin mainnet is to be used

cc: @hirunda

- use latest stable libbitcoin - Bitcoin mainnet is to be used cc: @hirunda
bobinson commented 2022-11-15 15:31:24 +00:00 (Migrated from gitlab.com)

assigned to @rilesdun and @JeanMichelMoreau

assigned to @rilesdun and @JeanMichelMoreau
bobinson commented 2022-11-15 15:32:05 +00:00 (Migrated from gitlab.com)

hi @hirunda - please any additional requirement that you have in this regard.

hi @hirunda - please any additional requirement that you have in this regard.
rilesdun commented 2022-11-17 14:14:00 +00:00 (Migrated from gitlab.com)

This is syncing but will take some time, I have tried a few different configs but here is my final:

# Libbitcoin Server configuration file

[log]
# The debug log file path, defaults to 'debug.log'.
debug_file = debug.log
# The error log file path, defaults to 'error.log'.
error_file = error.log
# The log archive directory, defaults to 'archive'.
archive_directory = archive
# The size at which a log is archived, defaults to 10000000 (0 disables).
rotation_size = 10000000
# The minimum free space required in the archive directory, defaults to 0.
minimum_free_space = 0
# The maximum combined size of archived logs, defaults to 0 (maximum).
maximum_archive_size = 0
# The maximum number of logs to archive, defaults to 0 (maximum).
maximum_archive_files = 0
# The address of the statistics collection server, defaults to none.
statistics_server = 0.0.0.0:0
# Enable verbose logging, defaults to false.
verbose = false

[network]
# The minimum number of threads in the network threadpool, defaults to 0 (physical cores).
threads = 8
#cores = 8
# 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 9 (full node, witness).
services = 9
# The advertised services that cause a peer to be dropped, defaults to 176.
invalid_services = 176
# 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 0.
inbound_connections = 0
# The target number of outgoing network connections, defaults to 2.
outbound_connections = 2
# 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 60.
channel_expiration_minutes = 60
# 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 = x.x.x.x:8333
# 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 = 104.244.73.6:8333



#seed = mainnet1.libbitcoin.net:8333
#seed = mainnet2.libbitcoin.net:8333
#seed = mainnet3.libbitcoin.net:8333
#seed = mainnet4.libbitcoin.net:8333
# Testnet seed nodes.
#seed = testnet1.libbitcoin.net:18333
#seed = testnet2.libbitcoin.net:18333
#seed = testnet3.libbitcoin.net:18333
#seed = testnet4.libbitcoin.net:18333

[database]
# The blockchain database directory, defaults to 'blockchain'.
directory = blockchain
# Flush each write to disk, defaults to false.
flush_writes = false
# Full database files increase by this percentage, defaults to 50.
file_growth_rate = 50
# Block hash table size, defaults to 650000.
block_table_buckets = 650000
# Transaction hash table size, defaults to 110000000.
transaction_table_buckets = 110000000
# Spend hash table size, defaults to 250000000.
spend_table_buckets = 250000000
# History hash table size, defaults to 107000000.
history_table_buckets = 107000000
# The maximum number of entries in the unspent outputs cache, defaults to 0.
cache_capacity = 100000

[blockchain]
# The number of cores dedicated to block validation, defaults to 0 (physical cores).
cores = 0
# Use high thread priority for block validation, defaults to true.
priority = true
# Use libconsensus for script validation if integrated, defaults to false.
use_libconsensus = false
# The maximum reorganization depth, defaults to 256 (0 for unlimited).
reorganization_limit = 256
# A hash:height checkpoint, multiple entries allowed, defaults shown.
checkpoint = 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f:0
#checkpoint = 0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d:11111
#checkpoint = 000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6:33333
#checkpoint = 00000000001e1b4903550a0b96e9a9405c8a95f387162e4944e8d9fbe501cd6a:68555
#checkpoint = 00000000006a49b14bcf27462068f1264c961f11fa2e0eddd2be0791e1d4124a:70567
#checkpoint = 0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20:74000
#checkpoint = 00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97:105000
#checkpoint = 000000000000774a7f8a7a12dc906ddb9e17e75d684f15e00f8767f9e8f36553:118000
#checkpoint = 00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe:134444
#checkpoint = 000000000000033b512028abb90e1626d8b346fd0ed598ac0a3c371138dce2bd:140700
#checkpoint = 000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763:168000
#checkpoint = 000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317:193000
#checkpoint = 000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e:210000
#checkpoint = 00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e:216116
#checkpoint = 00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932:225430
#checkpoint = 000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214:250000
#checkpoint = 0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40:279000
#checkpoint = 00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983:295000
# Testnet checkpoints.
#checkpoint = 000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943:0
#checkpoint = 00000000009e2958c15ff9290d571bf9459e93b19765c6801ddeccadbb160a1e:100000
#checkpoint = 0000000000287bffd321963ef05feab753ebe274e1d78b2fd4e2bfe9ad3aa6f2:200000
#checkpoint = 000000000000226f7618566e70a2b5e020e29579b46743f05348427239bf41a1:300000
#checkpoint = 000000000598cbbb1e79057b79eef828c495d4fc31050e6b179c57d07d00367c:400000
#checkpoint = 000000000001a7c0aaa2630fbb2c0e476aafffc60f82177375b2aaa22209f606:500000
#checkpoint = 000000000000624f06c69d3a9fe8d25e0a9030569128d63ad1b704bbb3059a16:600000

[fork]
# Allow minimum difficulty blocks, defaults to false (use true for testnet).
easy_blocks = false
# Retarget difficulty, defaults to true (use false for regtest).
retarget = true
# Add pay-to-script-hash processing, defaults to true (soft fork).
bip16 = true
# Disallow collision of unspent transaction hashes, defaults to true (soft fork).
bip30 = true
# Require coinbase input includes block height, defaults to true (soft fork).
bip34 = true
# Require strict signature encoding, defaults to true (soft fork).
bip66 = true
# Add check-locktime-verify op code, defaults to true (soft fork).
bip65 = true
# Assume bip34, bip65, and bip66 activation if enabled, defaults to true (hard fork).
bip90 = true
# Add relative locktime enforcement, defaults to true (soft fork).
bip68 = true
# Add check-sequence-verify op code, defaults to true (soft fork).
bip112 = true
# Use median time past for locktime, defaults to true (soft fork).
bip113 = true
# Segregated witness consensus layer, defaults to true (soft fork).
bip141 = true
# Version 0 transaction digest, defaults to true (soft fork).
bip143 = true
# Prevent dummy value malleability, defaults to true (soft fork).
bip147 = true

[node]
# The time to wait for a requested block, defaults to 60.
block_latency_seconds = 5
# 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

[server]
# The lower limit of address and spend indexing, defaults to 0.
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 1000 (0 disables subscribe).
subscription_limit = 1000
# The query subscription expiration time, defaults to 10 (0 disables expiration).
subscription_expiration_minutes = 10
# The heartbeat service interval, defaults to 5 (0 disables service).
heartbeat_service_seconds = 5
# Enable the block publishing service, defaults to true.
block_service_enabled = true
# Enable the transaction publishing service, defaults to true.
transaction_service_enabled = true

# 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

There is very little documentation regarding libbitcoin server, but I obtained a more optimized config here:

https://blog.lopp.net/2021-bitcoin-node-performance-tests-2/

Changing the configurations did not help much, but syncing is chugging along -

14:10:57.570400 INFO [blockchain] Block [181890]   27 txs   33 ins    0 wms    2 vms   75 vµs    9 rµs    6 cµs    9 pµs    8 aµs   43 sµs   78 dµs 0.000000
14:10:58.474786 INFO [blockchain] Block [181900]  585 txs 1137 ins    6 wms   96 vms   84 vµs    8 rµs    3 cµs   21 pµs    2 aµs   50 sµs   54 dµs 0.000000
14:11:00.130814 INFO [blockchain] Block [181910]   72 txs  124 ins   12 wms   14 vms  116 vµs    7 rµs    4 cµs    6 pµs    8 aµs   91 sµs  302 dµs 0.000000
14:11:06.874613 INFO [blockchain] Block [181920]  239 txs  334 ins    6 wms   28 vms   84 vµs   13 rµs    4 cµs   23 pµs    3 aµs   40 sµs  699 dµs 0.000000
14:11:08.131156 INFO [blockchain] Block [181930]    9 txs   13 ins    2 wms    2 vms  129 vµs   18 rµs    5 cµs   12 pµs   29 aµs   65 sµs   88 dµs 0.000000
This is syncing but will take some time, I have tried a few different configs but here is my final: ``` # Libbitcoin Server configuration file [log] # The debug log file path, defaults to 'debug.log'. debug_file = debug.log # The error log file path, defaults to 'error.log'. error_file = error.log # The log archive directory, defaults to 'archive'. archive_directory = archive # The size at which a log is archived, defaults to 10000000 (0 disables). rotation_size = 10000000 # The minimum free space required in the archive directory, defaults to 0. minimum_free_space = 0 # The maximum combined size of archived logs, defaults to 0 (maximum). maximum_archive_size = 0 # The maximum number of logs to archive, defaults to 0 (maximum). maximum_archive_files = 0 # The address of the statistics collection server, defaults to none. statistics_server = 0.0.0.0:0 # Enable verbose logging, defaults to false. verbose = false [network] # The minimum number of threads in the network threadpool, defaults to 0 (physical cores). threads = 8 #cores = 8 # 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 9 (full node, witness). services = 9 # The advertised services that cause a peer to be dropped, defaults to 176. invalid_services = 176 # 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 0. inbound_connections = 0 # The target number of outgoing network connections, defaults to 2. outbound_connections = 2 # 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 60. channel_expiration_minutes = 60 # 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 = x.x.x.x:8333 # 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 = 104.244.73.6:8333 #seed = mainnet1.libbitcoin.net:8333 #seed = mainnet2.libbitcoin.net:8333 #seed = mainnet3.libbitcoin.net:8333 #seed = mainnet4.libbitcoin.net:8333 # Testnet seed nodes. #seed = testnet1.libbitcoin.net:18333 #seed = testnet2.libbitcoin.net:18333 #seed = testnet3.libbitcoin.net:18333 #seed = testnet4.libbitcoin.net:18333 [database] # The blockchain database directory, defaults to 'blockchain'. directory = blockchain # Flush each write to disk, defaults to false. flush_writes = false # Full database files increase by this percentage, defaults to 50. file_growth_rate = 50 # Block hash table size, defaults to 650000. block_table_buckets = 650000 # Transaction hash table size, defaults to 110000000. transaction_table_buckets = 110000000 # Spend hash table size, defaults to 250000000. spend_table_buckets = 250000000 # History hash table size, defaults to 107000000. history_table_buckets = 107000000 # The maximum number of entries in the unspent outputs cache, defaults to 0. cache_capacity = 100000 [blockchain] # The number of cores dedicated to block validation, defaults to 0 (physical cores). cores = 0 # Use high thread priority for block validation, defaults to true. priority = true # Use libconsensus for script validation if integrated, defaults to false. use_libconsensus = false # The maximum reorganization depth, defaults to 256 (0 for unlimited). reorganization_limit = 256 # A hash:height checkpoint, multiple entries allowed, defaults shown. checkpoint = 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f:0 #checkpoint = 0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d:11111 #checkpoint = 000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6:33333 #checkpoint = 00000000001e1b4903550a0b96e9a9405c8a95f387162e4944e8d9fbe501cd6a:68555 #checkpoint = 00000000006a49b14bcf27462068f1264c961f11fa2e0eddd2be0791e1d4124a:70567 #checkpoint = 0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20:74000 #checkpoint = 00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97:105000 #checkpoint = 000000000000774a7f8a7a12dc906ddb9e17e75d684f15e00f8767f9e8f36553:118000 #checkpoint = 00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe:134444 #checkpoint = 000000000000033b512028abb90e1626d8b346fd0ed598ac0a3c371138dce2bd:140700 #checkpoint = 000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763:168000 #checkpoint = 000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317:193000 #checkpoint = 000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e:210000 #checkpoint = 00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e:216116 #checkpoint = 00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932:225430 #checkpoint = 000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214:250000 #checkpoint = 0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40:279000 #checkpoint = 00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983:295000 # Testnet checkpoints. #checkpoint = 000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943:0 #checkpoint = 00000000009e2958c15ff9290d571bf9459e93b19765c6801ddeccadbb160a1e:100000 #checkpoint = 0000000000287bffd321963ef05feab753ebe274e1d78b2fd4e2bfe9ad3aa6f2:200000 #checkpoint = 000000000000226f7618566e70a2b5e020e29579b46743f05348427239bf41a1:300000 #checkpoint = 000000000598cbbb1e79057b79eef828c495d4fc31050e6b179c57d07d00367c:400000 #checkpoint = 000000000001a7c0aaa2630fbb2c0e476aafffc60f82177375b2aaa22209f606:500000 #checkpoint = 000000000000624f06c69d3a9fe8d25e0a9030569128d63ad1b704bbb3059a16:600000 [fork] # Allow minimum difficulty blocks, defaults to false (use true for testnet). easy_blocks = false # Retarget difficulty, defaults to true (use false for regtest). retarget = true # Add pay-to-script-hash processing, defaults to true (soft fork). bip16 = true # Disallow collision of unspent transaction hashes, defaults to true (soft fork). bip30 = true # Require coinbase input includes block height, defaults to true (soft fork). bip34 = true # Require strict signature encoding, defaults to true (soft fork). bip66 = true # Add check-locktime-verify op code, defaults to true (soft fork). bip65 = true # Assume bip34, bip65, and bip66 activation if enabled, defaults to true (hard fork). bip90 = true # Add relative locktime enforcement, defaults to true (soft fork). bip68 = true # Add check-sequence-verify op code, defaults to true (soft fork). bip112 = true # Use median time past for locktime, defaults to true (soft fork). bip113 = true # Segregated witness consensus layer, defaults to true (soft fork). bip141 = true # Version 0 transaction digest, defaults to true (soft fork). bip143 = true # Prevent dummy value malleability, defaults to true (soft fork). bip147 = true [node] # The time to wait for a requested block, defaults to 60. block_latency_seconds = 5 # 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 [server] # The lower limit of address and spend indexing, defaults to 0. 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 1000 (0 disables subscribe). subscription_limit = 1000 # The query subscription expiration time, defaults to 10 (0 disables expiration). subscription_expiration_minutes = 10 # The heartbeat service interval, defaults to 5 (0 disables service). heartbeat_service_seconds = 5 # Enable the block publishing service, defaults to true. block_service_enabled = true # Enable the transaction publishing service, defaults to true. transaction_service_enabled = true # 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 ``` There is very little documentation regarding libbitcoin server, but I obtained a more optimized config here: https://blog.lopp.net/2021-bitcoin-node-performance-tests-2/ Changing the configurations did not help much, but syncing is chugging along - ``` 14:10:57.570400 INFO [blockchain] Block [181890] 27 txs 33 ins 0 wms 2 vms 75 vµs 9 rµs 6 cµs 9 pµs 8 aµs 43 sµs 78 dµs 0.000000 14:10:58.474786 INFO [blockchain] Block [181900] 585 txs 1137 ins 6 wms 96 vms 84 vµs 8 rµs 3 cµs 21 pµs 2 aµs 50 sµs 54 dµs 0.000000 14:11:00.130814 INFO [blockchain] Block [181910] 72 txs 124 ins 12 wms 14 vms 116 vµs 7 rµs 4 cµs 6 pµs 8 aµs 91 sµs 302 dµs 0.000000 14:11:06.874613 INFO [blockchain] Block [181920] 239 txs 334 ins 6 wms 28 vms 84 vµs 13 rµs 4 cµs 23 pµs 3 aµs 40 sµs 699 dµs 0.000000 14:11:08.131156 INFO [blockchain] Block [181930] 9 txs 13 ins 2 wms 2 vms 129 vµs 18 rµs 5 cµs 12 pµs 29 aµs 65 sµs 88 dµs 0.000000 ```
rilesdun commented 2022-11-17 14:16:54 +00:00 (Migrated from gitlab.com)

Even with dedicated machines, this is expected to take over 20 hours - With some comments I have seen taking over 5 days..

Even with dedicated machines, this is expected to take over 20 hours - With some comments I have seen taking over 5 days..
hirunda commented 2022-11-21 16:33:05 +00:00 (Migrated from gitlab.com)

Hi @bobinson , let's wait for full syncing ... @rilesdun let me know when sync is completed , after which you could share database with me , so I could finalize fallback implementation for estimating smart fees.

Thanks,
Davor

Hi @bobinson , let's wait for full syncing ... @rilesdun let me know when sync is completed , after which you could share database with me , so I could finalize fallback implementation for estimating smart fees. Thanks, Davor
rilesdun commented 2022-11-24 13:27:49 +00:00 (Migrated from gitlab.com)

Hey @hirunda and @bobinson - This is painfully slow, it is only at block

13:26:14.026581 INFO [blockchain] Block [390358]

This has been running nearly a week, I also tested this on my own server at home and its just as slow on a dedicated machine :/

Hey @hirunda and @bobinson - This is painfully slow, it is only at block `13:26:14.026581 INFO [blockchain] Block [390358]` This has been running nearly a week, I also tested this on my own server at home and its just as slow on a dedicated machine :/
rilesdun commented 2022-12-05 16:39:21 +00:00 (Migrated from gitlab.com)

Hello @hirunda and @bobinson - The libbitcoin server is still not synced, I have looked online for more optimal configurations but I have not seen anything much different from what I have configured..

For reference, this has been running for nearly 2 weeks and is only at block 420,000~

On the same server (config, disk, OS, etc) and bitcoind synced in about one and a half to two days..

Hello @hirunda and @bobinson - The libbitcoin server is still not synced, I have looked online for more optimal configurations but I have not seen anything much different from what I have configured.. For reference, this has been running for nearly 2 weeks and is only at block 420,000~ On the same server (config, disk, OS, etc) and `bitcoind` synced in about one and a half to two days..
JeanMichelMoreau commented 2022-12-15 13:14:45 +00:00 (Migrated from gitlab.com)

@hirunda - Can you comment on what's remaining?

@hirunda - Can you comment on what's remaining?
rilesdun commented 2022-12-15 15:07:13 +00:00 (Migrated from gitlab.com)

We chatted about this in core-dev chat a day or two ago - It is syncing still, but extremely slowly.

I used a new config provided by @hirunda - it speed it up for a little bit, but is now slowly chugging along.

15:02:05.430238 INFO [blockchain] Block [349002]  385 txs  824 ins   12 wms  680 vms  825 vµs   18 rµs    3 cµs  736 pµs   20 aµs   47 sµs 3579 dµs 0.000000
15:02:08.331474 INFO [blockchain] Block [349003]  310 txs  754 ins    9 wms  831 vms 1101 vµs   11 rµs    3 cµs 1031 pµs    5 aµs   51 sµs 2723 dµs 0.000000
15:02:08.349018 INFO [blockchain] Block [349004]    1 txs    1 ins    7 wms    0 vms  276 vµs   47 rµs   37 cµs   48 pµs  126 aµs   16 sµs 3981 dµs 0.000000
15:02:13.193403 INFO [blockchain] Block [349005]  317 txs  887 ins    6 wms 1076 vms 1214 vµs    8 rµs    3 cµs 1106 pµs    4 aµs   92 sµs 4239 dµs 0.000000
15:02:15.841831 INFO [blockchain] Block [349006]  312 txs  766 ins    5 wms  556 vms  726 vµs   16 rµs    3 cµs  653 pµs    3 aµs   52 sµs 2715 dµs 0.000000

349K blocks out of 767K blocks - I am not sure what else I can do here as libbitcoin has minimal documentation/user experiences online. This has been running for nearly 3 days now, but bitcoind has synced in just two or three days at most

We chatted about this in core-dev chat a day or two ago - It is syncing still, but extremely slowly. I used a new config provided by @hirunda - it speed it up for a little bit, but is now slowly chugging along. ``` 15:02:05.430238 INFO [blockchain] Block [349002] 385 txs 824 ins 12 wms 680 vms 825 vµs 18 rµs 3 cµs 736 pµs 20 aµs 47 sµs 3579 dµs 0.000000 15:02:08.331474 INFO [blockchain] Block [349003] 310 txs 754 ins 9 wms 831 vms 1101 vµs 11 rµs 3 cµs 1031 pµs 5 aµs 51 sµs 2723 dµs 0.000000 15:02:08.349018 INFO [blockchain] Block [349004] 1 txs 1 ins 7 wms 0 vms 276 vµs 47 rµs 37 cµs 48 pµs 126 aµs 16 sµs 3981 dµs 0.000000 15:02:13.193403 INFO [blockchain] Block [349005] 317 txs 887 ins 6 wms 1076 vms 1214 vµs 8 rµs 3 cµs 1106 pµs 4 aµs 92 sµs 4239 dµs 0.000000 15:02:15.841831 INFO [blockchain] Block [349006] 312 txs 766 ins 5 wms 556 vms 726 vµs 16 rµs 3 cµs 653 pµs 3 aµs 52 sµs 2715 dµs 0.000000 ``` 349K blocks out of 767K blocks - I am not sure what else I can do here as libbitcoin has minimal documentation/user experiences online. This has been running for nearly 3 days now, but `bitcoind` has synced in just two or three days at most
hirunda commented 2022-12-15 18:56:26 +00:00 (Migrated from gitlab.com)

I started on my side bitcoind on which I connected libbitcoin server. Now it goes faster. I am expecting sync to be done soon. After we finish the libbitcoin server sync , we will deliver the libbitcoin database to SON users, so they can easily sync with stand alone libbitcoin server for the remaining blocks. I will keep you updated about the progress ...

I started on my side bitcoind on which I connected libbitcoin server. Now it goes faster. I am expecting sync to be done soon. After we finish the libbitcoin server sync , we will deliver the libbitcoin database to SON users, so they can easily sync with stand alone libbitcoin server for the remaining blocks. I will keep you updated about the progress ...
hirunda commented 2022-12-15 18:56:45 +00:00 (Migrated from gitlab.com)

assigned to @hirunda

assigned to @hirunda
JeanMichelMoreau commented 2022-12-15 20:02:45 +00:00 (Migrated from gitlab.com)
  • What else needs to happen for this to be considered done?
- What else needs to happen for this to be considered done?
hirunda commented 2022-12-20 00:01:01 +00:00 (Migrated from gitlab.com)

Just to finish sync ... Once it's finished this could be considered as done.
I am expecting end of this week.I am around 600 000 blocks already synced.

Just to finish sync ... Once it's finished this could be considered as done. I am expecting end of this week.I am around 600 000 blocks already synced.
hirunda commented 2022-12-20 00:07:15 +00:00 (Migrated from gitlab.com)

mentioned in issue #456

mentioned in issue #456
bobinson commented 2022-12-22 07:18:26 +00:00 (Migrated from gitlab.com)

mentioned in issue #498

mentioned in issue #498
hirunda commented 2023-01-16 12:39:06 +00:00 (Migrated from gitlab.com)

Hi @rilesdun , I have synced the libbitcoin server. I also uploaded the database on bunker server.
@robert.hedler should provide common/accessible location for us so we can experiment with the database I uploaded. The issue which I encountered is stopping the server with CTRL + C. Sometimes it goes in dead loop. I found that on my machine never happens if I add manual channels or if I set outband channel to be 1.

Hi @rilesdun , I have synced the libbitcoin server. I also uploaded the database on bunker server. @robert.hedler should provide common/accessible location for us so we can experiment with the database I uploaded. The issue which I encountered is stopping the server with CTRL + C. Sometimes it goes in dead loop. I found that on my machine never happens if I add manual channels or if I set outband channel to be 1.
hirunda commented 2023-01-16 12:40:48 +00:00 (Migrated from gitlab.com)

@robert.hedler Could you please find the way to copy the database from the location I have shared with you ?

@robert.hedler Could you please find the way to copy the database from the location I have shared with you ?
hirunda commented 2023-01-16 12:41:11 +00:00 (Migrated from gitlab.com)

assigned to @robert.hedler

assigned to @robert.hedler
bobinson commented 2023-02-01 17:41:57 +00:00 (Migrated from gitlab.com)

Hi @robert.hedler - Can you share the procedure to access the Bitcoin database ?

cc @JeanMichelMoreau & @hirunda

Hi @robert.hedler - Can you share the procedure to access the Bitcoin database ? cc @JeanMichelMoreau & @hirunda
robert.hedler commented 2023-02-08 12:04:20 +00:00 (Migrated from gitlab.com)

Sorry about the delay. I was trying to reproduce and test if everything will work.
It is very slow to copy the database, i am checking if i can use third service to copy it, without scp or rsync to make it faster.

Sorry about the delay. I was trying to reproduce and test if everything will work. It is very slow to copy the database, i am checking if i can use third service to copy it, without scp or rsync to make it faster.
robert.hedler commented 2023-02-09 20:09:52 +00:00 (Migrated from gitlab.com)

Access to database can be done in the following server

IP: 96.46.48.37 or 192.168.20.37

User and passwill be sent in RC group.

Access to database can be done in the following server IP: 96.46.48.37 or 192.168.20.37 User and passwill be sent in RC group.
rilesdun commented 2023-04-27 19:13:43 +00:00 (Migrated from gitlab.com)

marked this issue as related to #525

marked this issue as related to #525
rilesdun commented 2023-04-27 19:13:51 +00:00 (Migrated from gitlab.com)

main issue is being tracked here - https://gitlab.com/PBSA/peerplays/-/issues/525

main issue is being tracked here - https://gitlab.com/PBSA/peerplays/-/issues/525
rilesdun (Migrated from gitlab.com) closed this issue 2023-04-27 19:13:52 +00:00
bobinson commented 2024-03-15 14:09:43 +00:00 (Migrated from gitlab.com)

unassigned @JeanMichelMoreau

unassigned @JeanMichelMoreau
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Peerplays_Blockchain/peerplays_migrated#483
No description provided.