499 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 d568f0f7a37f6e833b37a0111fd59e523864cd97.

* 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
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