Thanks for the response. I actually tried the SPV blockstore on the local machine. Still compared to bitcoind, it's dramatically slower. I actually linked it to the bitcoind running localhost (so technically no physical networking takes place), yet still it takes like an hour to sync.
Is there a way I could find where the bottle-neck is coming from? On Friday, January 5, 2018 at 4:27:09 PM UTC+1, Andreas Schildbach wrote: > > Could be an issue with storing the pruned chain in a database not > scaling well. I don't know because I never used this mode ... maybe > others can tell. > > I'd try SPVBlockStore temporarly to see if that is much faster (it > should). > > > On 12/21/2017 07:38 PM, Nasser G. wrote: > > Hi Everyone, > > > > I have a bit of a dilemma here. I'm trying to download the full > > blockchain and use it to generate checkpoint and wallet-restore files. > > The problem is that when I start the whole thing, > > the download-speed rarely reaches 1MB/s (in pulses, not consistently), > > and the every 24 hours or so, the app crashes. The exception originally > > given was "GC Overhead Limit Exceeded", then when I > > increased the java memory to around 6GB, now it's "Java running out of > > heap"ish. (Please note that MySQL query cache is set to 768MB). > > > > > > > > This is the code I'm running as we speak: > > > > > > // This function starts the blockchain operation > > public boolean StartOperation() > > { > > // Get the NetParamrs > > this._netParamsForBitcoinJ = MainNetParams.get(); > > > > // Create our BlockStore file > > try > > { > > _ourBlockStore = new > > MySQLFullPrunedBlockStore(_netParamsForBitcoinJ, > > 1500, > > > "localhost", > > > > "<BLOCKSTORE-DB-NAME>", > > > > "<USERNAME>", > > > > "<PASSWORD>"); > > } > > catch (BlockStoreException exc) > > { > > return false; > > } > > > > try > > { > > _ourBlockChain = new > > FullPrunedBlockChain(_netParamsForBitcoinJ, _ourBlockStore); > > } > > catch (BlockStoreException blockStoreException) > > { > > return false; > > } > > > > // We launch our peer-group > > _ourPeerGroup = new PeerGroup(_netParamsForBitcoinJ, > > _ourBlockChain); > > _ourPeerGroup.addPeerDiscovery(new > > DnsDiscovery(_netParamsForBitcoinJ)); > > _ourPeerGroup.setMaxConnections(250); > > _ourPeerGroup.setMaxPeersToDiscoverCount(250); > > > > // We start our peer-group > > _ourPeerGroup.start(); > > _ourPeerGroup.startBlockChainDownload(new > > PeerDataEventListenerEx(this) > > { > > @Override > > public void onBlocksDownloaded(Peer peer, Block block, > > FilteredBlock fb, int i) > > { > > // Call super... > > super.onBlocksDownloaded(peer, block, fb, i); > > } > > > > @Override > > public void onChainDownloadStarted(Peer peer, int i) > > { > > // Call super... > > super.onChainDownloadStarted(peer, i); > > } > > > > @Override > > public List<Message> getData(Peer peer, GetDataMessage > gdm) > > { > > return null; > > } > > }); > > > > > > > > // We do need to return something... which is 'true' in this > > case > > return true; > > } > > > > > > > > > > As a comparison, I ran "bitcoind" on the same machine, took seven hours > > to fully synchronize, at a constant rate of 9MB/s (on a 100Mbps > > connection). > > The machine in question has an Intel i5 Quad-Core, with 8GB RAM and > > 500GB SSD, running Ubuntu 16. > > > > > > Thanks in advance, > > Nasser > > > > > > -- > > You received this message because you are subscribed to the Google > > Groups "bitcoinj" group. > > To unsubscribe from this group and stop receiving emails from it, send > > an email to bitcoinj+u...@googlegroups.com <javascript:> > > <mailto:bitcoinj+u...@googlegroups.com <javascript:>>. > > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "bitcoinj" group. To unsubscribe from this group and stop receiving emails from it, send an email to bitcoinj+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.