erigon-pulse/turbo
Péter Szilágyi 693459073e core, eth: split eth package, implement snap protocol (#21482)
This commit splits the eth package, separating the handling of eth and snap protocols. It also includes the capability to run snap sync (https://github.com/ethereum/devp2p/blob/master/caps/snap.md) , but does not enable it by default.

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Martin Holst Swende <martin@swende.se>
# Conflicts:
#	cmd/geth/misccmd.go
#	cmd/utils/flags.go
#	core/blockchain.go
#	core/blockchain_snapshot_test.go
#	core/forkid/forkid.go
#	core/rawdb/accessors_snapshot.go
#	core/rawdb/schema.go
#	core/state/snapshot/generate.go
#	core/state/statedb.go
#	eth/api_test.go
#	eth/backend.go
#	eth/downloader/downloader.go
#	eth/downloader/downloader_test.go
#	eth/downloader/modes.go
#	eth/downloader/queue.go
#	eth/downloader/statesync.go
#	eth/gen_config.go
#	eth/handler.go
#	eth/handler_test.go
#	eth/helper_test.go
#	eth/peer.go
#	eth/protocol.go
#	eth/protocol_test.go
#	eth/sync.go
#	eth/sync_test.go
#	ethstats/ethstats.go
#	les/client.go
#	les/enr_entry.go
#	les/handler_test.go
#	les/peer.go
#	les/server_handler.go
#	tests/block_test_util.go
#	trie/proof.go
#	trie/proof_test.go
#	trie/trie.go
#	turbo/trie/notary.go
#	turbo/trie/sync_bloom.go
2021-03-08 17:07:38 +01:00
..
adapter Revert "Extract validating interface (#1120)" (#1543) 2021-03-05 20:34:23 +00:00
cli Revert "Extract validating interface (#1120)" (#1543) 2021-03-05 20:34:23 +00:00
node log git branch and git commit (#1523) 2021-03-01 11:02:06 +07:00
rlphacks move ./trie to ./turbo/trie (#1114) 2020-09-14 11:33:39 +01:00
rpchelper rpcdaemon performance improve - less reading blocks, less allocs on server (#1426) 2021-01-02 19:28:22 +00:00
shards New Trie db layout - store trie structure info and multiple hashes per record (#1500) 2021-02-21 18:41:59 +00:00
silkworm Integrate Silkworm execution (#1344) 2020-11-28 15:08:02 +00:00
snapshotsync txdb lazy cursors creation, grpc version up (#1440) 2021-01-15 09:38:09 +00:00
stages Revert "Extract validating interface (#1120)" (#1543) 2021-03-05 20:34:23 +00:00
transactions Fixes to trace_call, trace_callMany, dual RPC daemon mode (#1491) 2021-02-12 16:47:32 +00:00
trie core, eth: split eth package, implement snap protocol (#21482) 2021-03-08 17:07:38 +01:00
README.md turbo-api: Add docs to some public structs, methods and fields (#1127) 2020-09-21 16:10:25 +02:00

Turbo-API

Turbo-API is a set of tools for building applications containing turbo-geth node.

Our own binary tg is built using it.

Modules

  • cli - turbo-cli, methods & helpers to run a CLI app with turbo-geth node.

  • node - represents an Ethereum node, running devp2p and sync and writing state to the database.

  • stagedsync - staged sync algorithm.

Examples

  • tg - our binary is using turbo-api with all defaults

  • tgcustom - a very simple example of adding a custom stage, a custom bucket and a custom command-line parameter

  • turbo-api-examples - a series of examples for turbo-geth api