Jacek Sieka
7a8054d36d
clean up block pool
...
* remove BlockPool.blocksBySlot (unused)
* simplify head pruning condition
* add head list smoke tests
* additional logging
2020-01-21 00:54:23 +02:00
Jacek Sieka
2a67ac3c05
trie -> kv store
...
* simplify data storage to key-value, tries are not relevant for NBC
* locked-down version of lmdb dependency
* easier to build / maintain on various platforms
2020-01-20 13:39:37 +00:00
Jacek Sieka
860be026e1
fix block pool init head selection
...
the head state is not necessarily saved in the database, so we need to
make sure we update things to the correct place
2020-01-15 12:17:49 +00:00
Dustin Brody
8eaebf7163
update to spec version 0.10.0
2020-01-14 18:17:16 +00:00
Dustin Brody
8090a15cc2
fix UnusedImport warning
2020-01-07 18:06:20 +00:00
Jacek Sieka
148527c716
slot fixes
...
* fix slot time navigation, add tests
* skip block proposal if head is more recent already - shouldn't happen
* use correct head when attesting to previous blocks
* log slot start/end processing
2019-12-23 17:56:56 +00:00
Dustin Brody
46de726e3d
mark all compatible 0.9.3 functions and data structures as 0.9.4
2019-12-20 17:24:42 +00:00
Dustin Brody
3e7d56a66f
update test suite to 0.9.4 vectors
2019-12-20 16:37:36 +00:00
Mamy Ratsimbazafy
106352aff3
Nbench - Flexible benchmarking of Nimbus internals ( #641 )
...
* nbench PoC
* Remove the yaml files from the example scenarios
* update README with current status
* Add an alternative implementation that uses defer
* Forgot to add the old proc body
* slots-processing
* allow benching state_transition failures
* Add Attestations processing (workaround confutils bug:
- https://github.com/status-im/nim-confutils/issues/10
- https://github.com/status-im/nim-confutils/issues/11
- https://github.com/status-im/nim-confutils/issues/12
* Add CLI command in the readme
* Filter report and add notes about CPU cycles
* Report averages
* Add debugecho style time/cycle print
* Report when we skip BLS and state root verification
* Update to 0.9.3
* Generalize scenario parsing
* Support all block processing scenarios
* parallel bench runner PoC
* gitBetter load issues reporting (the load issues were invalid signature and expected to fail)
2019-12-20 17:14:43 +01:00
Dustin Brody
417f96213d
fix genesis interop by fixing deposit signature handling; add TRACE-level compilation to CI
2019-12-20 15:26:48 +00:00
Jacek Sieka
746659bdc6
bump stew, fix warnings ( #655 )
2019-12-20 14:25:33 +01:00
Jacek Sieka
07c37517ea
disable block/attestation pool tests in mainnet
2019-12-19 16:17:45 +00:00
Jacek Sieka
b994da78a7
Move some attestation/block logic out of beacon node
...
* state data cache in block pool
* keep head state around
* more attestation logic in attestation pool
* first fork choice tests (!)
* fix fork choice (it's still likely broken / out of date)
2019-12-19 16:17:45 +00:00
Dustin Brody
ea4afd7454
mark 19 more 0.9.2-compatible entities as 0.9.3-compatible
2019-12-19 11:46:30 +00:00
Dustin Brody
27bf8908a9
mark a couple dozen functions and data structures as 0.9.3; fix TRACE-level compiling; stop downloading 0.9.2 test vectors; update cosmetic/display spec versions in test suite
2019-12-17 16:51:46 +00:00
Dustin Brody
c824416f56
initial 0.9.3 spec update
2019-12-17 00:06:03 +02:00
Jacek Sieka
c66ca39cee
update heads when adding resolved blocks
2019-12-16 12:18:08 +02:00
Mamy André-Ratsimbazafy
eeadafa46b
Test vector 0.9.3
2019-12-13 09:45:12 +01:00
Zahary Karadjov
889031453f
The beacon node can be compiled with the LibP2P native back-end
...
This hasn't been tested yet even in local sim.
2019-12-10 15:02:16 +02:00
Zahary Karadjov
8ab0248209
Revert "tighten a few imports"
...
This reverts commit b24a9200d9
.
2019-12-10 02:18:47 +02:00
Jacek Sieka
b24a9200d9
tighten a few imports
2019-12-09 12:58:28 +00:00
Dustin Brody
eef040954c
remove unused hasSigningRoot(...); stop running time-consuming-but-stubbed-out tests; add timing for peer connection tests
2019-12-06 16:48:32 +00:00
Dustin Brody
570de0839d
measure/find slow tests ( #624 )
2019-12-05 11:27:00 +01:00
Dustin Brody
c762c0232d
render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators ( #617 )
...
* render get_beacon_proposer_index(...) return value an option and remove overly aggressive assertion formerly causing crashes when missing validators
* follow addBlock(...) after refactoring
* [skip ci] fix typo
2019-12-04 11:49:59 +01:00
Dustin Brody
6b56e19572
initial refactor of testutil to delineate between less and more expensive dependencies; make now-monotonic timing available across test suite, not just in state_sim
2019-12-04 00:34:43 +02:00
Jacek Sieka
afc0686b36
save ssz dummps during processing ( #471 )
2019-12-03 11:32:27 +00:00
Ștefan Talpalaru
84c189fd1b
Nim 1.0.4 ( #604 )
...
* Nim 1.0.4
* Azure: try to fix cache key
* mock_validator_keys.nim: fix index out of bounds
* Travis: make Nim building verbose
2019-11-29 10:17:18 +01:00
Jacek Sieka
2a728d9468
fix stack overflow in isAncestor recursion
2019-11-28 17:36:07 +02:00
Dustin Brody
8f2e523d26
remove a few hints and warnings ( #603 )
2019-11-28 13:50:19 +01:00
Dustin Brody
45b7595ba1
state_sim optimizations ( #597 )
...
* switch out quadratically scaling and wasteful attestation in state_sim to attest only to exactly the correct slots; avoid pointless committee index interconversion for 9-10x increase in state_sim speed at d:release, 60k validators, and validate=off
* remove debugechos
2019-11-27 23:48:12 +01:00
cheatfate
fa22ba22b9
PeerPool initial commit.
2019-11-26 17:16:55 +00:00
Zahary Karadjov
1099548775
Restore the number of simulation nodes to 4; More block pool tracing [skip ci]
2019-11-26 19:02:56 +02:00
Zahary Karadjov
85d9df3853
Make the tests green
2019-11-26 02:45:25 +02:00
Zahary Karadjov
8b89bbe391
Fix off-by-one error in syncing
2019-11-26 02:45:25 +02:00
Zahary Karadjov
1d8bfd8c0d
Allow overriding the bootstrap node in run_node.sh
2019-11-26 02:45:25 +02:00
Zahary Karadjov
8de4d38e4e
More tracing
2019-11-26 02:45:25 +02:00
Dustin Brody
1494bcc262
replace links to Apache and MIT licenses with HTTPS versions ( #592 )
2019-11-25 16:30:02 +01:00
Dustin Brody
f6de87b80e
remove O(n^2) eth1 deposit processing and scaffolding comparing it with O(n) deposit processing; re-enable now-viable-to-run genesis state initialization tests with around 16,384 validators
2019-11-25 14:48:59 +00:00
Dustin Brody
fa2a703a17
switch more funcs and procs from global to module scope; create scaffolding for non-O(n^2) eth1 deposit processing with assertions for equivalent functionality; fix a few more shellcheck warnings
2019-11-25 14:48:59 +00:00
Mamy André-Ratsimbazafy
ea241e407d
use doAssert in static proc ( https://github.com/status-im/nim-beacon-chain/pull/585#discussion_r350073704 ) closes #582
2019-11-25 11:09:36 +01:00
Dustin Brody
a8de94ad05
add validator_leaving logging at debug chronicles level for all call paths to initiate_validator_exit(...)
2019-11-25 09:08:15 +00:00
Dustin Brody
8d9fdb0afd
miscellanous cleanups and removing a few funcs/procs from unnecessary global scopes
2019-11-25 09:08:15 +00:00
Mamy Ratsimbazafy
22adccc917
support List in reportDiff and comment out BLS and shuffling tests ( #585 )
...
* support List in report diff
* Json tests were removed but walkDirRec lull-ed us into thinking we were passing them :/
2019-11-24 11:46:45 +01:00
Mamy Ratsimbazafy
1938379bcd
Automated beacon constant checks ( #583 )
...
* Fix SSZ bitlist deserialization super silly bug
* Add an automated sanity checks of the beacon chain constants
* Remove SSZ consensus skipping procs [skip ci]
* Add phase 1 domains
* Fix mainnet constants
* Add missing phase 1 constants on minimal (they are not needed somehow on mainnet)
* Rebase artifact: constants were defined twice
2019-11-22 20:56:39 +01:00
Dustin Brody
edfd65fd5d
stop download 0.9.1 test vectors; finish 0.9.2 update, primarily via fixing preset constants; remove a couple 0.19.6 shims
2019-11-22 16:41:43 +00:00
Dustin Brody
f5b8931fad
switch assert(...) to doAssert(...) and minor cleanup
2019-11-22 16:39:05 +00:00
Dustin Brody
41fa377638
mark all non-changed 0.9.1 items as 0.9.2 ( #576 )
2019-11-22 09:29:04 +01:00
Mamy Ratsimbazafy
69e15a48a4
bump v0.9.2 test vectors ( #575 )
2019-11-22 00:23:41 +01:00
Dustin Brody
85f2596604
re-enable all_tests.nim mainnet tests
2019-11-21 19:40:35 +02:00
Jacek Sieka
7c6d87051a
simplify validator api ( #573 )
...
* avoid passing whole state to validator api (easier when it goes
out-of-process)
* clean up some cruft
2019-11-21 10:57:59 +01:00