private void startBlockchain() throws BlockStoreException {
// Load the block chain data file or generate a new one
File chainFile = getBlockchainFile();
boolean chainExistedAlready = chainFile.exists();
blockStore = new SPVBlockStore(networkParams, chainFile);
if (!chainExistedAlready) {
// the blockchain will need to be replayed; if the wallet already contains transactions, this might
// cause ugly inconsistent wallet exceptions, so clear all old transaction data first
log.info("Chain file missing - wallet transactions list will be rebuilt now");