Document --update-pools - Added some logs
				
					
				
			This commit is contained in:
		
							parent
							
								
									25186ae6fa
								
							
						
					
					
						commit
						d0d2303513
					
				@ -219,6 +219,16 @@ Generate block at regular interval (every 10 seconds in this example):
 | 
				
			|||||||
   watch -n 10 "./src/bitcoin-cli -regtest -rpcport=8332 generatetoaddress 1 $address"
 | 
					   watch -n 10 "./src/bitcoin-cli -regtest -rpcport=8332 generatetoaddress 1 $address"
 | 
				
			||||||
   ```
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Mining pools update
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					By default, mining pools will be not automatically updated regularly (`config.MEMPOOL.AUTOMATIC_BLOCK_REINDEXING` is set to `false`). 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To manually update your mining pools, you can use the `--update-pools` command line flag when you run the nodejs backend. For example `npm run start --update-pools`. This will trigger the mining pools update and automatically re-index appropriate blocks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can enabled the automatic mining pools update by settings `config.MEMPOOL.AUTOMATIC_BLOCK_REINDEXING` to `true` in your `mempool-config.json`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When a `coinbase tag` or `coinbase address` change is detected, all blocks tagged to the `unknown` mining pools (starting from height 130635) will be deleted from the `blocks` table. Additionaly, all blocks which were tagged to the pool which has been updated will also be deleted from the `blocks` table. Of course, those blocks will be automatically reindexed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Re-index tables
 | 
					### Re-index tables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
You can manually force the nodejs backend to drop all data from a specified set of tables for future re-index. This is mostly useful for the mining dashboard and the lightning explorer.
 | 
					You can manually force the nodejs backend to drop all data from a specified set of tables for future re-index. This is mostly useful for the mining dashboard and the lightning explorer.
 | 
				
			||||||
@ -235,4 +245,4 @@ Feb 13 14:55:27 [63246] WARN: <lightning> Indexed data for "hashrates" tables wi
 | 
				
			|||||||
Feb 13 14:55:32 [63246] NOTICE: <lightning> Table hashrates has been truncated
 | 
					Feb 13 14:55:32 [63246] NOTICE: <lightning> Table hashrates has been truncated
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Reference: https://github.com/mempool/mempool/pull/1269
 | 
					Reference: https://github.com/mempool/mempool/pull/1269
 | 
				
			||||||
 | 
				
			|||||||
@ -17,11 +17,6 @@ class PoolsUpdater {
 | 
				
			|||||||
  treeUrl: string = config.MEMPOOL.POOLS_JSON_TREE_URL;
 | 
					  treeUrl: string = config.MEMPOOL.POOLS_JSON_TREE_URL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public async updatePoolsJson(): Promise<void> {
 | 
					  public async updatePoolsJson(): Promise<void> {
 | 
				
			||||||
    if (config.MEMPOOL.AUTOMATIC_BLOCK_REINDEXING === false) {
 | 
					 | 
				
			||||||
      logger.info(`Not updating mining pools to avoid inconsistency because AUTOMATIC_BLOCK_REINDEXING is set to false`)
 | 
					 | 
				
			||||||
      return;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) {
 | 
					    if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) {
 | 
				
			||||||
      return;
 | 
					      return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -36,12 +31,6 @@ class PoolsUpdater {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    this.lastRun = now;
 | 
					    this.lastRun = now;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (config.SOCKS5PROXY.ENABLED) {
 | 
					 | 
				
			||||||
      logger.info(`Updating latest mining pools from ${this.poolsUrl} over the Tor network`, logger.tags.mining);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      logger.info(`Updating latest mining pools from ${this.poolsUrl} over clearnet`, logger.tags.mining);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      const githubSha = await this.fetchPoolsSha(); // Fetch pools-v2.json sha from github
 | 
					      const githubSha = await this.fetchPoolsSha(); // Fetch pools-v2.json sha from github
 | 
				
			||||||
      if (githubSha === undefined) {
 | 
					      if (githubSha === undefined) {
 | 
				
			||||||
@ -57,10 +46,21 @@ class PoolsUpdater {
 | 
				
			|||||||
        return;
 | 
					        return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // See backend README for more details about the mining pools update process
 | 
				
			||||||
 | 
					      if (this.currentSha !== undefined && // If we don't have any mining pool, download it at least once
 | 
				
			||||||
 | 
					        config.MEMPOOL.AUTOMATIC_BLOCK_REINDEXING !== true && // Automatic pools update is disabled
 | 
				
			||||||
 | 
					        !process.env.npm_config_update_pools // We're not manually updating mining pool
 | 
				
			||||||
 | 
					      ) {
 | 
				
			||||||
 | 
					        logger.warn(`Updated mining pools data is available (${githubSha}) but AUTOMATIC_BLOCK_REINDEXING is disabled`);
 | 
				
			||||||
 | 
					        logger.info(`You can update your mining pools using the --update-pools command flag. You may want to clear your nginx cache as well if applicable`);
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const network = config.SOCKS5PROXY.ENABLED ? 'tor' : 'clearnet';
 | 
				
			||||||
      if (this.currentSha === undefined) {
 | 
					      if (this.currentSha === undefined) {
 | 
				
			||||||
        logger.info(`Downloading pools-v2.json for the first time from ${this.poolsUrl}`, logger.tags.mining);
 | 
					        logger.info(`Downloading pools-v2.json for the first time from ${this.poolsUrl} over ${network}`, logger.tags.mining);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        logger.warn(`pools-v2.json is outdated, fetch latest from ${this.poolsUrl}`, logger.tags.mining);
 | 
					        logger.warn(`pools-v2.json is outdated, fetch latest from ${this.poolsUrl} over ${network}`, logger.tags.mining);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      const poolsJson = await this.query(this.poolsUrl);
 | 
					      const poolsJson = await this.query(this.poolsUrl);
 | 
				
			||||||
      if (poolsJson === undefined) {
 | 
					      if (poolsJson === undefined) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user