Browse Source

Try a lookahead size of 20 (instead of 3) when asking Bitcoinj for the balance.

hosted-resources-search
CalDescent 3 years ago
parent
commit
fcdd85af6c
  1. 9
      src/main/java/org/qortal/crosschain/Bitcoiny.java

9
src/main/java/org/qortal/crosschain/Bitcoiny.java

@ -58,9 +58,14 @@ public abstract class Bitcoiny implements ForeignBlockchain {
* i.e. keys with transactions but with no unspent outputs. */ * i.e. keys with transactions but with no unspent outputs. */
protected final Set<ECKey> spentKeys = Collections.synchronizedSet(new HashSet<>()); protected final Set<ECKey> spentKeys = Collections.synchronizedSet(new HashSet<>());
/** How many bitcoinj wallet keys to generate in each batch. */ /** How many wallet keys to generate in each batch. */
private static final int WALLET_KEY_LOOKAHEAD_INCREMENT = 3; private static final int WALLET_KEY_LOOKAHEAD_INCREMENT = 3;
/** How many wallet keys to generate in each batch when using bitcoinj as the data provider.
* We must use a higher value here since we are unable to request multiple batches of keys.
* Without this, the bitcoinj balance (or other data) can be missing transactions. */
private static final int WALLET_KEY_LOOKAHEAD_INCREMENT_BITCOINJ = 20;
/** Byte offset into raw block headers to block timestamp. */ /** Byte offset into raw block headers to block timestamp. */
private static final int TIMESTAMP_OFFSET = 4 + 32 + 32; private static final int TIMESTAMP_OFFSET = 4 + 32 + 32;
@ -612,7 +617,7 @@ public abstract class Bitcoiny implements ForeignBlockchain {
this.keyChain = this.wallet.getActiveKeyChain(); this.keyChain = this.wallet.getActiveKeyChain();
// Set up wallet's key chain // Set up wallet's key chain
this.keyChain.setLookaheadSize(Bitcoiny.WALLET_KEY_LOOKAHEAD_INCREMENT); this.keyChain.setLookaheadSize(Bitcoiny.WALLET_KEY_LOOKAHEAD_INCREMENT_BITCOINJ);
this.keyChain.maybeLookAhead(); this.keyChain.maybeLookAhead();
} }

Loading…
Cancel
Save