329d18ef6f
Reason: - produce and seed snapshots earlier on chain tip. reduce depnedency on "good peers with history" at p2p-network. Some networks have no much archive peers, also ConsensusLayer clients are not-good(not-incentivised) at serving history. - avoiding having too much files: more files(shards) - means "more metadata", "more lookups for non-indexed queries", "more dictionaries", "more bittorrent connections", ... less files - means small files will be removed after merge (no peers for this files). ToDo: [x] Recent 500K - merge up to 100K [x] Older than 500K - merge up to 500K [x] Start seeding 100k files [x] Stop seeding 100k files after merge (right before delete) In next PR: [] Old version of Erigon must be able download recent hashes. To achieve it - at first start erigon will download preverified hashes .toml from s3 - if it's newer that what we have (build-in) - use it. |
||
---|---|---|
.. | ||
.github/workflows | ||
bptree | ||
chain | ||
commitment | ||
common | ||
compress | ||
crypto | ||
diagnostics | ||
direct | ||
downloader | ||
etl | ||
gointerfaces | ||
kv | ||
metrics | ||
mmap | ||
patricia | ||
pedersen_hash | ||
recsplit | ||
rlp | ||
sais | ||
state | ||
tools | ||
txpool | ||
types | ||
.gitignore | ||
.golangci.yml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
README.md | ||
rules.go | ||
tools.go |
erigon-lib
Parts of Erigon codebase, written from scratch and licensed under Apache 2.0.
License requirements
erigon-lib dependencies use various open source licenses compatible with Apache 2.0. This is checked on CI using make lint-licenses
.
In order to keep license purity it is not allowed to refer to the code in the erigon root module from erigon-lib. This is ensured by the go.mod
separation.
It is not allowed to copy or move code from erigon to erigon-lib unless all original authors agree to relief the code license from GPL to Apache 2.0.
Code migration policy
It is encouraged to write new erigon code inside erigon-lib.
It is encouraged to move and relicense parts of the code from erigon to erigon-lib that are safe and easy to move. For example, code written from scratch by erigon core contributors that has no significant external contributions could be refactored and moved.