Commit Graph

2949 Commits

Author SHA1 Message Date
Dustin Brody a16f5afcd5 pre-emptive duplicate validator detection heuristic 2021-01-21 16:03:02 +02:00
tersec 55ecb61c3a cycle attestation subnets every slot (#2240)
Cycle attestation subnets every slot
2021-01-19 19:44:03 +02:00
tersec 921fe5a68f
initial infrastructure for state diffs (#2087)
Initial infrastructure for state diffs
2021-01-18 22:34:41 +02:00
Jacek Sieka c0e11cfba6 shorten idle timeout 2021-01-18 22:27:34 +02:00
Jacek Sieka 76f15302a7 better timesharing in eth2 processor
* use `idleAsync` to more evenly divide cpu attention when syncing in
particular - this gives networking better latency
* more strict exception handling in eth2_processor
2021-01-18 22:27:34 +02:00
Kim De Mey 6fabefa76f
Fix discv5 loop in case of no nodes (#2243)
* Fix discovery loop in case of no peers in routing table

* local testnet: Stop searching when amount of peers in testnet is reached
2021-01-18 14:13:26 +01:00
tersec f1bb8a6a1a
don't use logtrace by default in CI (#2241) 2021-01-18 11:42:41 +01:00
tersec 0fce8ad0d7
Revert "only checkpoint every four slots (#2236)" (#2242)
This reverts commit 7da16f4908.
2021-01-18 11:02:56 +01:00
Zahary Karadjov c8c819359c
More clear error message when a validator exit was rejected 2021-01-15 19:40:05 +02:00
nbc-bump-bot[bot] a0689e4237
auto-bump nim-libp2p (#2239)
Co-authored-by: = <sinkingsugar@users.noreply.github.com>
2021-01-15 21:15:58 +09:00
nbc-bump-bot[bot] bb0a022968
auto-bump nim-libp2p (#2238)
Co-authored-by: = <sinkingsugar@users.noreply.github.com>
2021-01-15 15:50:14 +09:00
tersec 7da16f4908
only checkpoint every four slots (#2236)
* only checkpoint every four slots

* only checkpoint every 16 slots

* every 8 slots

* every 4 slots; 8 seems probably okay, but be a bit conservative
2021-01-15 05:23:54 +00:00
Giovanni Petrantoni 295e3c9c73
Topics validation and direct peers (#2237)
* pick the right libp2p branch

* add topics validation
2021-01-15 04:17:06 +00:00
nbc-bump-bot[bot] ce64da1fcd
auto-bump nim-libp2p (#2235)
Co-authored-by: = <arnetheduck@users.noreply.github.com>
2021-01-15 01:39:09 +00:00
tersec fa75c477cd
only initially subscribe to relevant attestation subnets (#2231) 2021-01-14 09:43:21 +01:00
Kim De Mey 66d8f317cd
Use async queryRandom instead of inefficient randomNodes to discover nodes (#2211) 2021-01-14 08:58:13 +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
tersec 62908b0e91
remove backwards compatibility targets (#2223) 2021-01-12 18:00:30 +01:00
tersec 0fad1b6b26
don't special-case zero-validator subnet cycling (#2230) 2021-01-12 17:17:43 +01: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
nbc-bump-bot[bot] f5efcc8669
auto-bump nim-libp2p (#2228)
Co-authored-by: = <sinkingsugar@users.noreply.github.com>
2021-01-12 04:27:32 +01:00
Giovanni Petrantoni a3a651b565
always enable topic and aggreate metric topics (#2229) 2021-01-12 04:27:09 +01:00
tersec 6653ce3fc5
don't cancel Jenkins builds in stable, testing, and unstable (#2226) 2021-01-11 19:51:38 +01:00
Kim De Mey b99a6f3dfd
Warn on Eth1 chain not synced (#2221) 2021-01-11 10:23:09 +01:00
nbc-bump-bot[bot] be3fac8495
auto-bump nim-libp2p (#2206)
Co-authored-by: = <sinkingsugar@users.noreply.github.com>
2021-01-11 09:53:20 +01:00
Mamy Ratsimbazafy 6e2c0e3c17
and don't cancel testing either 2021-01-10 17:34:02 +01:00
Mamy Ratsimbazafy b13751fb53
Don't cancel stable and unstable builds as well 2021-01-10 15:23:02 +01:00
Zahary Karadjov 87955f2d37
v1.0.6 2021-01-10 12:23:07 +02:00
Ștefan Talpalaru 3112e98eb8 dist: bootstrap Nim compiler with default number of iterations
Reducing those iterations results in a buggy compiler that causes
nimbus_beacon_node to fail at runtime with:
"FAT 2021-01-09 21:19:52.417+01:00 Could not obtain PeerID from network key   topics="networking" tid=26805 file=eth2_network.nim:1393"
2021-01-10 12:09:31 +02:00
Zahary Karadjov d803f008c0
v1.0.5 (corrected) 2021-01-10 12:02:55 +02:00
Zahary Karadjov 7d97228208
v1.0.5 2021-01-09 01:14:20 +02:00
asymmetric 51f967a548
scripts: make shebang more portable (#2216)
Some Linux distros (like NixOS) don't place bash in /bin/bash.
2021-01-08 11:29:43 +01:00
andri lim fbae1e77e4
remove insecure github action commands and replace it with safer one (#2217) 2021-01-08 11:12:10 +01:00
tersec bbdd16f81c
increase attestation pool lookback window (#2215) 2021-01-07 14:52:02 +01:00
Jacek Sieka 93b434d0ac
bumps (#2214)
* bumps

several modules pinned to merged branches

* faststreams master broken, go back
2021-01-07 13:12:37 +01:00
Ștefan Talpalaru e58a355a1c
CI release: ARM and ARM64 builds (#2213) 2021-01-07 10:19:29 +01:00
Zahary Karadjov 338428cbd7 Add Eth1 deposits simulation to block_sim 2021-01-04 13:22:00 +02:00
Jacek Sieka 52ca12c79f
bump nat, avoid one more finalizer (#2209) 2020-12-31 15:58:31 +01:00
Nikola Ristić 3a59b76a01
Update broken repo link (#2208) 2020-12-30 09:55:20 +01:00
Giovanni Petrantoni ed24f60f70
remove async from sub/unsub (#2197)
* remove await/async from sub/unsub

* fix unsubscribe wrong key (missed _snappy)

* use the right libp2p commit hash

* remove unused async

* fix inspector

* fix subnet calculation in RPC and insert broadcast attestations into node's pool

* unify codepaths to ensure only mostly-checked-to-be-valid attestations enter the pool, even from node's own broadcasts

* update attestation pool tests for new validateAttestation param

Co-authored-by: Dustin Brody <tersec@users.noreply.github.com>
2020-12-24 09:48:52 +01:00
tersec 97c4f7c5c0
fix subnet calculation in RPC and insert broadcast attestations into node's pool (#2207)
* fix subnet calculation in RPC and insert broadcast attestations into node's pool

* unify codepaths to ensure only mostly-checked-to-be-valid attestations enter the pool, even from node's own broadcasts

* update attestation pool tests for new validateAttestation param
2020-12-23 13:59:04 +01:00
tersec afbaa36ef7
make subnet cycling more robust; use one stability subnet/validator; explicitly represent gossip enabled/disabled (#2201)
* make subnet cycling more robust; use one stability subnet/validator; explicitly represent gossip enabled/disabled

* fix asymmetry in _snappy being used for subscriptions but not unsubscriptions

* remove redundant comment

* minimal RPC and VC support for infoming BN of subnets

* create and verify slot signatures in RPC interface and VC

* loosen old slot check

* because Slot + uint64 works but uint64 + Slot doesn't

* document assumptions for head state use; don't clear stability subnets; guard against VC not having checked an epoch ahead, fixing a crash; clarify unsigned comparison

* revert unsub fix
2020-12-22 10:05:36 +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 6c8f630170
Revert "have each validator randomly pick a stability subnet, per spec (#2194)"
This reverts commit 048a67d525.

Fails with:
```
Error: unhandled exception: /data/beacon-node-builds/devel-large/repo/beacon_chain/nimbus_beacon_node.nim(442, 12) `node.attestationSubnets.stabilitySubnets.len == 0`  [AssertionError]
```
2020-12-18 23:04:31 +01:00
Jacek Sieka 0f8a3a5ae8
checkpoint database at end of each slot (#2195)
* checkpoint database at end of each slot

To avoid spending time on synchronizing with the file system while doing
processing, the manual checkpointing mode turns off fsync during
processing and instead checkpoints the database when the slot has ended.

From an sqlite perspecitve, in WAL mode this guaranees database
consistency but may lead to data loss which is fine - anything missing
from the beacon chain database can be recovered on the next startup.

* log sync status and delay in slot start message

* bump
2020-12-18 22:01:24 +01:00
Jacek Sieka 452042b17b
msgid formatting, libp2p bump (#2198)
* msgid formatting, libp2p bump

* fix libp2p commit
2020-12-18 18:45:27 +00: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
tersec 048a67d525
have each validator randomly pick a stability subnet, per spec (#2194) 2020-12-18 15:46:07 +01:00