Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consequtive sync is not working #94

Closed
rajarshimaitra opened this issue Sep 25, 2022 · 12 comments
Closed

Consequtive sync is not working #94

rajarshimaitra opened this issue Sep 25, 2022 · 12 comments

Comments

@rajarshimaitra
Copy link
Contributor

rajarshimaitra commented Sep 25, 2022

Problem

Consequitve syncing of 100 blocks in regtest isn't working. When we create a sequence of blocks from height 0:102 and sync the client, it works as expected. Then create another new 100 blocks in regtest, height 102:202, and sync the client, the sync halts at an intermediate height.

Test Code

            fn test_sequential_sync() {
                // Initiate everything
                let (wallet, nakamoto, descriptors, mut bitcoind) = init_single_sig();
                println!("Tip Height : {}", bitcoind.get_height());

                // Start the first sync
                println!("Sync 1");
                wallet.sync(&nakamoto, SyncOptions::default()).unwrap();

                // Create another 100 blocks
                bitcoind.generate(100, None);
                println!("Tip Height : {}", bitcoind.get_height());
                
               // Sync again
                println!("Sync 2");
                wallet.sync(&nakamoto, SyncOptions::default()).unwrap();
            }

Extra logging

To debug internally I set an extra log println!("Asking filters : {} : {}", range.start(), range.end()); at

