Sync too low when using BitCoinJ to create and host own wallet

0

I need to use BitcoinJ to create and host wallet on my own website. However, it keeps downloading blocks and the sync seems taking forever. I need to be able to create a wallet within a few seconds.

Could anyone please advice what should i do to optimize the sync time?

ECKey key = new ECKey();
Address addressFromKey = key.toAddress(params);

Wallet wallet = new Wallet(params);
wallet.importKey(key);

File blockFile = new File(“/tmp/bitcoinblocks”);
BlockStore blockStore = new MemoryBlockStore(params);
BlockChain chain = new BlockChain(params,blockStore);
PeerGroup peerGroup = new PeerGroup(params, chain);
peerGroup.addPeerDiscovery(new DnsDiscovery(params));
peerGroup.addWallet(wallet);
peerGroup.start();
peerGroup.downloadedBlockChain(); 

vaj oja

Posted 2017-08-26T17:52:52.343

Reputation: 63

Answers

2

To make the sync faster and the wallet creation you can do by setting the checkpoints and later at the time of calling the create wallet method you can set the checkpoints for faster sync. Like I am using walletKit method of bitcoinj for wallet creation find the below code for example

WalletAppKit kit = new WalletAppKit(params, new File(walletPath), filePrefix);
kit.setCheckpoints( ReadProperties.class.getClassLoader().getResourceAsStream("checkpoints-bitcoin"));
kit.startAsync();
kit.awaitRunning();

Aman Vyas

Posted 2017-08-26T17:52:52.343

Reputation: 73

0

Your bitcoin node only needs to download the blockchain once, so if you leave it running in the background your website can ask it to generate a new address very quickly.

MeshCollider

Posted 2017-08-26T17:52:52.343

Reputation: 8 735