erigon-pulse/turbo
ledgerwatch 81ea5bab78
More updates to downloader, new p2psentry protocol (#1559)
* Initial commit

* Add sentry gRPC interface

* p2psentry directory

* Update README.md

* Update README.md

* Update README.md

* Add go package

* Correct syntax

* add external downloader interface (#2)

* Add txpool (#3)

* Add private API (#4)

* Invert control.proto, add PeerMinBlock, Separare incoming Tx message into a separate stream (#5)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Separate upload messages into its own stream (#6)

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>

* Only send changed accounts to listeners (#7)

* Txpool interface doc (#9)

* More additions

* More additions

* Fix locking

* Intermediate

* Fix separation of phases

* Intermediate

* Fix test

* More transformations

* New simplified way of downloading headers

* Fix hard-coded header sync

* Fixed syncing near the tip of the chain

* Add architecture diagram source and picture (#10)

* More fixes

* rename tip to link

* Use preverified hashes instead of preverified headers

* Fix preverified hashes generation

* more parametrisation

* Continue parametrisation

* Fix grpc data limit, interruption of headers stage

* Add ropsten preverified hashes

* Typed hashes (#11)

* Typed hashes

* Fix PeerId

* 64-bit tx nonce

* Disable penalties

* Add goerli settings, bootstrap nodes

* Try to fix goerly sync

* Remove interfaces

* Add proper golang packages, max_block into p2p sentry Status

* Prepare for proto overhaul

* Squashed 'interfaces/' content from commit ce36053c2

git-subtree-dir: interfaces
git-subtree-split: ce36053c24db2f56e48ac752808de60afa1dfb4b

* Change EtherReply to address

* Adaptations to new types

* Switch to new types

* Fixes

* Fix formatting

* Fix lint

* Lint fixes, reverse order in types

* Fix lint

* Fix lint

* Fix lint

* Fix test

* Not supporting eth/66 yet

* Fix shutdown

* Fix lint

* Fix lint

* Fix lint

* return stopped check

Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
Co-authored-by: b00ris <b00ris@mail.ru>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>
Co-authored-by: canepat <16927169+canepat@users.noreply.github.com>
2021-03-19 21:24:49 +00:00
..
adapter Revert "Extract validating interface (#1120)" (#1543) 2021-03-05 20:34:23 +00:00
cli Compilation fixes 2021-03-14 08:00:37 +00:00
node Merge branch 'master' into geth-1-10-1 2021-03-17 16:50:20 +01: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 Trie: add invariant - first level of trie must be in DB (to ensure having 100% trie structure in trie_account table) (#1522) 2021-03-13 09:30:54 +07:00
silkworm Integrate Silkworm execution (#1344) 2020-11-28 15:08:02 +00:00
snapshotsync Split header prefix bucket to headers, td and canonical (#1556) 2021-03-19 12:54:47 +00:00
stages More updates to downloader, new p2psentry protocol (#1559) 2021-03-19 21:24:49 +00:00
transactions Fix rcpdaemon compilation 2021-03-14 18:52:15 +00:00
trie go 1.16 support (#1509) 2021-03-19 16:32:52 +07: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