Bitcoin full node and query server

Dec 5, 2025

View in context in the libbitcoin Slack #general mirror.

evoskuil02:28
I added block/fees and tx/fee, renamed transaction to tx, added address/unconfirmed, /confirmed, and /balance, and renamed /inputs and /outputs to /input and /output. That gives us something line this:
 /v1/block/hash/[bkhash] {1}
 /v1/block/height/[height] {1}

 /v1/block/hash/[bkhash]/header {1}
 /v1/block/height/[height]/header {1}

 /v1/block/hash/[bkhash]/fees {1}
 /v1/block/height/[height]/fees {1}

 /v1/block/hash/[bkhash]/filter/[type] {1}
 /v1/block/height/[height]/filter/[type] {1}

 /v1/block/hash/[bkhash]/filter/[type]/hash {1}
 /v1/block/height/[height]/filter/[type]/hash {1}

 /v1/block/hash/[bkhash]/filter/[type]/header {1}
 /v1/block/height/[height]/filter/[type]/header {1}

 /v1/block/hash/[bkhash]/txs {all txs in the block}
 /v1/block/height/[height]/txs {all txs in the block}

 /v1/block/hash/[bkhash]/tx/[position] {1}
 /v1/block/height/[height]/tx/[position] {1}

 -----------------------------------------------------------------------
 /v1/tx/[txhash] {1}
 /v1/tx/[txhash]/block {1 - if confirmed}
 /v1/tx/[txhash]/fee {1}
 -----------------------------------------------------------------------
 /v1/input/[txhash] {all inputs in the tx}
 /v1/input/[txhash]/[index] {1}
 /v1/input/[txhash]/[index]/script {1}
 /v1/input/[txhash]/[index]/witness {1}
 -----------------------------------------------------------------------
 /v1/output/[txhash] {all outputs in the tx}
 /v1/output/[txhash]/[index] {1}
 /v1/output/[txhash]/[index]/script {1}
 /v1/output/[txhash]/[index]/spender {1 - if confirmed}
 /v1/output/[txhash]/[index]/spenders {all}
 -----------------------------------------------------------------------
 /v1/address/[output-script-hash] {all}
 /v1/address/[output-script-hash]/unconfirmed {all unconfirmed}
 /v1/address/[output-script-hash]/confirmed {all unconfirmed}
 /v1/address/[output-script-hash]/balance {all confirmed}
5 replies · neillm, evoskuil · last Dec 05, 2025
neillm18:45
This is amazing 😮 Just had a chance to play with some of it. What's the best way to reduce logging of the explore queries (i.e. channel start, request, response, channel stop, etc)?
neillm18:46
Unrelated, but I'm seeing a ton of lines like this (from all different IPs): 2025-12-05T18:46:15Z.5 Header [0000000000000000000178231b20e267f3e51399b0325f0e8b5f2abdec561c07:925565] from [45.23.183.89:8333] block unconfirmable
neillm18:48
For the last one, it's possible I need to re-sync. I had been pulling and rebuilding the code and just restarting the server, so not sure of the exact state there
evoskuil19:21
If you are rebuilding from different points in the codebase you need to resync. The line you are seeing implies the header is invalid, and the fact that you are seeing it from many peers implies it is valid, so it's just cycling rejection of that block. But I can't say what's happening given the state of your code/node. There is fine-grained control over logging levels at (1) compile, (2) config, and (3) console. You can set default initial log enable/disable in the config file, and you can vary that at the console dynamically.
[log]
application = true
news = true
session = true
protocol = false
quitting = false
proxy = false
remote = true
fault = true
verbose = false
#objects = false # debug builds only
To set at the console hit m <enter> for menu options (with node running).
🙏 1
evoskuil19:37
The service endpoints currently have their additional logging at the application log level.