mirror of
https://github.com/bitcoinj/bitcoinj.git
synced 2025-03-10 17:26:28 +01:00
WalletAppKit: Allow overriding of the block store in use.
This commit is contained in:
parent
d46ba33343
commit
ec6f8a3c9d
1 changed files with 10 additions and 3 deletions
|
@ -65,7 +65,7 @@ public class WalletAppKit extends AbstractIdleService {
|
|||
protected final String filePrefix;
|
||||
protected final NetworkParameters params;
|
||||
protected volatile BlockChain vChain;
|
||||
protected volatile SPVBlockStore vStore;
|
||||
protected volatile BlockStore vStore;
|
||||
protected volatile Wallet vWallet;
|
||||
protected volatile PeerGroup vPeerGroup;
|
||||
|
||||
|
@ -222,6 +222,13 @@ public class WalletAppKit extends AbstractIdleService {
|
|||
return ImmutableList.of();
|
||||
}
|
||||
|
||||
/**
|
||||
* Override this to use a {@link BlockStore} that isn't the default of {@link SPVBlockStore}.
|
||||
*/
|
||||
protected BlockStore provideBlockStore(File file) throws BlockStoreException {
|
||||
return new SPVBlockStore(params, file);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is invoked on a background thread after all objects are initialised, but before the peer group
|
||||
* or block chain download is started. You can tweak the objects configuration here.
|
||||
|
@ -269,7 +276,7 @@ public class WalletAppKit extends AbstractIdleService {
|
|||
vWallet = createOrLoadWallet(shouldReplayWallet);
|
||||
|
||||
// Initiate Bitcoin network objects (block store, blockchain and peer group)
|
||||
vStore = new SPVBlockStore(params, chainFile);
|
||||
vStore = provideBlockStore(chainFile);
|
||||
if (!chainFileExists || restoreFromSeed != null) {
|
||||
if (checkpoints != null) {
|
||||
// Initialize the chain file with a checkpoint to speed up first-run sync.
|
||||
|
@ -483,7 +490,7 @@ public class WalletAppKit extends AbstractIdleService {
|
|||
return vChain;
|
||||
}
|
||||
|
||||
public SPVBlockStore store() {
|
||||
public BlockStore store() {
|
||||
checkState(state() == State.STARTING || state() == State.RUNNING, "Cannot call until startup is complete");
|
||||
return vStore;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue