Jacek Sieka
3b6a8a692d
cleanup unused chaindag epoch features
...
these are somewhat obsoleted by the more extensive use of EpochRef
2020-08-07 19:49:52 +02:00
Eugene Kabanov
38bf8ccbec
Implement tracing of lags in the logs. ( #1465 )
2020-08-07 16:22:58 +00:00
Jacek Sieka
84a501d1ff
remove one cache, add another ( #1449 )
...
* remove one cache, add another
This cache removes the need for rewinding in most attestation validation
flow since the attestations come from one of two epochs and must be
targetting a viable block.
Additionally, it also removes all state caches which are less likely to
be used over-all - more metrics are needed to track the rewinding.
On risk is that when chains don't finalize, we'll have lots of epochrefs
in memory meaning lots of validator key databases, most being exactly
the same. This can be addressed in any number of ways. Some of the
memory usage is mitigated by the fact that we previously had lots of big
state caches and now we're keeping only keys instead.
* cleanups
* doc
2020-08-06 19:48:47 +00:00
Dmitriy Ryajov
c5077af4bc
decreate amount of concurent dials ( #1460 )
2020-08-06 19:21:12 +00:00
Zahary Karadjov
9861eb1152
Use the same keystore directory names as Lighthouse
...
Rationale: this makes moving keys between the clients eaiser
Other changes:
* Restore building with custom presets
(defaultRuntimePreset is not a template in this mode)
2020-08-06 21:50:19 +03:00
Jacek Sieka
f4c16ed0db
eh cleanups ( #1458 )
...
current exception sometimes buggy in nim
2020-08-06 18:47:39 +00:00
Zahary Karadjov
b902fddd19
Allow loading keystores produced by Lighthouse
...
The spec allows the description to be set to 'null'
2020-08-06 17:33:57 +03:00
tersec
81b3c0ea40
update spec refs to v0.12.2 ( #1457 )
...
* update spec refs to v0.12.2 and change a .len.uint64 to .lenu64
* pull back from any non-pure-comment changes, since Jenkins is being wonky
2020-08-06 13:05:13 +00:00
Viktor Kirilov
5bbeb38f2d
fixes the BN/VC communication - properly getting the attestation duties & also fixed start.sh
2020-08-06 15:29:05 +03:00
Zahary Karadjov
009e9a6a41
Fix 'make test'
2020-08-06 14:49:58 +03:00
protolambda
e90c5440e8
make eth1 distance runtime configurable
2020-08-06 14:49:58 +03:00
Jacek Sieka
221f372dbc
use peer id in a number of places
2020-08-05 19:34:59 +03:00
Zahary Karadjov
b427c7249f
More logging and metrics (incoming gossip blocks; outgoing aggregated attestations)
2020-08-05 19:28:35 +03:00
Jacek Sieka
deaeb62de3
clean up quarantine
2020-08-05 16:19:55 +02:00
Viktor Kirilov
983d931a83
initializing the pubkeys properly in the rest of the places for the BN/VC communication to work
2020-08-05 16:37:55 +03:00
Viktor Kirilov
154c6bf8ee
fix for the BN/VC communication - related to the lazy initialization of validator public keys
2020-08-05 16:37:55 +03:00
Jacek Sieka
15b99e4c11
cache beacon proposer indices ( #1440 )
...
also clear old epochrefs as they're growing unwieldy
in particular, this speeds up gossip block validation by avoiding the
rewind
2020-08-05 08:28:43 +02:00
tersec
dd0a91de0c
allow a slot's worth of clock disparity in attestation validation ( #1442 )
2020-08-04 20:10:29 +00:00
Dustin Brody
8618cbdf38
keep representations consistent for tests
2020-08-04 23:00:33 +03:00
Dustin Brody
e8c31e4ce8
just in case
2020-08-04 23:00:33 +03:00
Dustin Brody
5e3af9a458
fix validator cache keys
2020-08-04 23:00:33 +03:00
Dustin Brody
2c7d207a72
make test passes
2020-08-04 23:00:33 +03:00
Dustin Brody
9c65c50249
use case statement to avoid runtime doAssert
2020-08-04 23:00:33 +03:00
Dustin Brody
c142de4b7f
be more consistent about pubkeys fed to verify_foo_signature() not being separately initialized, while pubkeys, generally, used for matching purposes, elsewhere explicitly initialized
2020-08-04 23:00:33 +03:00
Dustin Brody
db397cc5f3
lazily initialize validator public keys, which were a third or more of sync CPU usage
2020-08-04 23:00:33 +03:00
Jacek Sieka
ac78e75bf8
lear missing on orphan add in quarantine ( #1441 )
2020-08-04 19:49:25 +00:00
Jacek Sieka
70df0ad057
don't mark quarantined blocks as missing
2020-08-04 22:37:06 +03:00
Jacek Sieka
48aca60e81
add target block to quarantine when missing ( #1438 )
2020-08-04 19:00:55 +00:00
tersec
a979568d74
switch mapIt/find to in-place linear search ( #1436 )
2020-08-04 17:15:27 +00:00
Jacek Sieka
cf8cd8321b
Revert "Lazy crypto [alt design #1369 ] ( #1371 )" ( #1435 )
...
This reverts commit 023f7f4518
.
2020-08-04 17:15:13 +00:00
Jacek Sieka
c6674de5d2
use epoch ref to update fork choice
...
this dramatically speeds up startup in long periods of non-finality
2020-08-04 20:00:31 +03:00
Jacek Sieka
196bc6ea3b
remove redundant attestation check ( #1433 )
...
only viable blocks (descendants of the finalized checkpoint) are in the
dag already
2020-08-04 15:52:46 +00:00
cheatfate
b70462acf8
Fix request manager is not penalizing peers which are failed to deliver blocks.
2020-08-04 18:14:51 +03:00
Zahary Karadjov
4deed117a9
Hotfix: Allow 'make madella' to work with the latest Medalla metadata
2020-08-04 17:55:37 +03:00
Ștefan Talpalaru
b4e434849b
makeBannerAndConfig(): disable ProveInit warning
2020-08-04 15:00:55 +02:00
Ștefan Talpalaru
a1d3532f49
move stateSnapshotContents from BeaconNodeConf ( #1425 )
2020-08-04 12:35:20 +02:00
Zahary Karadjov
d45ee66c21
Remove a confusing warning on Keystore import
2020-08-04 12:17:06 +03:00
Viktor Kirilov
d7d1e072ba
fix for the BN/VC communication since the #1371 PR ( #1416 )
2020-08-04 08:15:26 +00:00
tersec
df80071bcf
update attestation and block validation to v0.12.2; clean up getAncestorAt()/get_ancestor() ( #1417 )
...
* update attestation validation to v0.12.2; clean up getAncestorAt()/get_ancestor()
* update beacon block validation to v0.12.2
2020-08-03 19:47:42 +00:00
Jacek Sieka
d22a2cec2b
Start libp2p before writing ENR file ( #1418 )
...
this makes sure that all libp2p transports are open for business when
the file hits the ground
2020-08-03 19:35:27 +02:00
Dmitriy Ryajov
52d9d269d7
bump libp2p (delayed send, without hooks) ( #1413 )
...
* use `switch.isConnected`
* libp2p
* add timeout to publish
* use isConnected
* adjust timeouts
* latest libp2p master
* do not drop peers
2020-08-03 16:43:22 +00:00
tersec
5b13d8f3fa
synchronize test summaries with make test (and do a few small cleanups) ( #1415 )
2020-08-03 12:07:25 +00:00
tersec
1c6936a35c
add attestations received before referred-to blocks to unresolved list ( #1410 )
2020-08-03 10:49:15 +00:00
tersec
f2dd57db1e
increase allowed missing validators in verifyFinalization mode ( #1414 )
2020-08-03 05:31:35 +00:00
Zahary Karadjov
8c2a9a4950
Switch back to the old undepleted Infura key; Bake in the Medalla genesis state
2020-08-03 03:59:45 +03:00
Zahary Karadjov
d052623381
Fix a trivial issue with 'make medalla' and add more logging
2020-08-03 00:19:25 +03:00
Zahary Karadjov
be2c2e27f3
Cosmetic fixes
2020-08-02 23:00:43 +03:00
Zahary Karadjov
c882b7c2f3
Add Scrypt support in the Keystores
2020-08-02 23:00:43 +03:00
Zahary Karadjov
1aba7aed6d
Updated Keystore test vectors
2020-08-02 23:00:43 +03:00
Zahary Karadjov
c293254ded
Add 'deposits import' command; Switch to NJS when loading the keystores and improve the data validation
2020-08-02 23:00:43 +03:00