Eugene Kabanov
4436c85ff7
Forward sync refactoring. ( #1191 )
...
* Forward sync refactoring.
Rename Quarantine.pending to Quarantine.orphans.
Removing "old" fields.
* Fix test's FetchRecord.
* Fix `checkResponse` to not allow duplicates in response.
2020-06-18 12:03:36 +02:00
Dustin Brody
db870fead4
update 20 beacon chain protocol spec refs
2020-06-18 08:39:28 +00:00
Jacek Sieka
e813111b3b
peers rpc call
...
simple way to display nbc peer table
2020-06-18 07:29:20 +00:00
tersec
ee9f4a2e3f
remove skipMerkleValidation and skipBlockParentRootValidation ( #1197 )
2020-06-18 07:56:47 +02:00
Dustin Brody
ffca27b45f
update 24 v0.11.x spec refs to v0.12.1
2020-06-17 12:11:03 +00:00
Jacek Sieka
8fbbd59885
metric names ( #1188 )
...
* fix metric names to not clash with native libp2p metrics
* run testnet node with rpc enabled by default
2020-06-17 13:04:24 +02:00
Dustin Brody
5b6ade043c
remove unused import
2020-06-17 09:25:54 +00:00
Dustin Brody
ec85a8bdbf
update a dozen unchanged spec refs to v0.12.1
2020-06-17 09:25:54 +00:00
Jacek Sieka
49e9167b28
clean up dump feature
...
* don't write blocks that get added to database
* don't write states
* write to folders
* add state dumping feature to `ncli_db` to get any known state from the
database
2020-06-16 13:44:37 +00:00
kdeme
a25bc025d1
Start discovery after starting libp2p switch
2020-06-16 13:33:46 +00:00
Jacek Sieka
5c25d23ef1
eth2hash -> eth2digest
...
hash in nim is the insecure hash-map helper - might as well use `digest`
consistently to mark the difference
2020-06-16 13:30:21 +00:00
Jacek Sieka
60176b8cc1
Revert "Dual headed fork choice ( #1163 )" ( #1181 )
...
This reverts commit 090f06614a
.
2020-06-16 09:46:00 +02:00
Jacek Sieka
89e4819ce9
collect signature production and verificaiton in one place ( #1179 )
...
* collect signature production and verificaiton in one place
Signatures are made over data and domain - here we collect all such
activities in one place.
Also:
* security: fix cast-before-range-check
* log block/attestation verification consistently
* run block verification based on `getProposer` in its own history
* clean up some unused stuff
* import
* missing raises
2020-06-16 07:45:04 +02:00
Ștefan Talpalaru
9335533503
bump submodules
2020-06-16 04:27:20 +00:00
Mamy Ratsimbazafy
090f06614a
Dual headed fork choice ( #1163 )
...
* Dual headed fork choice
* fix finalizedEpoch not moving
* reduce fork choice verbosity
2020-06-16 00:40:16 +02:00
Eugene Kabanov
96f26c447c
Replace zero-point rewind with rewind to latest finalized epoch's first slot. ( #1176 )
...
* Replace zero-point rewind with rewind to latest finalized epoch's first slot.
* Fix tests.
* Add missing penalty for MissingParent
Fix comments.
2020-06-15 21:41:26 +02:00
Dustin Brody
8a2c796e83
switch 12 unchanged spec references from 0.11.x to 0.12.1; line-wrap and remove pointless-to-counterproductive "return"
2020-06-15 10:10:31 +00:00
Eugene Kabanov
50c5d47250
Add maximum number of workers (peers used) by SyncManager (default: 10) ( #1172 )
...
Refactor and simplification of `sync` procedure.
Fix aggressive looping on excessive recurring failures.
2020-06-14 11:45:53 +02:00
Jacek Sieka
360ebd705f
db: compress with snappy
...
* 3gb vs 12gb for 4000 epochs of witti
* 3-4x sync blocks/sec performance improvement on my FDE SSD drive
* generate less quirky code for primitive types
2020-06-14 11:33:00 +03:00
Dustin Brody
1d1e90adf4
Update 36 spec refs from 0.11.x to 0.12.1
2020-06-12 19:41:03 +00:00
Jacek Sieka
78b767f645
avoid genericAssign for beacon node types ( #1166 )
...
* avoid genericAssign for beacon node types
ok, I got fed up of this function messing up cpu measurements - it's so
ridiculously slow, it's sad.
before, while syncing:
```
40,65% beacon_node_shared_witti_0 [.]
genericAssignAux__U5DxFPRpHCCZDKWQzM9adaw
9,02% libc-2.31.so [.] __memmove_avx_unaligned_erms
7,07% beacon_node_shared_witti_0 [.] BIG_384_58_monty
5,19% beacon_node_shared_witti_0 [.] BIG_384_58_mul
2,72% beacon_node_shared_witti_0 [.] memcpy@plt
1,18% [kernel] [k] rb_next
1,17% beacon_node_shared_witti_0 [.] genericReset
1,06% [kernel] [k] map_private_extent_buffer
```
after:
```
24,88% beacon_node_shared_witti_0 [.] BIG_384_58_monty
20,29% beacon_node_shared_witti_0 [.] BIG_384_58_mul
3,15% beacon_node_shared_witti_0 [.] BIG_384_58_norm
2,93% beacon_node_shared_witti_0 [.] BIG_384_58_add
2,55% beacon_node_shared_witti_0 [.] BIG_384_58_sqr
1,64% beacon_node_shared_witti_0 [.] BIG_384_58_mod
1,63% beacon_node_shared_witti_0 [.]
sha256Transform__BJNBQtWr9bJwzqbyfKXd38Q
1,48% beacon_node_shared_witti_0 [.] FP_BLS381_add
1,39% beacon_node_shared_witti_0 [.] BIG_384_58_sub
1,33% beacon_node_shared_witti_0 [.] BIG_384_58_dnorm
1,14% beacon_node_shared_witti_0 [.] FP2_BLS381_mul
1,05% beacon_node_shared_witti_0 [.] BIG_384_58_cmove
1,05% beacon_node_shared_witti_0 [.]
get_shuffled_seq__4uncAHNsSG3Pndo5H11U9aQ
```
* better field iteration
2020-06-12 21:10:22 +02:00
Jacek Sieka
42832cefa8
Small fixes ( #1165 )
...
* random fixes
* create dump dir on startup
* don't crash on failure to write dump
* fix a few `uint64` instances being used when indexing arrays - this
should be a compile error but isn't due to compiler bugs
* fix standalone test_block_pool compilation
* add signed block processing in ncli
* reuse cache entry instead of allocating a new one
* allow for small clock disparities when validating blocks
2020-06-12 18:43:20 +02:00
tersec
c8f24ae3b8
Remove three skipMerkleValidation usages ( #1164 )
...
* remove three skipMerkleValidation usages
* remove a couple obsolete comments/TODOs
2020-06-12 18:03:46 +02:00
Kim De Mey
68a8b7d969
Filter discovery nodes on forkId ( #1162 )
2020-06-12 16:14:18 +02:00
Zahary Karadjov
9363169098
Cosmetic improvement for the statusbar
2020-06-11 17:40:08 +03:00
Zahary Karadjov
cf6a869e9e
Address some TODO items; Handle start-up before genesis more properly
2020-06-11 17:40:08 +03:00
Zahary Karadjov
c773e10c1a
Attempt to reduce the risk of dropped network connections during the loading of KeyStores
2020-06-11 17:40:08 +03:00
Zahary Karadjov
25821331c4
More greppable code for the onPeerConnected operation
2020-06-11 17:40:08 +03:00
Zahary Karadjov
811ba9aacd
Fix SSZ issues on 32-bit platforms
2020-06-11 17:40:08 +03:00
Zahary Karadjov
fdaf419e41
Address review comments
2020-06-11 17:40:08 +03:00
Zahary Karadjov
6e88a07b51
Fix the validator client build
2020-06-11 17:40:08 +03:00
Zahary Karadjov
2acda1c115
Provide a default value for secretsDir (similar to validatorsDir)
2020-06-11 17:40:08 +03:00
Zahary Karadjov
a75c632f7a
Fixed launch_local_testnet; Renamed validator_keygen to keystore_directories
2020-06-11 17:40:08 +03:00
Zahary Karadjov
a8113cf2bc
Restore the local sim to a working state
2020-06-11 17:40:08 +03:00
Zahary Karadjov
17343442ea
Implement more of the KeyStore spec and integrate it in the beacon node
2020-06-11 17:40:08 +03:00
Eugene Kabanov
1fc9413c48
Fix #1153 . ( #1160 )
...
Add ability for SyncQueue to recover from unexpected MissingParent.
2020-06-11 16:20:53 +02:00
Jacek Sieka
016cc22173
show peer info on connect ( #1155 )
2020-06-11 07:14:26 +02:00
Viktor Kirilov
e7febc2e2b
can finalize successfully with external VCs! + some other cleanup
2020-06-10 13:50:50 +03:00
Viktor Kirilov
06873abde3
fixed build
2020-06-10 13:50:50 +03:00
Viktor Kirilov
3bae40ae91
- extracted the commands to run a VC into a separate run_validator.sh script
...
- each BN gets half of its previous validators as inProcess and the other half goes to the respective VC for that BN - using separate data dirs where the keys are copied
- also removed a few command line options which are no longer necessary
- block proposals originating from a VC are propagated from one BN to the rest properly
- other cleanup & moving code back to since it is no longer used elsewhere
2020-06-10 13:50:50 +03:00
Mamy Ratsimbazafy
ce897fe83f
[Split fork choice PR] Derisk-ed attestation checks changes ( #1154 )
...
* Derisked attestation pool improvements
* tune down frequent logs
* VoteTracker logging
2020-06-10 08:58:12 +02:00
Dustin Brody
a9f73ac8fb
poke
2020-06-09 18:39:05 +00:00
Dustin Brody
8f7541959a
allow compile-time switching between v0.11.3 and v0.12.1
2020-06-09 18:39:05 +00:00
Dustin Brody
36f15a3688
complete re-implmentation of reasonable asymptotic-complexity algorithms from 0.11.3
2020-06-09 18:39:05 +00:00
Dustin Brody
35f67cec60
remove the scaffolding get_empty_per_epoch_cache() calls and the pointless construction and return/discarding of zero-filled arrays
2020-06-09 18:39:05 +00:00
Dustin Brody
5582ecc1f4
remove some debugging code
2020-06-09 18:39:05 +00:00
Dustin Brody
cc13153fc6
initial 0.12.1 beacon chain spec
2020-06-09 18:39:05 +00:00
Jacek Sieka
1e71388093
Include finalization, head and time (in that order) in standard bar ( #1142 )
...
These are the 3 most important things in the life of a beacon-node -
finalization checkpoint for security, head + time for seeing that we're
synced and working.
The order given is the expected increasing order that things should be
moving in - finalization lags head, and head lags clock - the structure
helps the user remember, but also see the pattern where time is getting
out of sync with head.
A validator would also want to know when the next action is going to be
(ie next attestation / block production) but that's for another day.
2020-06-08 18:04:11 +02:00
Eugene Kabanov
040e38529a
Fix #1140 . ( #1143 )
...
SeenTable is now able to hold peers with different timeout values.
2020-06-08 18:02:50 +02:00
tersec
a50415a719
temporary workaround for witti attestation dropping ( #1131 )
2020-06-08 09:22:31 +02:00