Open abhaygupta1999 opened 1 year ago
It is not the block size that is the issue if I had to guess at first glance. There exist several 8+, especially 32MB, blocks that bitcoincashj can process just fine. These new blocks seem to be full of OP_RETURN outputs, but I don't know for sure what the cause is right now, and I don't really have the time/interest to figure it out.
Hi @pokkst Your small help will be much appreciated. Its a PROD issue for me. And the library is huge to get through the whole flow. If you can provide me some direction, on which files or methods to check for the issue, it will help me a lot to debug.
Yes, you were right @pokkst It is somehow related to OP_RETURN. I have added logs to check, for example, for block number 783808, it was able to get transactions data for it, in processTransaction, then it says, Received broadcast filtered block "blockHash" But, it does start processing next blocks. It takes time to process the above transactions. And it takes more time when the transaction has OP_RETURN.
Can you please answer two questions?
I have setup my own node in AWS, and use that only in peer group. Like below: peerGroup.addAddress(InetAddress.getByName(host)); peerGroup.setMaxConnections(1);
But it got stuck, and not downloading new blocks of data. Can anyone please help me here? I was debugging from this morning, but can't able to find the issue.
Here are the logs: org.bitcoinj.core.Peer : Peer{[10.17.10.55]:8333, version=70015, subVer=/Bitcoin Cash Node:24.0.0(EB32.0)/, services=1061 (NETWORK, BLOOM, NETWORK_LIMITED, remaining: 100000), time=2023-03-14 11:21:53, height=783873}: Too many pending pings, disconnecting org.bitcoinj.core.PeerGroup : [10.17.10.55]:8333: Peer died (2 connected, 0 pending, 1 max) org.bitcoinj.core.PeerGroup : Download peer died. Picking a new one. org.bitcoinj.core.PeerGroup : Unsetting download peer: Peer{[10.17.10.55]:8333, version=70015, subVer=/Bitcoin Cash Node:24.0.0(EB32.0)/, services=1061 (NETWORK, BLOOM, NETWORK_LIMITED, remaining: 100000), time=2023-03-14 11:21:53, height=783873} org.bitcoinj.core.PeerGroup : Setting download peer: Peer{[10.17.10.55]:8333, version=70015, subVer=/Bitcoin Cash Node:24.0.0(EB32.0)/, services=1061 (NETWORK, BLOOM, NETWORK_LIMITED, remaining: 100000), time=2023-03-14 11:21:53, height=783873} o.b.c.listeners.DownloadProgressTracker : Chain download switched to Peer{[10.17.10.55]:8333, version=70015, subVer=/Bitcoin Cash Node:24.0.0(EB32.0)/, services=1061 (NETWORK, BLOOM, NETWORK_LIMITED, remaining: 100000), time=2023-03-14 11:21:53, height=783873} org.bitcoinj.core.PeerSocketHandler : [10.17.10.55]:8333 - java.nio.channels.CancelledKeyException c.PeerGroup$ChainDownloadSpeedCalculator : 0 blocks/sec, 0 tx/sec, 0 pre-filtered tx/sec, avg/last 0.00/0.00 kilobytes per sec, chain/common height 769180/783874, stall disabled (threshold <0.78 KB/sec for 10 seconds)
And then below log groups keeps on coming with waiting time increasing.
org.bitcoinj.core.PeerGroup : [10.17.10.55]:8333: Peer died (0 connected, 0 pending, 1 max) org.bitcoinj.core.PeerGroup : Peer discovery took 3.630 ?s and returned 0 items from 0 discoverers org.bitcoinj.core.PeerGroup : Waiting 600066 ms before next connect attempt to [10.17.10.55]:8333
I am using bitcoincashj version 0.26.2.1 I found out some thing that it stucked at block number 783808 (https://www.blockchain.com/explorer/blocks/bch/783808) for which the block size is around 8 Mb. It is not able to sync that huge block. Node connection is working fine. As, I have resynced the wallet from start. But it gets stuck at chain height 783807. Now my question is how to sync big size blocks in bitcoinj? @pokkst Please help here