Commit Graph

199 Commits

Author SHA1 Message Date
Jacek Sieka aabdd34704
e2store: add era format (#2382)
Era files contain 8192 blocks and a state corresponding to the length of
the array holding block roots in the state, meaning that each block is
verifiable using the pubkeys and block roots from the state. Of course,
one would need to know the root of the state as well, which is available
in the first block of the _next_ file - or known from outside.

This PR also adds an implementation to write e2s, e2i and era files, as
well as a python script to inspect them.

All in all, the format is very similar to what goes on in the network
requests meaning it can trivially serve as a backing format for serving
said requests.

Mainnet, up to the first 671k slots, take up 3.5gb - in each era file,
the BeaconState contributes about 9mb at current validator set sizes, up
from ~3mb in the early blocks, for a grand total of ~558mb for the 82 eras
tested - this overhead could potentially be calculated but one would lose
the ability to verify individual blocks (eras could still be verified using
historical roots).

```
-rw-rw-r--. 1 arnetheduck arnetheduck   16  5 mar 11.47 ethereum2-mainnet-00000000-00000001.e2i
-rw-rw-r--. 1 arnetheduck arnetheduck 1,8M  5 mar 11.47 ethereum2-mainnet-00000000-00000001.e2s
-rw-rw-r--. 1 arnetheduck arnetheduck  65K  5 mar 11.47 ethereum2-mainnet-00000001-00000001.e2i
-rw-rw-r--. 1 arnetheduck arnetheduck  18M  5 mar 11.47 ethereum2-mainnet-00000001-00000001.e2s
...
-rw-rw-r--. 1 arnetheduck arnetheduck  65K  5 mar 11.52 ethereum2-mainnet-00000051-00000001.e2i
-rw-rw-r--. 1 arnetheduck arnetheduck  68M  5 mar 11.52 ethereum2-mainnet-00000051-00000001.e2s
-rw-rw-r--. 1 arnetheduck arnetheduck  61K  5 mar 11.11 ethereum2-mainnet-00000052-00000001.e2i
-rw-rw-r--. 1 arnetheduck arnetheduck  62M  5 mar 11.11 ethereum2-mainnet-00000052-00000001.e2s
```
2021-03-15 11:31:39 +01:00
tersec dfc3322fe2
last few v1.0.0 spec refs to v1.0.1 (#2404) 2021-03-13 20:51:39 +00:00
Jacek Sieka 74a75d05a0
update doc links 2021-03-10 09:47:42 +01:00
Afr Schoe c6f94ce165
docs: add link to keep-updated in build, fix #2379 (#2380) 2021-03-05 09:53:55 +01:00
Mamy Ratsimbazafy 5d7f9c3a04
Consensus object pools [reorg 4/5] (#2374)
* Add documentation

* make test doesn't try to build the beacon node :/
2021-03-04 10:13:44 +01:00
Mamy Ratsimbazafy 3276dfc683
Consolidate modules by areas [part 1] (#2365)
* Move sync in subfolder

* move validator related thingies in validators

* fix binary builds

* update bounds comment [skip ci]
2021-03-02 11:27:45 +01:00
tersec 28e9568d3c
update docs to use v1.0.1 spec ref URLs (#2368) 2021-03-02 09:32:07 +01:00
Mamy Ratsimbazafy 8dcea299d0
Migrate audit tasks from Notion (#2363) 2021-03-01 11:22:35 +01:00
Mamy Ratsimbazafy 08f063aba9
[RFC - Doc] State of Nimbus block & attestation flows (#2351)
* Expand documentation on block flow [skip ci]

* address review comments [skip ci]

* Update with GossipFlow out [skip ci]

* LocalBlockProposer -> LocalValidatorDuties +  WeakSubjectivitySync

* First outline of attestation flow

* finish up prose
2021-03-01 11:22:16 +01:00
Sacha Saint-Leger 37838db82e
docs readme update (#2346)
* update nimbus book readme

* Revert "update nimbus book readme"

This reverts commit d568f0f7a3.

* update docs readme
2021-02-19 15:59:40 +01:00
Sacha Saint-Leger 3d25f0db01
book updates (#2345)
* edit log rotation page

* update command line options

* add github edit button
2021-02-19 12:17:48 +01:00
Jacek Sieka ff94e1a212
Document log rotation (#2327)
* Document log rotation

* phrasing updates

Co-authored-by: Dustin Brody <tersec@users.noreply.github.com>
2021-02-18 07:57:41 +01:00
Ștefan Talpalaru 4bb90351f6
books: sanity checks and docs (#2320) 2021-02-15 08:33:49 +01:00
Sacha Saint-Leger 855c3e849d
update intro and binary distribution edits (#2306)
* update intro and binary distribution edits

* stefan's suggestions
2021-02-10 17:29:48 +01:00
yslcrypto 237453ec45 fix api error 2021-02-08 15:00:21 +01:00
Ștefan Talpalaru 979bb39b41 docs: binary distribution internals 2021-02-08 14:53:12 +02:00
yslcrypto 6528707e44 add local simulations to the for developers page 2021-01-27 20:38:16 +01:00
yslcrypto fa07c0f0a1 link to quickstart guide in intro 2021-01-27 19:32:04 +01:00
yslcrypto 3016815860 update quickstart 2021-01-27 19:26:08 +01:00
Ștefan Talpalaru 20435880db CI: build and publish a Docker image for end-users
Also disable the log file and log colours for distribution binaries, to
avoid duplicate logs.
2021-01-26 18:52:59 +02:00
Mamy Ratsimbazafy 70a03658e3
Block validation flow v2 + Batch (serial) sig verification (#2250)
* bump nim-blscurve

* Outline the block validation flow

* introduce the SigVerified types, pass the tests

* Split clearance/quarantine to prepare for batch crypto verif

* Add a batch signature collector

* Make clearance use SigVerified block and split verification between crypto and state transition

* Always use signedBeaconBlock for the onBlockAdded callback

* RANDAO signing_root is the epoch instead of the full block

* Support skipping BLS for testing

* Fix compilation of the validator client

* Try to fix strange errors MacOS and Jenkins (Clang, unknown type name br_hmac_drbg_context in stdlib_assertions.nim.c)

* address https://github.com/status-im/nimbus-eth2/pull/2250#discussion_r561819858

* address https://github.com/status-im/nimbus-eth2/pull/2250#discussion_r561828025

* onBlockAdded callback should use TrustedSignedBeaconBlock https://github.com/status-im/nimbus-eth2/pull/2250#discussion_r561837261

* address https://github.com/status-im/nimbus-eth2/pull/2250#discussion_r561828946

* Use the application RNG: https://github.com/status-im/nimbus-eth2/pull/2250#discussion_r561815336

* Improve codegen of conversion zero-cost)

* Quick fixes with loadWithCache after #2259 (TODO: graceful error since pubkey validations is now done first in signatures_batch)

* Graceful handle rogue pubkeys and signatures now that those are lazy-loaded
2021-01-25 20:45:48 +02:00
Jakub Sokołowski 095b191aee
add cname file to docs to fix domain issues (#2260)
mdbook has an option called `cname`:
https://rust-lang.github.io/mdBook/format/config.html#html-renderer-options

But it appears to be only included starting from `0.4.3`:
https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-043

Which means this will be more robust, if uglier.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-01-22 17:57:55 +01:00
yslcrypto 173a2fe018 update intro and metrics tutorial 2021-01-22 16:53:49 +01:00
Sacha Saint-Leger 67cce36f06
fix metrics guide (#2234) 2021-01-13 14:21:00 +01:00
Sacha Saint-Leger 37c3c3877c
add troubleshooting section on time (#2232) 2021-01-13 11:41:47 +01:00
Nikola Ristić 3a59b76a01
Update broken repo link (#2208) 2020-12-30 09:55:20 +01:00
Sacha Saint-Leger be74df70e0
Update systemd page: change metrics default and add note (#2204)
* change default and add note on metrics to systemd page

* add link to metrics guide from systemd page
2020-12-21 17:59:20 +01:00
Sacha Saint-Leger a1ba188de3
Update systemd page and delete old files (#2200)
* remove old pages

* update systemd file and move it to how-to's
2020-12-21 10:04:46 +01:00
Jacek Sieka 3d87bc0033 Branch guide
* update developer resources to include new branch structure
(https://github.com/status-im/nimbus-eth2/issues/2163)
* remove some information duplicated between readme and developer
handbook
2020-12-18 19:32:27 +02:00
Sacha Saint-Leger 9df437541d
Book updates (#2183)
* remove eth2stats from systemd guide

* Make clear that eth2stats is not recommended for mainnet

* edits
2020-12-15 12:31:23 +01:00
Sacha Saint-Leger 14c5d6db1e
Update Pi guide: systemd advice (#2181) 2020-12-14 12:51:16 +01:00
Ștefan Talpalaru e59437c5e2
new Make target: "benchmarks" (#2174)
It runs some benchmarks, collects the output and generates HTML charts.
2020-12-11 12:12:43 +01:00
yslcrypto e361221d72 remove mention of genesis 2020-12-10 13:09:38 +01:00
yslcrypto 8ad3b3f551 rm empty file 2020-12-09 13:10:52 +01:00
yslcrypto e11c27b1ab update toc 2020-12-09 13:10:15 +01:00
Sacha Saint-Leger f785466638
add design goals page (#2166) 2020-12-09 12:59:42 +01:00
yslcrypto d0c743e6c4 Quickstart guide + updates 2020-12-07 16:38:34 +01:00
Eugene Kabanov 46c2740097
Documentation for Validators API. (#2147)
* Recover proper validator API call and remove incorrect one.
Add more examples to API documentation.
2020-12-07 14:51:14 +02:00
yslcrypto eff98e6550 Update toc and title 2020-12-07 11:05:49 +01:00
yslcrypto e73f3e77b8 Edit generate keys page 2020-12-07 11:01:48 +01:00
yslcrypto 34eb5d33c8 Edit Recover keys 2020-12-07 00:47:26 +01:00
yslcrypto 14ddf68402 Edit key recovery page 2020-12-07 00:26:56 +01:00
Sacha Saint-Leger c26b06dd12
Add page on recovering key(s) (#2153)
* Add page on recovering key

* rm extra file
2020-12-07 00:15:19 +01:00
yslcrypto 508ea91998 Remove incorrectly commented out css lines 2020-12-03 14:38:52 +01:00
yslcrypto 2d6c80da2d fix typo in SUMMARY.MD 2020-12-03 14:06:36 +01:00
yslcrypto b4defc9b4a add placeholders 2020-12-03 04:00:14 +01:00
yslcrypto 9c568748a5 fix toc bug 2020-12-03 03:37:44 +01:00
yslcrypto 7f77fa29bc Restructure 2020-12-03 03:29:33 +01:00
yslcrypto ba215706fa Edits 2020-12-03 03:07:56 +01:00
yslcrypto eddb4fe250 style edits 2020-12-03 02:50:11 +01:00