load blocks with height under INITIAL_BLOCKS_AMOUNT
This commit is contained in:
		
							parent
							
								
									ab6a0eae09
								
							
						
					
					
						commit
						3608fa6f19
					
				@ -34,7 +34,7 @@ class Blocks {
 | 
			
		||||
    const blockHeightTip = await bitcoinApi.$getBlockHeightTip();
 | 
			
		||||
 | 
			
		||||
    if (this.blocks.length === 0) {
 | 
			
		||||
      this.currentBlockHeight = blockHeightTip - config.MEMPOOL.INITIAL_BLOCKS_AMOUNT;
 | 
			
		||||
      this.currentBlockHeight = Math.max(blockHeightTip - config.MEMPOOL.INITIAL_BLOCKS_AMOUNT, -1);
 | 
			
		||||
    } else {
 | 
			
		||||
      this.currentBlockHeight = this.blocks[this.blocks.length - 1].height;
 | 
			
		||||
    }
 | 
			
		||||
@ -53,17 +53,19 @@ class Blocks {
 | 
			
		||||
        this.lastDifficultyAdjustmentTime = block.timestamp;
 | 
			
		||||
        this.currentDifficulty = block.difficulty;
 | 
			
		||||
 | 
			
		||||
        const previousPeriodBlockHash = await bitcoinApi.$getBlockHash(blockHeightTip - heightDiff - 2016);
 | 
			
		||||
        const previousPeriodBlock = await bitcoinApi.$getBlock(previousPeriodBlockHash);
 | 
			
		||||
        this.previousDifficultyRetarget = (block.difficulty - previousPeriodBlock.difficulty) / previousPeriodBlock.difficulty * 100;
 | 
			
		||||
        logger.debug(`Initial difficulty adjustment data set.`);
 | 
			
		||||
        if (blockHeightTip - heightDiff - 2016 >= 0) {
 | 
			
		||||
          const previousPeriodBlockHash = await bitcoinApi.$getBlockHash(blockHeightTip - heightDiff - 2016);
 | 
			
		||||
          const previousPeriodBlock = await bitcoinApi.$getBlock(previousPeriodBlockHash);
 | 
			
		||||
          this.previousDifficultyRetarget = (block.difficulty - previousPeriodBlock.difficulty) / previousPeriodBlock.difficulty * 100;
 | 
			
		||||
          logger.debug(`Initial difficulty adjustment data set.`);
 | 
			
		||||
        }
 | 
			
		||||
      } else {
 | 
			
		||||
        logger.debug(`Blockchain headers (${blockchainInfo.headers}) and blocks (${blockchainInfo.blocks}) not in sync. Waiting...`);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    while (this.currentBlockHeight < blockHeightTip) {
 | 
			
		||||
      if (this.currentBlockHeight === 0) {
 | 
			
		||||
      if (this.currentBlockHeight < blockHeightTip - config.MEMPOOL.INITIAL_BLOCKS_AMOUNT) {
 | 
			
		||||
        this.currentBlockHeight = blockHeightTip;
 | 
			
		||||
      } else {
 | 
			
		||||
        this.currentBlockHeight++;
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@ const configFile = require('../mempool-config.json');
 | 
			
		||||
 | 
			
		||||
interface IConfig {
 | 
			
		||||
  MEMPOOL: {
 | 
			
		||||
    NETWORK: 'mainnet' | 'testnet' | 'signet' | 'liquid' | 'liquidtestnet';
 | 
			
		||||
    NETWORK: 'mainnet' | 'testnet' | 'signet' | 'regtest' | 'liquid' | 'liquidtestnet';
 | 
			
		||||
    BACKEND: 'esplora' | 'electrum' | 'none';
 | 
			
		||||
    HTTP_PORT: number;
 | 
			
		||||
    SPAWN_CLUSTER_PROCS: number;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user