erigon-pulse/turbo
battlmonstr 32ca0e5ab1
sync: revert flawed dropUselessPeers logic and alleviate its issues (#8062)
The current logic is flawed, because it drops all peers that are less
synced.
It is valid to return empty responses by the eth spec.
A proper logic should penalize from the context of the sync process,
where enough "reputation" data is collected about a peer.

In order to be able to connect to erigon 2.48 peers that have
--sentry.drop-useless-peers enabled,
this adds a check to not reply with an empty headers list.
If we reply with an empty list, we're going to be considered useless and
kicked.
Once enough of erigon nodes are updated in the network past this commit,
this check should be removed,
because it is totally acceptable to return an empty list by the eth
spec.
2023-08-25 11:42:54 +02:00
..
adapter Add parentBeaconBlockRoot to RPCMarshalHeader (EIP-4788) (#7997) 2023-08-11 10:26:44 +02:00
app Snapshots of Bor events (#7901) 2023-08-18 17:10:35 +01:00
backup move mdbx to new org (#8061) 2023-08-24 18:00:24 +07:00
builder Fix CopyTxs for BlobTxWrapper (EIP-4844) (#8002) 2023-08-11 20:30:02 +02:00
cli sync: revert flawed dropUselessPeers logic and alleviate its issues (#8062) 2023-08-25 11:42:54 +02:00
cmdtest move all packages from "internal" folder - to simplify users live (#5857) 2022-10-25 09:58:25 +07:00
debug [devnet] Always select first node, fix configuration mess up between nodes (#7863) 2023-07-10 11:37:55 +01:00
engineapi updateForkChoice: send state changes to txpool after tx is committed (#8035) 2023-08-17 16:03:12 +02:00
execution/eth1 [Caplin Phase 2]: Initial working implementation (#8033) 2023-08-18 15:43:22 +02:00
jsonrpc Correctly compute fork id when timestamp fork is activated in genesis (#8046) 2023-08-21 15:35:13 +02:00
logging added --log.dir.prefix flag (#7714) 2023-06-12 15:30:05 +01:00
mock reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
node [devnet] Always select first node, fix configuration mess up between nodes (#7863) 2023-07-10 11:37:55 +01:00
rlphacks Use go:build lines and remove obsolete +build lines (#4175) 2022-05-17 14:46:53 +07:00
rpchelper Removed GRPC layer from Engine API (#7878) 2023-07-12 18:11:41 +02:00
services Snapshots of Bor events (#7901) 2023-08-18 17:10:35 +01:00
shards [interfaces] lower_snake_case field names (#7293) 2023-04-12 10:35:54 +00:00
snapshotsync Snapshots of Bor events (#7901) 2023-08-18 17:10:35 +01:00
stages sync: revert flawed dropUselessPeers logic and alleviate its issues (#8062) 2023-08-25 11:42:54 +02:00
testlog Introduce logger into etl (#7537) 2023-05-18 21:20:07 +01:00
transactions Snapshots of Bor events (#7901) 2023-08-18 17:10:35 +01:00
trie [devnet tool] Side-quest logging - replace quiet parameter (#7464) 2023-05-08 17:52:31 +01:00
README.md Rename to Erigon (#2018) 2021-05-26 11:35:39 +01:00

Erigon-API

Erigon-API is a set of tools for building applications containing Erigon node.

Our own binary erigon is built using it.

Modules

  • cli - erigon-cli, methods & helpers to run a CLI app with Erigon node.

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

  • stagedsync - staged sync algorithm.

Examples

  • erigon - our binary is using erigon-api with all defaults

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

  • erigon-examples - a series of examples for Erigon api