|
|
|
@ -65,6 +65,7 @@ const ( |
|
|
|
|
badBlockLimit = 10 |
|
|
|
|
triesInMemory = 128 |
|
|
|
|
shardCacheLimit = 2 |
|
|
|
|
commitsCacheLimit = 10 |
|
|
|
|
epochCacheLimit = 10 |
|
|
|
|
|
|
|
|
|
// BlocksPerEpoch is the number of blocks in one epoch
|
|
|
|
@ -168,26 +169,28 @@ func NewBlockChain(db ethdb.Database, cacheConfig *CacheConfig, chainConfig *par |
|
|
|
|
futureBlocks, _ := lru.New(maxFutureBlocks) |
|
|
|
|
badBlocks, _ := lru.New(badBlockLimit) |
|
|
|
|
shardCache, _ := lru.New(shardCacheLimit) |
|
|
|
|
commitsCache, _ := lru.New(commitsCacheLimit) |
|
|
|
|
epochCache, _ := lru.New(epochCacheLimit) |
|
|
|
|
|
|
|
|
|
bc := &BlockChain{ |
|
|
|
|
chainConfig: chainConfig, |
|
|
|
|
cacheConfig: cacheConfig, |
|
|
|
|
db: db, |
|
|
|
|
triegc: prque.New(nil), |
|
|
|
|
stateCache: state.NewDatabase(db), |
|
|
|
|
quit: make(chan struct{}), |
|
|
|
|
shouldPreserve: shouldPreserve, |
|
|
|
|
bodyCache: bodyCache, |
|
|
|
|
bodyRLPCache: bodyRLPCache, |
|
|
|
|
receiptsCache: receiptsCache, |
|
|
|
|
blockCache: blockCache, |
|
|
|
|
futureBlocks: futureBlocks, |
|
|
|
|
shardStateCache: shardCache, |
|
|
|
|
epochCache: epochCache, |
|
|
|
|
engine: engine, |
|
|
|
|
vmConfig: vmConfig, |
|
|
|
|
badBlocks: badBlocks, |
|
|
|
|
chainConfig: chainConfig, |
|
|
|
|
cacheConfig: cacheConfig, |
|
|
|
|
db: db, |
|
|
|
|
triegc: prque.New(nil), |
|
|
|
|
stateCache: state.NewDatabase(db), |
|
|
|
|
quit: make(chan struct{}), |
|
|
|
|
shouldPreserve: shouldPreserve, |
|
|
|
|
bodyCache: bodyCache, |
|
|
|
|
bodyRLPCache: bodyRLPCache, |
|
|
|
|
receiptsCache: receiptsCache, |
|
|
|
|
blockCache: blockCache, |
|
|
|
|
futureBlocks: futureBlocks, |
|
|
|
|
shardStateCache: shardCache, |
|
|
|
|
lastCommitsCache: commitsCache, |
|
|
|
|
epochCache: epochCache, |
|
|
|
|
engine: engine, |
|
|
|
|
vmConfig: vmConfig, |
|
|
|
|
badBlocks: badBlocks, |
|
|
|
|
} |
|
|
|
|
bc.SetValidator(NewBlockValidator(chainConfig, bc, engine)) |
|
|
|
|
bc.SetProcessor(NewStateProcessor(chainConfig, bc, engine)) |
|
|
|
|