Jacek Sieka
efdf759cc0
avoid some slashing protection queries ( #2528 )
...
This PR reduces the number of database queries for slashing protection
from 5 reads and 1 write to 2 reads and 1 write in the optimistic case.
In the process, it removes user-level support for writing the database
in the version 1 format in order to simplify the code flow, and prevent
code rot. In particular, the v1 format was not covered by any unit tests
and has no advantages over v2. The concrete code to read and write it
remains for now, in particular to support upgrades from v1 to v2.
The branch also removes the use of concepts which doesn't work with
checked exceptions - in particular, this highlights code that both
raises exceptions and returns error codes, which could be cleaned up in
the future.
* Cache internal validator ID
* Rely on unique index to check for trivial duplicate votes
* Combine two surround vote queries into one
* Combine API for checking and registering slashing into single function
The slashing DB is normally not a bottleneck, but may become one with
high attached validator counts.
2021-05-04 15:17:28 +02:00
Chris Hobcroft
a3b9990beb
Fixed confusing typo ( #2533 )
...
"One or more" appears to be a better description than "One of more"
2021-05-02 17:01:49 +02:00
Zahary Karadjov
b0912b8eaf
Remove some unused parameters
2021-04-14 16:15:22 +03:00
cheatfate
934cc453d9
Add "BETA version" note to the --rest
server command line parameters descriptions.
2021-04-09 21:42:13 +03:00
cheatfate
5885068c63
Rebase and fixes.
2021-04-09 21:42:13 +03:00
cheatfate
80e79aef97
Add TODO comments for missing implementations.
...
Change default REST port to use 5052 (Lighthouse).
Add missing checks for maximum amount of validator ids.
2021-04-09 21:42:13 +03:00
cheatfate
72695dd62a
Rest API initial implementation.
2021-04-09 21:42:13 +03:00
Zahary Karadjov
9776fbfe17
Merge branch 'version-1.1.0' into unstable
2021-04-08 20:50:06 +03:00
Zahary Karadjov
61669f269d
Clarify that the deposit cretion tools are intended for testnets
2021-04-08 19:58:22 +03:00
Zahary Karadjov
40859e4cdc
Restore the deposits create command
2021-04-08 19:58:22 +03:00
Zahary Karadjov
ba59dd85cd
Support for fallback web3 providers; Fix resource leaks on Eth1 monitor restarts
2021-04-08 12:46:42 +03:00
Zahary Karadjov
7451c4171f
v1.1.0-rc; Enable v2 doppelganger detection by default
2021-04-07 00:38:47 +03:00
Jacek Sieka
beceb060c4
Write state diffs to separate table (and experimentally, files instead of db) ( #2460 )
2021-04-06 21:56:45 +03:00
Jacek Sieka
8f441588cd
Add a few help defaults, format all of them the same ( #2284 ) ( #2467 )
...
No support in confutils, so so this code simply hardcodes it
2021-04-01 12:28:57 +00:00
Jacek Sieka
2695cfa864
EH cleanup ( #2455 )
...
almost 100% raises in nimbus-eth2 now!
* fix some rare exception-related crashes in json-rpc
2021-03-26 07:52:01 +01:00
Giovanni Petrantoni
9558946df4
Expose gossip direct peers ( #2246 )
...
* Expose gossip direct peers
* direct-peer fixes
* add explicit info about direct peer
* build fixes wip
2021-03-23 15:10:17 +09:00
Mentor Palokaj
895fe4baf1
Make it clear that the default port for ETH2 is 9000 udp/tcp ( #2421 )
...
* Add default port info
* Add default port info
* Edit CLI and docs to reflect 9000 port
* Apply suggestions from code review
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
2021-03-22 08:22:56 +01:00
Zahary Karadjov
77ee210762
v1.0.10
2021-03-10 23:33:37 +02:00
Zahary Karadjov
196e3ea6b6
Switch to slashing DB v2 by default
2021-03-09 00:47:29 +02:00
kdeme
5f750f84b4
Use setupAddress for better IP and ports configuration
2021-03-06 00:09:09 +02:00
Mamy Ratsimbazafy
d47f53cd9d
Reorg (5/5) ( #2377 )
...
* Reorg things left into networking and gossip_processing
* time -> beacon_clock
* fix builds
2021-03-05 14:12:00 +01:00
Jacek Sieka
0dbc7162ac
startup cleanup
...
* fix several memory leaks due to temporaries not being reset during
init
* avoid massive main() function with lots of stuff in it
* disable nim-prompt (unused)
* reuse validator pool instance in eth2_processor
* style cleanup
2021-02-22 23:32:54 +02:00
Zahary Karadjov
e1d6df1e5d
Continue using the V1 Slashing DB by default
2021-02-20 22:46:35 +02:00
Mamy Ratsimbazafy
5daafd480f
Slashing protection updates ( #2333 )
...
* Fix slashing protection always try to migrate at startup
* Add CLI option for dual DB
2021-02-19 17:18:17 +02:00
Dustin Brody
67e4a045a3
simplify doppelganger detection to boolean
2021-02-03 20:55:33 +02:00
Kim De Mey
73d9c2aa53
Add enr auto update cli option and bump nim-eth ( #2278 )
2021-02-02 09:07:21 +01:00
tersec
6141286547
rename doppelganger protection to doppelganger detection; switch default from warn to stop ( #2281 )
2021-02-01 12:18:16 +01:00
Zahary Karadjov
fa99c3b417
Fix #2261
...
Also bumps Confutils to allow setting the hidden --web3-mode param
(to allow testing the eth1 syncing without validators)
2021-01-30 01:32:20 +02:00
Dustin Brody
281853eee8
rename options and internal structures to doppelgangerFoo and remove probing
2021-01-30 00:17:54 +02:00
Dustin Brody
a16f5afcd5
pre-emptive duplicate validator detection heuristic
2021-01-21 16:03:02 +02:00
Zahary Karadjov
c8c819359c
More clear error message when a validator exit was rejected
2021-01-15 19:40:05 +02:00
tersec
dde973e2d4
allow always-on subscription to all attestation subnets when gossiping ( #2225 )
...
* allow always-on subscription to all attestation subnets when gossiping
* in subscribe-all-subnets mode, consider all subnets to be stability subnets for ENR purposes
2021-01-12 13:43:15 +01:00
Zahary Karadjov
983b3c9fbf
Add a 'we3 test' command for verifying the compatibility of a web3 provider
2020-12-10 02:54:58 +02:00
Zahary Karadjov
3c0dfc2fbe
Implement the 'deposits exit' command; Remove 'deposits create'
2020-11-29 23:08:07 +02:00
Zahary Karadjov
ae19ab72c0
Implement #2067
2020-11-29 18:27:26 +02:00
Jacek Sieka
c3bfe15a35
increase default max peers ( #2106 )
...
* increase default max peers
also avoid reconnection when opening stream as this might induce
a loop
* Use dial without addresses
* dial back max peers a little
2020-11-29 14:43:41 +01:00
Zahary Karadjov
bf2673abc4
Restore the ETH display in the status bar
2020-11-28 20:53:51 +02:00
Eugene Kabanov
db030eb944
Setup agent/proto version identifiers in libp2p. ( #2079 )
...
* Supply `nim-libp2p` with `agent-string` and `proto-string` as configured parameters.
* Remove protoString and rng check.
* Fix compilation problem.
2020-11-28 08:00:36 +01:00
kdeme
e69b5ff473
Add a record create and print command
2020-11-25 18:32:59 +02:00
Zahary Karadjov
80ca7a2d9f
Implement #1768
2020-11-12 22:29:43 +02:00
Jacek Sieka
332e248d91
rpc: setLogLevel ( #1991 )
...
* rpc: setLogLevel
also change default rpc port to match makefile and manual
* set topic-level formats too
and make feature less secret
2020-11-12 11:46:02 +01:00
Zahary Karadjov
4b603d7f5a
Change the default log level to INFO
2020-11-09 11:38:52 +02:00
Zahary Karadjov
e9b9cd75ee
Rename binaries; Mimic the original repo layout in the distribution
2020-11-09 11:38:52 +02:00
Eugene Kabanov
eee01a32d5
Regression fix of eth2_network_simulation on Windows. ( #1900 )
...
* Concentrate all sensitive writeFile/createPath calls in one place.
Fix eth2_network_simulation for Windows.
* Remove artifacts.
* fix import
Co-authored-by: Jacek Sieka <jacek@status.im>
2020-10-27 12:04:17 +01:00
Zahary Karadjov
02a3770803
Adds a fuzzing test for the validator client CLI
...
Also removes an obsolete way to add validators through the command line
2020-10-15 20:15:51 +03:00
Zahary Karadjov
deaddc1fc0
Address review comments
2020-10-07 09:32:03 +03:00
Zahary Karadjov
aed291128a
Add support for starting from weak subjectivity checkpoints
...
Also removes the `genesis.ssz` file stored in the data folder.
The `medalla-fast-sync` target has been adapted to use the new features.
2020-10-07 09:32:03 +03:00
Zahary Karadjov
fec4b5014d
Address #1694
2020-10-06 15:46:22 +03:00
cheatfate
82228fe471
Fix last createDir.
2020-10-05 22:19:50 +03:00
cheatfate
add22a20e1
Update local_testnet and simulation scripts to use netkey-file and insecure-netkey-password.
...
Add more logging
2020-10-05 22:19:50 +03:00