match self.get_cfilters(range, tree) {

Output

Tip Height : 102
Sync 1
Asking filters : 0 : 102
Sync complete at : 102
Tip Height : 202
Sync 2
Asking filters : 0 : 199

The sync is paused at this stage because the client asked till 199, while the tip at core node is at 202.

Observations

This ask height for Sync 2 is also sporadically changing on different runs. Same code with the next run is giving different number.

Tip Height : 102
Sync 1
Asking filters : 0 : 102
Sync complete at : 102
Tip Height : 202
Sync 2
Asking filters : 0 : 200

Now its halted after asking till height 200.
So for some reason the client is confused on whats the tip height till which it needs to ask filters for.

@cloudhead
Copy link
Owner

It might help to look at the logs emitted by nakamoto.

Does bitcoind send a headers or inv message to nakamoto?

@rajarshimaitra
Copy link
Contributor Author

I tried with nakamoto_p2p=debug and this is what I got

RUST_LOG="nakamoto_p2p=debug" cargo test --features test-cbf -- test_sequential_sync --nocapture

running 1 test
[2022-09-26T15:29:17Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 102 headers
Tip Height : 102
Sync 1
Asking filters : 0 : 102
Sync complete at : 102
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 2 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 2 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 3 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 2 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 2 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
[2022-09-26T15:29:18Z DEBUG nakamoto_p2p::protocol::syncmgr] 127.0.0.1:33709: Received 1 headers
Tip Height : 202
Sync 2
Asking filters : 0 : 197
[2022-09-26T15:29:18Z INFO  nakamoto_p2p::protocol] tip = 3abc2ba6382d21a9727e9728f54cf648f3a11c9981197f78f7ff353fa95b1d3d, headers = 202/202 (100.0%), cfheaders = 197/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-09-26T15:29:18Z INFO  nakamoto_p2p::protocol] rescan current = 198, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-09-26T15:29:18Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0

It seems its getting all the headers but not all the cfheaders.

@cloudhead
Copy link
Owner

cloudhead commented Sep 26, 2022

Yeah indeed, so it has scanned up to and including block 197, but it can't proceed further because it's missing cfheaders 198-202. The question is why has it not received them and/or were they correctly requested.

I'd suggest running with RUST_LOG=debug, without the target module filter, as the target is not used to filter modules at the moment.

@cloudhead
Copy link
Owner

cloudhead commented Sep 26, 2022

Looking at this code:

// Check if any header request expired. If so, retry with a different peer and disconnect
// the unresponsive peer.
for (stop_hash, (start_height, addr, expiry)) in &mut self.inflight {
if now >= *expiry {
let (start_height, stop_hash) = (*start_height, *stop_hash);
if let Some((peer, _)) = self.peers.sample_with(|p, _| p != addr) {
let peer = *peer;
self.peers.remove(addr);
self.upstream
.disconnect(*addr, DisconnectReason::PeerTimeout("getcfheaders"));
self.upstream
.get_cfheaders(peer, start_height, stop_hash, timeout);
*addr = peer;
*expiry = now + timeout;
}
}
}

We only retry the cfheaders request if we're able to find another peer to retry. In this case, since we're only connected to one node, if that node never responds, we never retry. That could be the reason, although it would be strange for bitcoind to not respond in this situation, so it would be good to have more detailed logs with just debug, to see if it reveals anything more, or to see if bitcoind is actually sending over a cfheaders msg.

@cloudhead
Copy link
Owner

You can try this #96 - if the issue is fixable by a retry, this should do it at least.

@rajarshimaitra
Copy link
Contributor Author

I tried with #96 but it din't work. Same situation.. Here's the bitcoind debug log for the run https://pastebin.com/U1yN7teu. Its hard to tell from the log which headers were sent and which weren't. To me it seems bitcoind is responding to all getcfheaders and getcfliters requests as they arrived. So maybe nakamoto didn't asked for the last few headers?

The problem is also occurring if the 2nd sync bunch is anything more than 1 block.. For 1 block sync it works..

@metaclips
Copy link
Contributor

Never experienced this running Nakamoto 🤔@rajarshimaitra can you share the current code so I can run locally

rajarshimaitra added a commit to rajarshimaitra/bdk that referenced this issue Oct 2, 2022
Includes various adhoc updates to tests and nakamoto module for WIP
testing issue.

This commit at stage of issue reported in : cloudhead/nakamoto#94
@rajarshimaitra
Copy link
Contributor Author

My code is the one I shared in the description #94 (comment)

Where
bitcoind : Is an regtest instant that is listening to network connection at p2p regtest port.
nakamoto : is a nakamoto client that has only one peer that is the above regtest node.
wallet: Is just a list of addresses that imports them in the nakamoto client and tries to fetch related transactions.

The test operations are

  • Make 102 blocks.. Send one funding transaction from the node to the wallet address, and sync the wallet.. At this stage sync completes and the wallet can trace the transaction and display correct balance.

  • Create another 100 blocks, no wallet related transaction, sync the wallet again. At this stage sync halts and the client keeps waiting for remaining cfilters..

If you can reproduce this action in your own testing codes or however you used nakamoto before I would like to try them out too..

The above test code is included in the commit here https://github.com/bitcoindevkit/bdk/blob/d6d0320dd969cb644d0e5753b5b321fb6039ebe7/src/testutils/blockchain_tests.rs#L972-L988

Under this WIP PR in bdk bitcoindevkit/bdk#751 (checkout the PR tip)

And it is playable with the command cargo test --features test-cbf -- test_sequential_sync --nocapture after checking out that commit..

@metaclips
Copy link
Contributor

running 1 test
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Initializing client (Regtest)..
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Genesis block hash is 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Initializing new block store "/var/folders/l3/mp1c9mrd06ngblwbdc85xcgc0000gn/T/c2nuu/.nakamoto/regtest/headers.db"
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Initializing block filters..
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Initializing new filter header store "/var/folders/l3/mp1c9mrd06ngblwbdc85xcgc0000gn/T/c2nuu/.nakamoto/regtest/filters.db"
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Verifying filter headers..
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Loading peer addresses..
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Initializing new peer address cache "/var/folders/l3/mp1c9mrd06ngblwbdc85xcgc0000gn/T/c2nuu/.nakamoto/regtest/peers.json"
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] Address book is empty. Trying DNS seeds..
[2022-10-02T18:51:18Z INFO  nakamoto_client::client] 0 seeds added to address book
[2022-10-02T18:51:18Z INFO  nakamoto_net_poll::reactor] Initializing protocol..
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 0, tip = 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] [conn] 127.0.0.1:65325: Connecting..
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] [peer] 127.0.0.1:65325: Peer connected (Outbound)
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] [peer] 127.0.0.1:65325: Peer version = 70016, height = 102, agent = /Satoshi:22.0.0/, services = ServiceFlags(NETWORK|WITNESS|COMPACT_FILTERS|NETWORK_LIMITED), timestamp = 1664736678
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] [peer] 127.0.0.1:65325: Peer negotiated with services ServiceFlags(NETWORK|WITNESS|COMPACT_FILTERS|NETWORK_LIMITED) and height 102..
Tip Height : 102
Sync 1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 102, tip = 6421d8b4fec60c05a5a1268191b7797ab6f3c49312df71681155aad7cd7c12a0
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 102, tip = 6421d8b4fec60c05a5a1268191b7797ab6f3c49312df71681155aad7cd7c12a0
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 102
[2022-10-02T18:51:18Z INFO  bdk::wallet] Derivation of 100 addresses from 0 took 41 ms
[2022-10-02T18:51:18Z INFO  bdk::wallet] Derivation of 100 addresses from 0 took 25 ms
Sync complete at : 102
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 103, tip = 10b1b061547b77e80a4d103fd0732e29bdba5896c55f5d293003194ebcca4c52
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 103, tip = 10b1b061547b77e80a4d103fd0732e29bdba5896c55f5d293003194ebcca4c52
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 104, tip = 0b33ae82c97661ceb90631cc18ccf6db2e6823d22eff07863146139eab5ab796
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 104, tip = 0b33ae82c97661ceb90631cc18ccf6db2e6823d22eff07863146139eab5ab796
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 105, tip = 63573b541b398755ece443cac5ca8b369e443fb34edd3743ba39cbe08466b8d3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 105, tip = 63573b541b398755ece443cac5ca8b369e443fb34edd3743ba39cbe08466b8d3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 103
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 106, tip = 25ffc229e5ab1312692baba6d721e3c3ad8c97a0e5ac8e45789f7ea0d59dded3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 106, tip = 25ffc229e5ab1312692baba6d721e3c3ad8c97a0e5ac8e45789f7ea0d59dded3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 109, tip = 11d55d121b5293b48ef0745389fb9ec801d6f0431be58015998b933184fe5888
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 109, tip = 11d55d121b5293b48ef0745389fb9ec801d6f0431be58015998b933184fe5888
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 106
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 110, tip = 39e4d230ae1f2b5fce13c6ecf2eb77ad7a53df3f6b22d72ef2423148b417d369
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 110, tip = 39e4d230ae1f2b5fce13c6ecf2eb77ad7a53df3f6b22d72ef2423148b417d369
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 111, tip = 04427f2135eae60fcd45830744059d4e4eb5c141cbdbc9febcf74ed16e7846c1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 111, tip = 04427f2135eae60fcd45830744059d4e4eb5c141cbdbc9febcf74ed16e7846c1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 112, tip = 67d9f2757672fa75dcb6019a5e6e7ac7e99dda560d2d686934d1d11dbaedcc34
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 112, tip = 67d9f2757672fa75dcb6019a5e6e7ac7e99dda560d2d686934d1d11dbaedcc34
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 113, tip = 4c8097190fbf70dd225a9f7a84053463ba8620b6b36473d1c0334330b562a659
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 113, tip = 4c8097190fbf70dd225a9f7a84053463ba8620b6b36473d1c0334330b562a659
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 114, tip = 183bf186fb9149c3962ebf0efae3a2468f661fb7d6a240b29b2f195ea624810c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 114, tip = 183bf186fb9149c3962ebf0efae3a2468f661fb7d6a240b29b2f195ea624810c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 110
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 115, tip = 5e6d9fca53dc6a5fe26e09339cceb78ff3d15cd6c8df80834ac99d441dae6b5c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 115, tip = 5e6d9fca53dc6a5fe26e09339cceb78ff3d15cd6c8df80834ac99d441dae6b5c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 116, tip = 56a98c350ddfc32dc103e4fda1ef35f00c58ca39e0dddbcee047625a5ceb4549
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 116, tip = 56a98c350ddfc32dc103e4fda1ef35f00c58ca39e0dddbcee047625a5ceb4549
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 118, tip = 176f0d1f0373c674eaf15cd855dc080cdc34822eb1d213e5c1a8ffd9edcc1748
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 118, tip = 176f0d1f0373c674eaf15cd855dc080cdc34822eb1d213e5c1a8ffd9edcc1748
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 119, tip = 253ffb64143db8d299e86a4a69a79c9bd12b1f339127e3aaecf8f78ea3c00458
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 119, tip = 253ffb64143db8d299e86a4a69a79c9bd12b1f339127e3aaecf8f78ea3c00458
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 120, tip = 7a7079e58363589f000bcd6770d5c49076e99df0e00cdb564b490f2c2591c9a7
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 120, tip = 7a7079e58363589f000bcd6770d5c49076e99df0e00cdb564b490f2c2591c9a7
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 121, tip = 5b806292e1923a65ceee171c7e94ec91edd2f53f970dda98dade3836755ff466
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 121, tip = 5b806292e1923a65ceee171c7e94ec91edd2f53f970dda98dade3836755ff466
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 122, tip = 7d55248ac366cd2959c0f9191566611fe4cbbec9e06ff8cbfa351dc3b86b17e0
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 122, tip = 7d55248ac366cd2959c0f9191566611fe4cbbec9e06ff8cbfa351dc3b86b17e0
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 115
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 123, tip = 71968bb662068909316f05229ca3a1ad4e1ba43f2be8b71e0d09543b6308096f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 123, tip = 71968bb662068909316f05229ca3a1ad4e1ba43f2be8b71e0d09543b6308096f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 125, tip = 7f94ace5946175513761accf9ec9d575f58971ca2791db84f960da894c149023
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 125, tip = 7f94ace5946175513761accf9ec9d575f58971ca2791db84f960da894c149023
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 126, tip = 773b8b2d21761dd831b09fb13cff1c213a2882444385b565587fca24f86f149b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 126, tip = 773b8b2d21761dd831b09fb13cff1c213a2882444385b565587fca24f86f149b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 128, tip = 4d5a3a35f7ed3124f68c899ee195308eabe05b509758804cb72973799278a8b4
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 128, tip = 4d5a3a35f7ed3124f68c899ee195308eabe05b509758804cb72973799278a8b4
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 130, tip = 281404facfb8c16ea2163a3f140fcbb117cd51325fad3dc5b9bcea7852c1244d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 130, tip = 281404facfb8c16ea2163a3f140fcbb117cd51325fad3dc5b9bcea7852c1244d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 131, tip = 0aafba561281fc5662954523a48fbc35a267592eb9f1a0e1a8ff4a7ad3e12bce
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 131, tip = 0aafba561281fc5662954523a48fbc35a267592eb9f1a0e1a8ff4a7ad3e12bce
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 123
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 132, tip = 553822a615806e8941f998438bac54e83e1098d00595ab7701a2ea3ef1250ee2
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 132, tip = 553822a615806e8941f998438bac54e83e1098d00595ab7701a2ea3ef1250ee2
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 133, tip = 0cb87b871a701d6e010476eca240e74bb4f92981026d41e5be6c023efd50d81b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 133, tip = 0cb87b871a701d6e010476eca240e74bb4f92981026d41e5be6c023efd50d81b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 134, tip = 3a79163232f8211608b1dff44fc7858850bf4724f6531d9b2095345e51458145
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 134, tip = 3a79163232f8211608b1dff44fc7858850bf4724f6531d9b2095345e51458145
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 135, tip = 2e939d3bb214259193c1e5dd84154efab55e3abf0f58872eb5dbe9786d27f6c1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 135, tip = 2e939d3bb214259193c1e5dd84154efab55e3abf0f58872eb5dbe9786d27f6c1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 136, tip = 2995a68866b291da1bc6fe71539ffe329a7e4d4efe103849cc82f4fedf972019
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 136, tip = 2995a68866b291da1bc6fe71539ffe329a7e4d4efe103849cc82f4fedf972019
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 137, tip = 7770060a99d29eeaac4cf2d73827e23627ae4e4f6d20ded619785e9b206c0c5d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 137, tip = 7770060a99d29eeaac4cf2d73827e23627ae4e4f6d20ded619785e9b206c0c5d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 138, tip = 1497e2074ccc8c1a56cfcb8a6e78ed8e6a80a8a446682fcc85f5bc4896b460a9
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 138, tip = 1497e2074ccc8c1a56cfcb8a6e78ed8e6a80a8a446682fcc85f5bc4896b460a9
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 139, tip = 32d34aa150b190c7880e1202627c330cf476efc25053ef1b7d43243c24b46d1d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 139, tip = 32d34aa150b190c7880e1202627c330cf476efc25053ef1b7d43243c24b46d1d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 140, tip = 57ee7ff6aca891ade929f3cde5fd1092885e0de1a2b0e2a0c0773943fad1e73a
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 140, tip = 57ee7ff6aca891ade929f3cde5fd1092885e0de1a2b0e2a0c0773943fad1e73a
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 141, tip = 3be6bb2f68a58f824be6f6d25c16c514f3230bcec049f3716ea537cb0ac33653
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 141, tip = 3be6bb2f68a58f824be6f6d25c16c514f3230bcec049f3716ea537cb0ac33653
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 142, tip = 730b19ee9d12476ce3c427c87504316ed916c6a3ff871b9274820de9702cc23f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 142, tip = 730b19ee9d12476ce3c427c87504316ed916c6a3ff871b9274820de9702cc23f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 143, tip = 4c165d299e29c5eb61ee4aea392014b20b929d7c9721f425883cec9ec1b237a0
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 143, tip = 4c165d299e29c5eb61ee4aea392014b20b929d7c9721f425883cec9ec1b237a0
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 145, tip = 1f5cdd9b26a11350f148dd008cdc0f528126106b073d2b09744931617b00f482
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 145, tip = 1f5cdd9b26a11350f148dd008cdc0f528126106b073d2b09744931617b00f482
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 146, tip = 4ba554a1d6819ce717868a98e1433a023747758a174a280adea133023cee0a10
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 146, tip = 4ba554a1d6819ce717868a98e1433a023747758a174a280adea133023cee0a10
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 147, tip = 501dfb6ec02a14ae7c057e3833e661ae3ddedc8c20da7901662811396032f98e
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 147, tip = 501dfb6ec02a14ae7c057e3833e661ae3ddedc8c20da7901662811396032f98e
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 132
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 148, tip = 79943518302a7eb15865eb2a862fac033f512e9c82e6548b14df69809e72ef69
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 148, tip = 79943518302a7eb15865eb2a862fac033f512e9c82e6548b14df69809e72ef69
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 149, tip = 3d55ffd5416d910b98c85122d681bc018b4342c94baf6c47fd4f2d6c962141ba
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 149, tip = 3d55ffd5416d910b98c85122d681bc018b4342c94baf6c47fd4f2d6c962141ba
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 150, tip = 4448dd883e847bd3046a9e72daeb857a0b271359c97388773a92d87959db3796
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 150, tip = 4448dd883e847bd3046a9e72daeb857a0b271359c97388773a92d87959db3796
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 151, tip = 65d09b3422765301b550f885493d0984701a76077ec146eaef94364978e0e44e
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 151, tip = 65d09b3422765301b550f885493d0984701a76077ec146eaef94364978e0e44e
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 152, tip = 2ec57f1e24e96b469c952201ce5b0c554c31b391a674fb798799fe48e9c799f1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 152, tip = 2ec57f1e24e96b469c952201ce5b0c554c31b391a674fb798799fe48e9c799f1
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 153, tip = 66037638df92be2f0e82e01266c55e01b8b3f3e87d23257cf24a65d2c424f819
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 153, tip = 66037638df92be2f0e82e01266c55e01b8b3f3e87d23257cf24a65d2c424f819
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 154, tip = 7513721246e1a1849cfae3ba31d3abb9a93275e4a47255bf7935947e971960a2
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 154, tip = 7513721246e1a1849cfae3ba31d3abb9a93275e4a47255bf7935947e971960a2
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 155, tip = 10a9589a52a85e4e8844853d31d481204b4988b118d3ff1b808d76c5ea3b70c7
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 155, tip = 10a9589a52a85e4e8844853d31d481204b4988b118d3ff1b808d76c5ea3b70c7
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 156, tip = 4ccdf976dce5f997e24e97f33aeb653fcf937008a51ec49baa5c7077ed60c96f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 156, tip = 4ccdf976dce5f997e24e97f33aeb653fcf937008a51ec49baa5c7077ed60c96f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 157, tip = 01213a78c4120d21d96b5209c36bf46442ef391ecb698af023f9fc91cfa50eb4
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 157, tip = 01213a78c4120d21d96b5209c36bf46442ef391ecb698af023f9fc91cfa50eb4
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 158, tip = 184f0b1e565e9737f423e696f26d62ac204fb3ffc765f58c94e8fc1e0a1d74d3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 158, tip = 184f0b1e565e9737f423e696f26d62ac204fb3ffc765f58c94e8fc1e0a1d74d3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 159, tip = 4ad590f8eafc9f2b3103683b774ec91210751c5503463a7c5e0e0a824aaed841
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 159, tip = 4ad590f8eafc9f2b3103683b774ec91210751c5503463a7c5e0e0a824aaed841
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 160, tip = 53b6a707bd55da1531dffe84a8b0547901b8bfa35f268f5a85434f53c88fa320
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 160, tip = 53b6a707bd55da1531dffe84a8b0547901b8bfa35f268f5a85434f53c88fa320
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 161, tip = 2981ebedcec4f8221482d1a52117130dab7a18844983ac2121fc99663d102240
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 161, tip = 2981ebedcec4f8221482d1a52117130dab7a18844983ac2121fc99663d102240
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 162, tip = 12ab3293793d5b48c130cc584fce893e6a4b204312f50a9a0fba84a808a6307a
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 162, tip = 12ab3293793d5b48c130cc584fce893e6a4b204312f50a9a0fba84a808a6307a
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 164, tip = 0a6f6033f0be0f9c66a01645cd9a7980ae284d8f69326bbb7899a57f5c338267
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 164, tip = 0a6f6033f0be0f9c66a01645cd9a7980ae284d8f69326bbb7899a57f5c338267
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 165, tip = 4d20f92bb22c17151ee9389ce9e82534d380f7905c5810604e31d3d3eaa8df97
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 165, tip = 4d20f92bb22c17151ee9389ce9e82534d380f7905c5810604e31d3d3eaa8df97
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 166, tip = 1fd0559d29f5a5d46d62123e6febc51d20410c2e084ad0436ba2b8338bbc0c01
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 166, tip = 1fd0559d29f5a5d46d62123e6febc51d20410c2e084ad0436ba2b8338bbc0c01
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 167, tip = 5d84bc0656db4ad44a996ccd5739872499583fe1ebacca6b0ac6711336101dd3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 167, tip = 5d84bc0656db4ad44a996ccd5739872499583fe1ebacca6b0ac6711336101dd3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 148
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 168, tip = 3da0d65497e207ef4e6b3f358efe76ff277c24e0d5310c9fa0bc4359d13c8cc8
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 168, tip = 3da0d65497e207ef4e6b3f358efe76ff277c24e0d5310c9fa0bc4359d13c8cc8
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 169, tip = 11aae5f4b1d38b2e2dc1ba0aa80523b92551d82bc41e173cacbe27039e926aaa
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 169, tip = 11aae5f4b1d38b2e2dc1ba0aa80523b92551d82bc41e173cacbe27039e926aaa
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 170, tip = 76cd44a95655803c6a20dc36877b6b6e803fb8ef27b153163bd26527b988ce6c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 170, tip = 76cd44a95655803c6a20dc36877b6b6e803fb8ef27b153163bd26527b988ce6c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 171, tip = 3abed4a1f15cfc1cab48fc1caaeb62afaa6bd82cbea1972fade319eb192d883c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 171, tip = 3abed4a1f15cfc1cab48fc1caaeb62afaa6bd82cbea1972fade319eb192d883c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 172, tip = 3ec2bc9e6e4f255805ebaec0dfd4e3ea671604243ccd107d290dcfa034575f12
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 172, tip = 3ec2bc9e6e4f255805ebaec0dfd4e3ea671604243ccd107d290dcfa034575f12
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 173, tip = 137fa8e2d05ce1f731a202dd7d4f0e95ab64cae6358df5e07986dd261b48795b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 173, tip = 137fa8e2d05ce1f731a202dd7d4f0e95ab64cae6358df5e07986dd261b48795b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 174, tip = 4ce6c42e4dc1674378c624da7832025319558d3fcefa25bd481243b52f9b587c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 174, tip = 4ce6c42e4dc1674378c624da7832025319558d3fcefa25bd481243b52f9b587c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 176, tip = 471a0c05ef2525e4156377483dc483ca5c11fb0fe3218ed2d0641cb982310053
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 176, tip = 471a0c05ef2525e4156377483dc483ca5c11fb0fe3218ed2d0641cb982310053
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 177, tip = 0bad8bbca4b19b55c16e8f1048222ae3f5ed6a848fd4ab4e1ad73189b058fec8
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 177, tip = 0bad8bbca4b19b55c16e8f1048222ae3f5ed6a848fd4ab4e1ad73189b058fec8
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 178, tip = 0676e23b1e7114bf2dc0f5b7cbe4e1f94f451582bb39882c1b91a20850f054db
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 178, tip = 0676e23b1e7114bf2dc0f5b7cbe4e1f94f451582bb39882c1b91a20850f054db
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 179, tip = 01fb0ab7f4f5e251d8dfd7c28399018145c54a994805bf42237287026d3c30a3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 179, tip = 01fb0ab7f4f5e251d8dfd7c28399018145c54a994805bf42237287026d3c30a3
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 180, tip = 488bf80f02e171ab1d88cadadb459ae6f56773550de0df8b9ac3a34401d7c01f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 180, tip = 488bf80f02e171ab1d88cadadb459ae6f56773550de0df8b9ac3a34401d7c01f
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 182, tip = 547654f3874da3073343e01c7739d504663b7b66ca72e731a698d0240813179c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 182, tip = 547654f3874da3073343e01c7739d504663b7b66ca72e731a698d0240813179c
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 183, tip = 4861a42a8cce27ef2a09dba421fb663f8fe56ae1205c1cecb21ca0492ca7490b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 183, tip = 4861a42a8cce27ef2a09dba421fb663f8fe56ae1205c1cecb21ca0492ca7490b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 184, tip = 1a7cd4fcdb8f24dbf8eb896e133f745c777ef59f71ad11c7f176624a31dd7426
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 184, tip = 1a7cd4fcdb8f24dbf8eb896e133f745c777ef59f71ad11c7f176624a31dd7426
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 185, tip = 63879c9ecd739a53842dda8cf84bb7db585553cb3b86b8689cb8e8fc60d62dd6
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 185, tip = 63879c9ecd739a53842dda8cf84bb7db585553cb3b86b8689cb8e8fc60d62dd6
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 186, tip = 3fd9786c7af27cdc83070ce398cae3c32cbd774cf2f39f6a2d51b634efbd753d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 186, tip = 3fd9786c7af27cdc83070ce398cae3c32cbd774cf2f39f6a2d51b634efbd753d
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 187, tip = 123dbda72b196ff805f663ad65da09defe130a26f382b871d84fc32c2db3bc3e
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 187, tip = 123dbda72b196ff805f663ad65da09defe130a26f382b871d84fc32c2db3bc3e
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 188, tip = 3ac1edd2cf4a83f69b31c50a0ebe784db5522046143889ad5a559d603a305839
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 188, tip = 3ac1edd2cf4a83f69b31c50a0ebe784db5522046143889ad5a559d603a305839
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 189, tip = 0b33c615db4ea84eeaf598e612b2764d09abbd564026c09c70bdcebc08df6f37
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 189, tip = 0b33c615db4ea84eeaf598e612b2764d09abbd564026c09c70bdcebc08df6f37
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 190, tip = 1653095f57e21b3a2dbf68ac6bc3e7c2cfbb7f46dbb7d0caea2cf96fd8a0131a
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 190, tip = 1653095f57e21b3a2dbf68ac6bc3e7c2cfbb7f46dbb7d0caea2cf96fd8a0131a
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 192, tip = 25f8be8ff68922d3b8418a2976710f990927970d71f281b62783dfe931464d18
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 192, tip = 25f8be8ff68922d3b8418a2976710f990927970d71f281b62783dfe931464d18
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 193, tip = 033ecd59d2ecd30302dea31dd21653ad8067ec7196afb8e15b5264c1310fcccd
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 193, tip = 033ecd59d2ecd30302dea31dd21653ad8067ec7196afb8e15b5264c1310fcccd
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 194, tip = 088cc41dc6c3e0726128e01c19b170002077351b401be712bc27757f62ac69e2
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 194, tip = 088cc41dc6c3e0726128e01c19b170002077351b401be712bc27757f62ac69e2
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 195, tip = 0f4192144fe7a811657ba1c9e12d8ad4baea7c5dbea40314ac61311620e4017b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 195, tip = 0f4192144fe7a811657ba1c9e12d8ad4baea7c5dbea40314ac61311620e4017b
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 198, tip = 4406edb62efe74937aea666cd8fff0c45b2607564afd328a31196b75d5e248ed
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 198, tip = 4406edb62efe74937aea666cd8fff0c45b2607564afd328a31196b75d5e248ed
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 168
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 199, tip = 62482b1434242c0fa507bc93d02bf771bc5de9cbee70776a74177d3f0fb40467
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 199, tip = 62482b1434242c0fa507bc93d02bf771bc5de9cbee70776a74177d3f0fb40467
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 200, tip = 601a470468b75cfd49642d14b6f0fe6683d0a3fab4279a2972636c8cfd9fcbec
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 200, tip = 601a470468b75cfd49642d14b6f0fe6683d0a3fab4279a2972636c8cfd9fcbec
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 201, tip = 75ebc26f71a983b04e6f283f62dc16929a9216a42aad7c0200ec68892469e6bd
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 201, tip = 75ebc26f71a983b04e6f283f62dc16929a9216a42aad7c0200ec68892469e6bd
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 202, tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Block height = 202, tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837
[2022-10-02T18:51:18Z INFO  nakamoto_p2p::protocol::output] Filter height = 199
Tip Height : 202
Sync 2
[2022-10-02T18:51:19Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:51:19Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:51:19Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T18:51:48Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:51:48Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:51:48Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
test blockchain::compact_filters::nakamoto::test::bdk_blockchain_tests::test_sequential_sync has been running for over 60 seconds
[2022-10-02T18:52:18Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:52:18Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:52:18Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T18:52:49Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:52:49Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:52:49Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T18:53:18Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:53:18Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:53:18Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T18:53:49Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:53:49Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:53:49Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T18:59:13Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T18:59:13Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T18:59:13Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T19:03:23Z INFO  nakamoto_p2p::protocol::output] Block height = 202, tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837
[2022-10-02T19:03:23Z INFO  nakamoto_p2p::protocol] tip = 4069b081b9a38b19dca6a47fe3bc0f569e1441ae932a662d11820b29be65a837, headers = 202/202 (100.0%), cfheaders = 199/202, inbound = 0/16, outbound = 1/8 (1), connecting = 0/8, addresses = 0
[2022-10-02T19:03:23Z INFO  nakamoto_p2p::protocol] rescan current = 200, watch = 200, txs = 0, filter queue = 0, requested = 0
[2022-10-02T19:03:23Z INFO  nakamoto_p2p::protocol] inventory block queue = 0, requested = 0, mempool = 0
[2022-10-02T19:03:23Z INFO  nakamoto_p2p::protocol::output] Filter height = 202
Sync complete at : 202
[2022-10-02T19:03:23Z INFO  nakamoto_p2p::protocol::output] [peer] Disconnected from 127.0.0.1:65325 (connection reset)
test blockchain::compact_filters::nakamoto::test::bdk_blockchain_tests::test_sequential_sync ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 297 filtered out; finished in 189.39s

   Doc-tests bdk

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 44 filtered out; finished in 0.01s

So I was able to run the test successfully using the commit here but it took an awful long time to find cfheaders. Still making my research, but that's my log if that's anyway helpful.

@rajarshimaitra
Copy link
Contributor Author

Oh thats interesting.. Seems like it took last 4 mins to get the remaining 2 headers? But in my case its holding off even longer.. Will try to see if I can reach than finish in my local.. Thanks for the log..

@cloudhead
Copy link
Owner

cloudhead commented Oct 5, 2022

Fixed here: #97

The reason others haven't experienced this bug is that it's not likely to be hit in production: it happens when blocks are received shortly one after the other, while the client thinks it's in sync, ie. an environment only really possible in regtest, or if two blocks were to be found in short succession on mainnet. The above passes the test on my machine.

@rajarshimaitra
Copy link
Contributor Author

Thanks a lot @cloudhead .. I verified #97 fixes this.. Closing it on that note.. 🥳

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants