cmd/geth, consensus/ethash: add support for --miner.notify.full flag (#22558)
The PR implements the --miner.notify.full flag that enables full pending block notifications. When this flag is used, the block notifications sent to mining endpoints contain the complete block header JSON instead of a work package array. Co-authored-by: AlexSSD7 <alexandersadovskyi7@protonmail.com> Co-authored-by: Martin Holst Swende <martin@swende.se>
This commit is contained in:
		@@ -121,6 +121,10 @@ func New(stack *node.Node, config *ethconfig.Config) (*Ethereum, error) {
 | 
			
		||||
	}
 | 
			
		||||
	log.Info("Allocated trie memory caches", "clean", common.StorageSize(config.TrieCleanCache)*1024*1024, "dirty", common.StorageSize(config.TrieDirtyCache)*1024*1024)
 | 
			
		||||
 | 
			
		||||
	// Transfer mining-related config to the ethash config.
 | 
			
		||||
	ethashConfig := config.Ethash
 | 
			
		||||
	ethashConfig.NotifyFull = config.Miner.NotifyFull
 | 
			
		||||
 | 
			
		||||
	// Assemble the Ethereum object
 | 
			
		||||
	chainDb, err := stack.OpenDatabaseWithFreezer("chaindata", config.DatabaseCache, config.DatabaseHandles, config.DatabaseFreezer, "eth/db/chaindata/", false)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -140,7 +144,7 @@ func New(stack *node.Node, config *ethconfig.Config) (*Ethereum, error) {
 | 
			
		||||
		chainDb:           chainDb,
 | 
			
		||||
		eventMux:          stack.EventMux(),
 | 
			
		||||
		accountManager:    stack.AccountManager(),
 | 
			
		||||
		engine:            ethconfig.CreateConsensusEngine(stack, chainConfig, &config.Ethash, config.Miner.Notify, config.Miner.Noverify, chainDb),
 | 
			
		||||
		engine:            ethconfig.CreateConsensusEngine(stack, chainConfig, ðashConfig, config.Miner.Notify, config.Miner.Noverify, chainDb),
 | 
			
		||||
		closeBloomHandler: make(chan struct{}),
 | 
			
		||||
		networkID:         config.NetworkId,
 | 
			
		||||
		gasPrice:          config.Miner.GasPrice,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user