Optimize insert new block

This commit is contained in:
parmarrushabh 2018-11-07 10:09:52 +05:30
parent 823cd1e6ef
commit b8cb600964
2 changed files with 6 additions and 1 deletions

View file

@ -71,7 +71,7 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg
}
InitSignerInTransactions(p.config, header, block.Transactions())
// Iterate over and process the individual transactions
// Iterate over and process the individual transactions
for i, tx := range block.Transactions() {
statedb.Prepare(tx.Hash(), block.Hash(), i)
receipt, _, err := ApplyTransaction(p.config, p.bc, nil, gp, statedb, header, tx, usedGas, cfg)

View file

@ -801,6 +801,8 @@ func (pool *TxPool) AddRemotes(txs []*types.Transaction) []error {
// addTx enqueues a single transaction into the pool if it is valid.
func (pool *TxPool) addTx(tx *types.Transaction, local bool) error {
tx.CacheHash()
types.CacheSigner(pool.signer, tx)
pool.mu.Lock()
defer pool.mu.Unlock()
@ -819,6 +821,9 @@ func (pool *TxPool) addTx(tx *types.Transaction, local bool) error {
// addTxs attempts to queue a batch of transactions if they are valid.
func (pool *TxPool) addTxs(txs []*types.Transaction, local bool) []error {
for _, tx := range txs {
types.CacheSigner(pool.signer, tx)
}
pool.mu.Lock()
defer pool.mu.Unlock()