go-ethereum/core
Martin Holst Swende 40b6ccf383
core,les: headerchain import in batches (#21471)
* core: add test for headerchain inserts

* core, light: write headerchains in batches

* core: change to one callback per batch of inserted headers + review concerns

* core: error-check on batch write

* core: unexport writeHeaders

* core: remove callback parameter in InsertHeaderChain

The semantics of InsertHeaderChain are now much simpler: it is now an
all-or-nothing operation. The new WriteStatus return value allows
callers to check for the canonicality of the insertion. This change
simplifies use of HeaderChain in package les, where the callback was
previously used to post chain events.

* core: skip some hashing when writing headers

* core: less hashing in header validation

* core: fix headerchain flaw regarding blacklisted hashes

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-12-09 11:13:02 +01:00
..
asm
bloombits core/bloombits: faster generator (#21625) 2020-10-06 16:34:29 +03:00
forkid cmd/devp2p: add eth protocol test suite (#21598) 2020-09-23 15:18:17 +02:00
rawdb core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
state all: remove redundant conversions and import names (#21903) 2020-11-25 21:00:23 +01:00
types core/types: fixed typo (#21897) 2020-11-25 08:53:20 +01:00
vm core/vm/runtime: remove duplicated line (#21956) 2020-12-04 08:54:07 +01:00
.gitignore
bench_test.go
block_validator_test.go
block_validator.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
blockchain_insert.go core: fix blockchain insert report time interval calculation (#21723) 2020-10-21 16:53:30 +02:00
blockchain_repair_test.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_sethead_test.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_snapshot_test.go core/state/snapshot: update generator marker in sync with flushes 2020-11-09 16:03:58 +02:00
blockchain_test.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
blockchain.go core,les: headerchain import in batches (#21471) 2020-12-09 11:13:02 +01:00
blocks.go
chain_indexer_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
chain_indexer.go all: replace RWMutex with Mutex in places where RLock is not used (#21622) 2020-10-13 10:58:41 +02:00
chain_makers_test.go
chain_makers.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
dao_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
error.go
events.go
evm.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
gaspool.go
gen_genesis_account.go
gen_genesis.go
genesis_alloc.go cmd, core, params: inital support for yolo-v1 testnet (#21154) 2020-06-03 12:05:15 +03:00
genesis_test.go
genesis.go all: disable recording preimage of trie keys (#21402) 2020-11-18 11:51:33 +02:00
headerchain_test.go core,les: headerchain import in batches (#21471) 2020-12-09 11:13:02 +01:00
headerchain.go core,les: headerchain import in batches (#21471) 2020-12-09 11:13:02 +01:00
mkalloc.go
rlp_test.go
state_prefetcher.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
state_processor_test.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
state_processor.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
state_transition.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
tx_cacher.go
tx_journal.go
tx_list_test.go Revert "core, txpool: less allocations when handling transactions (#21232)" 2020-07-09 14:02:03 +02:00
tx_list.go core: free pointer from slice after popping element from price heap (#21572) 2020-09-28 14:24:01 +02:00
tx_noncer.go
tx_pool_test.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
tx_pool.go core: fix txpool off-by-one error (#21683) 2020-10-09 12:23:46 +03:00
types.go