erigon-pulse/turbo
ledgerwatch 59e5502744
Initial work on RPC streaming (#1880)
* Initial work on RPC streaming

* Create the stream and pass it on

* trace_filter expressed as streamable (not finished)

* Reenable call trace index

* Add new line

* Remove storage mode override

* Tool for overriding storage mode

* Diagnostics

* Make trace_filter more streamy

* Streaming debug_traceTransaction and debug_traceCall

* Fix test

* Log error on stream flush

* Enable streaming for http

* Flush the stream too

* Make trace_filter flush too

* Stop streaming if client is not interested

* Try to quiet annoying test|

* Revert "Try to quiet annoying test|"

This reverts commit 42849257bfa52e90140aa535af34b957cd97a222.

* Debug log for test

* Proceed with handshake regardless of whether peer notification worked

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-06 18:37:38 +01:00
..
adapter broadcast new headers (#1847) 2021-05-01 21:03:51 +01:00
cli add --sentry.api.addr flag (#1850) 2021-04-30 16:09:03 +01:00
mock Rpcdaemon: move tx pool to own grpc service, subscribe to pending txs (#1863) 2021-05-04 08:37:17 +07:00
node Connect TxFetcher to Sentry, Add --download.v2 option to TG (#1796) 2021-04-25 11:20:50 +07:00
rlphacks move ./trie to ./turbo/trie (#1114) 2020-09-14 11:33:39 +01:00
rpchelper deprecate PlainDbState in favor of PlainKvState (#1805) 2021-04-26 12:37:48 +07:00
shards check_right_cache_size (#1711) 2021-04-11 11:23:39 +07:00
silkworm Integrate Silkworm execution (#1344) 2020-11-28 15:08:02 +00:00
snapshotsync Clique snapshot timer fixed (#1789) 2021-04-23 20:47:06 +03:00
stages Add kv to stage settings (because it doesn't change in runtime, tx will be passed as Stage func argument) (#1872) 2021-05-04 13:36:03 +01:00
transactions Initial work on RPC streaming (#1880) 2021-05-06 18:37:38 +01:00
trie deprecate tds and trie (#1890) 2021-05-06 15:48:30 +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