Commit Graph

3512 Commits

Author SHA1 Message Date
Jacek Sieka 7f52ffb8d9
clean up block processing (#2610)
* gossip_to_consensus -> block_processor (it's processing only blocks,
but not only from gossip)
* measure queue and validation time for blocks
* measure assignment and state loading times for updateStateData
* avoid some unnecessary block copies in block sync
* warn that database is corrupt if we hit tail without a state
2021-05-28 19:34:00 +03:00
tersec c06ffc7804
proposed structure for altair (#2323)
* proposed structure for hf1

* refactor datatypes.nim into datatypes/{base, phase0, hf1}.nim

* hf1 is Altair

* some syncing with alpha 2

* adjust epoch processing to disambiguate access to RewardFlags

* relocate StateData to stay consistent with meaning phase 0 StateData

* passes v1.1.0 alpha 5 SSZ consensus object tests

* Altair block header test fixtures work

* fix slash_validator() so that Altair attester slashings, proposer slashings, and voluntary exit textures work

* deposit operation Altair test fixtures work

* slot sanity and all but a couple epoch transition tests switched to Altair

* attestation Altair test fixtures work

* Altair block sanity test fixtures work

* add working altair sync committee tests

* improve workarounds for sum-types-across-modules Nim bug; incorporate SignedBeaconBlock root reconstuction to SSZ byte reader
2021-05-28 15:25:58 +00:00
tersec 46c5a0110a
log doppelganger attestation signature; rm withState.HashedBeaconState uses (#2608) 2021-05-28 15:51:15 +03:00
Jacek Sieka 5be1f8bf93
Revert "increase sqlite cache size (#2607)"
This reverts commit f55c4bc402.
2021-05-28 11:35:23 +02:00
Jacek Sieka f55c4bc402
increase sqlite cache size (#2607)
This is a test to see how the prater nodes react
2021-05-27 21:16:04 +02:00
Jacek Sieka d16da06c92 ncli_db: validator performance database tool
Record attestation performance per epoch in sqlite database
2021-05-27 19:14:26 +03:00
cheatfate 90e3fb246f Fix assertion crash when posting block via REST API. 2021-05-27 18:59:30 +03:00
Jacek Sieka ab70f371e1
Revert "create new database in separate file (#2596)" (#2604)
This reverts commit eebc828778.

Adding a separate file turns out not to be enough. This PR reverts the
separate file change.

Another theory is that the large kvstore table causes cache thrashing -
all database connections share a common page cache which would explain
the poor performance of the separate file solution.
2021-05-27 12:59:42 +02:00
Mamy André-Ratsimbazafy d05c9dbcf4 improve batch crypto sanity checks error reporting 2021-05-26 18:17:12 +03:00
Ștefan Talpalaru 9ddf7fea23 dist: use Ubuntu-18.04 to build ARM64 binaries 2021-05-26 16:51:06 +03:00
Ștefan Talpalaru 73e9448a1a dist: reduce debugging info size in official binaries
By moving from Nim's default of "-g3" to "-g1" we get binaries that are
half as large and still have enough debugging symbols for backtraces,
but not enough for GDB debugging.
2021-05-26 16:49:53 +03:00
Johann Bauer c01357c47f
Book: Add instructions on how to download precompiled release (#2600) 2021-05-26 10:43:06 +02:00
Jacek Sieka 18d26071d8
hotfix migration
should have just kept the full copy-pasted dbseq init
2021-05-26 09:56:21 +02:00
Jacek Sieka 80ed54378c
nim-eth: fix commit 2021-05-26 09:40:08 +02:00
Jacek Sieka eebc828778
create new database in separate file (#2596)
The V1 table structure shows great improvements in performance, but if
there's an old `kvstore` without rowid:s, these benefits are nullified:
reorgs during writes and deletes remain expensive (even if the
degradation is reduced somewhat).

This PR creates the tables in a new file instead, and uses the old file
as a read-only store - this has several interesting properties:

* the old database is left completely untouched - this guarantees that
downgrades work smooth (they'll only need to resync their missing
portions)
* starting sync after this PR means only a v1 database is created
* v0 databases stick around - no migration is performed (for now)

Future PR:s can introduce migration of the data from one database to
another - a simply copy will take hours which is downtime we want to
avoid - at that point, it might make sense to migrate straight to era
files instead.
2021-05-26 09:07:18 +02:00
tersec d69e06e519
bump nim-eth2-scenarios to stop downloading v1.0.1 test vectors (#2598) 2021-05-24 19:31:48 +00:00
0xmiel b7db2f0a29
Book edits (#2597)
* simplify beacon node quickstart

* remove extra emacs generated file

* focus sync info around slot start message

* sync edits

* log rotate edits + clarifications

* remove validator keys folder
2021-05-24 16:03:45 +02:00
tersec 3a59dc16c2
use v1.1.0 phase 0 test vectors (#2592)
* use v1.1.0 phase 0 test vectors

* re-export process_final_updates()
2021-05-24 10:42:40 +02:00
Jacek Sieka 584fcd50c1
ncli: fix inclusion distance statistic (#2587) 2021-05-24 10:40:45 +02:00
yslcrypto 038102cb92 update toc 2021-05-22 11:24:03 +02:00
yslcrypto b1b16d1310 Merge branch 'unstable' of github.com:status-im/nim-beacon-chain into unstable 2021-05-22 11:17:15 +02:00
0xmiel 8c8fe92cd0
refocus guide around prater (#2593) 2021-05-22 11:16:44 +02:00
yslcrypto b400243bda refocus guide around prater 2021-05-22 11:13:27 +02:00
tersec 056ff59595
bump eth2-testnets (#2589) 2021-05-21 13:09:35 +00:00
yslcrypto 7088ed8f89 update book toc 2021-05-21 14:54:36 +02:00
0xmiel 4131e0941f
Book updates may 21 (#2590)
* update deposit page

* edit keys.md

* edit connect-eth2.md

* remove extra emacs generated file

* update run a validator guide

* update system requirements

* update start-syncing.md
2021-05-21 14:49:12 +02:00
tersec 1c05865656
bump nim-eth2-scenarios to download v1.1.0-alpha.5 test vectors (#2588) 2021-05-21 10:54:59 +00:00
tersec 0b0bfd1de0
use StateData in place of BeaconState outside state transition code (#2551)
* use StateData in place of BeaconState outside state transition code

* propagate more StateData usage

* remove withStateVars().state

* wrap get_beacon_committee(BeaconState, ...) as gbc(StateData, ...)

* switch makeAttestation() to use StateData

* use StateData wrapper/dispatcher for get_committee_count_per_slot()

* convert AttestationCache.init(), weak subjectivity functions, and updateValidatorMetrics()

* add get_shuffled_active_validator_indices(StateData) and get_block_root_at_slot(StateData)

* switch makeAttestationData() to StateData

* sync AllTests-mainnet.md after rebase
2021-05-21 09:23:28 +00:00
cheatfate be5661eebc Fix /api/eth/v1/validator/aggregate_and_proofs call 2021-05-21 09:47:13 +03:00
cheatfate 6869a1ad33 Convert all the tuples to objects because of de-serialization of tuples issue. 2021-05-21 09:47:13 +03:00
Ștefan Talpalaru 8b15c5d75f
CI cron: change step order 2021-05-20 20:00:38 +02:00
Ștefan Talpalaru 74722f1695
CI cron: reschedule 2021-05-20 19:02:06 +02:00
cheatfate d61b5f46e1 Added missing redirection for POST /eth/v1/beacon/pool/attestations. 2021-05-20 19:42:08 +03:00
cheatfate d4970e07d2 Use atSlot() instead of getBlockByXXX(). 2021-05-20 19:42:08 +03:00
Ștefan Talpalaru 00dadaba15
CI cron: reschedule it 2021-05-20 18:36:33 +02:00
Ștefan Talpalaru dd84ecd520
CI cron: debug fixture download 2021-05-20 18:28:03 +02:00
Ștefan Talpalaru 57259cf0d9
CI cron: debug fixture download 2021-05-20 18:21:16 +02:00
Ștefan Talpalaru 876a4cd684
CI cron: try a different expression syntax 2021-05-20 17:52:28 +02:00
Jacek Sieka 8dbd796401 prune `validatorIndexFromPubKey` table 2021-05-20 14:10:23 +03:00
Zahary Karadjov acee2d3709
Remove an inappropriate merge artifact 2021-05-20 13:55:33 +03:00
Zahary Karadjov dc49a51654
Merge stable into unstable (take 2) 2021-05-20 13:52:09 +03:00
Zahary Karadjov b7aa30adfd
Merge stable into unstable 2021-05-20 13:50:40 +03:00
tersec d8bb91d9a9
partially integrate eth1 merge changes (#2548)
* partially integrate eth1 merge changes

* use hexToSeqByte() and validate execution engine opaque transaction length

* remove incorrect REST serialization code
2021-05-20 10:44:13 +00:00
Johann Bauer 14c258db8b
Fix typo in book (#2580) 2021-05-20 12:41:33 +02:00
yslcrypto 5bf5804bc1 update faq 2021-05-19 16:29:57 +02:00
yslcrypto 8ca2329a20 minor restructure 2021-05-19 16:26:39 +02:00
yslcrypto 62a98e9c6d minor restructure 2021-05-19 16:21:05 +02:00
TennisBowling d27c7b1f53
Add clarity to docs surrounding command line arguments, suggest data-dir when syncing, and polishing up for mainnet (#2527)
* mainnet

* add clarity to command line rules

* add datadir suggestion when syncing

* remind to pass with all calls

* noCommand added into troubleshooting

* review

Co-authored-by: 0xmiel <sacha.saint-leger@ethereum.org>

* review

Co-authored-by: 0xmiel <sacha.saint-leger@ethereum.org>

* review

Co-authored-by: 0xmiel <sacha.saint-leger@ethereum.org>

* review

Co-authored-by: 0xmiel <sacha.saint-leger@ethereum.org>

* typo

* /lib/systemd/system/ lets you enable on startup

Co-authored-by: 0xmiel <sacha.saint-leger@ethereum.org>
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
Co-authored-by: 0xmiel <sacha@status.im>
2021-05-19 16:17:07 +02:00
0xmiel 199ebc995b
restructure, merge, simplify (#2581) 2021-05-19 16:12:25 +02:00
yslcrypto 07533f41ba update binaries page 2021-05-19 12:04:10 +02:00