Commit Graph

538 Commits

Author SHA1 Message Date
Dustin Brody c53de3e550 Caching updates/refactoring & state_sim defaults updates (#235)
* rm now-superceded shuffling cache (shuffling is only called from get_crosslinks), which was badly architected due to trying to exist in state; rm one more vestige of previous light-client regime (one more to go, from datatypes)

* fix wrong shuffling list size (active validator size, not validator size) to make consistent with 0.5.1 (will be inconsistent with testnet0); fix typo and change defaults in state_sim

* doAssert a couple of constant relationships necessary to avoid underflow; rm non-spec, unused helper function get_new_recent_block_roots

* refactor separate crosslink_committee_cache and winning_root_participants_cache(s) into StateData object; remove last vestige of previous shuffling cache

* separate out caching parts of StateData to new StateCache object
2019-04-05 08:18:13 -06:00
Jacek Sieka 605dd0a0e9 Some speedups (#226)
* ssz: avoid memory allocations

* a bit fishy with the 32-item stack.. this should be a smallvector

* digest: avoid another burnmem

* avoid a few allocations by using iterator
2019-04-03 15:46:22 +00:00
Mamy Ratsimbazafy ad133a0222
Official state tests - parsing and loading beacon state (#227)
* initial commit of official state tests

* sanity check fixture

* Parsing official state test is mostly working
(Except BLS signature)

* Successfully load state test

* Use json-serialization instead of json and display deserialized and from scratch beacon state hashes

* Add official state test as a smoke parsing test
2019-04-02 16:50:24 +02:00
Yuriy Glukhov ff7adcefbd Persist head block 2019-04-02 15:35:09 +03:00
Ștefan Talpalaru cf2b9e5a84
README.md: fix eth2_network_simulation instructions 2019-04-01 22:30:37 +02:00
Ștefan Talpalaru a933a8c2d5
Merge branch 'errormsg' 2019-04-01 22:20:09 +02:00
Ștefan Talpalaru f6eb6af310
downloadFile(): print command in the error message
so people can figure out that they don't have "curl" installed
2019-04-01 20:41:35 +02:00
Bruno Škvorc d3f13d01e7
Update README.md 2019-03-30 01:13:45 +01:00
Bruno Škvorc 75f9388c19
Update README.md 2019-03-30 01:11:43 +01:00
Jacek Sieka c9e0fed4ea
testnet: print instructions and configuration path after building 2019-03-29 13:48:02 -06:00
Ștefan Talpalaru 3b2b65a21e
README.md: we default to V=0 now 2019-03-29 19:10:16 +01:00
Ștefan Talpalaru d0f8171fb4
Makefile: low verbosity by default 2019-03-29 18:21:14 +01:00
zah e16d8faee2 Switch to a two-steps build process (#228) 2019-03-29 10:44:19 -06:00
Ștefan Talpalaru 8107297f2e
Makefile: `testnet0` no longer cleans the cache. 2019-03-29 16:55:46 +01:00
Zahary Karadjov b7253920d2 Fix a typo in the download_keys script 2019-03-29 17:01:58 +02:00
Zahary Karadjov 6689d0a642 Remove some deprecation warnings 2019-03-29 16:45:38 +02:00
Ștefan Talpalaru 2fd9f93e69
Makefile: silence an eventual compiler build in the `deps` target 2019-03-29 15:32:36 +01:00
Zahary Karadjov 8e0025035c all validators are free for picking by default 2019-03-29 15:38:59 +02:00
Zahary Karadjov 78c054214c Even smaller testnet1 2019-03-29 15:07:09 +02:00
Zahary Karadjov 82282928c3 Allow setting the number of missing nodes 2019-03-29 11:32:25 +02:00
Zahary Karadjov c32a833bf7 Support for running a local simulation with arbitrary number of validators 2019-03-29 11:32:25 +02:00
Ștefan Talpalaru 226a390c66
README.md: add `make update` even if it's not required the first time
so we don't have a different set of instructions for subsequent updates
2019-03-29 03:36:04 +01:00
Ștefan Talpalaru 84c0abaeae
Merge branch 'makefile' 2019-03-29 03:19:19 +01:00
Ștefan Talpalaru 5cdb8d1c2f
Makefile: mark phony targets and clean the "clean" target 2019-03-29 03:17:08 +01:00
Ștefan Talpalaru 29f9d8fe52
Merge branch 'makefile' 2019-03-28 23:28:00 +01:00
Ștefan Talpalaru 819992a786
Makefile: testnet targets wrapping connect_to_testnet.sh
- also moved the binary into the "build" directory
2019-03-28 23:19:12 +01:00
Zahary Karadjov 1633ccaaca testnet1 with 5000 validators 2019-03-28 23:34:33 +02:00
Dustin Brody 6cbf355c5a state_transition part of get_attesting_indices/get_attesting_indices_cached perf tweaks 2019-03-28 23:31:30 +02:00
Dustin Brody d74fa2027a remove redundant conversions 2019-03-28 23:31:30 +02:00
cheatfate 3117a4481e Remove unneeded initialization. 2019-03-28 23:24:50 +02:00
cheatfate 6f4c7b775c Remove one-line hash to avoid burnMem.
Remove unnecessary copyMem()s.
2019-03-28 23:24:50 +02:00
Jacek Sieka 2f86bf21c8
attestation test: fix compile & disable temporarily 2019-03-28 13:15:09 -06:00
Jacek Sieka 201b079fe3 avoid bad blocks by filtering included attestations
* fix epoch violation during initial attestation validation
* fill in attestation fields (finalizes again!)
2019-03-28 21:10:08 +02:00
Zahary Karadjov 7fd8665306 Specify the network port in the connect script, so you can connect to both testnets together 2019-03-28 19:30:32 +02:00
Ștefan Talpalaru f8fbe0ff3b Makefile that only works in a Git submodule (#210)
- updated README.md
- beacon_chain.nimble: accept compilation flags as params
- nim.cfg: enable `--opt:speed` at the top level
- simulation scripts: allow overriding GIT_ROOT and do some refactoring
2019-03-28 09:18:59 -06:00
Zahary Karadjov 44d9f7d6c9 Use proper RPC calls when obtaining missing blocks 2019-03-28 16:54:50 +02:00
Zahary Karadjov f23ee4ccae Fix a wrong assert 2019-03-28 16:54:50 +02:00
Zahary Karadjov 5f4581240e Aha, the logging issue depended on options set in start.sh; Worked-around 2019-03-28 16:54:50 +02:00
Zahary Karadjov e0d8bf9e99 Logging in preInit works just fine locally; pushing to test on the CI 2019-03-28 16:54:50 +02:00
Zahary Karadjov 6d4470a8c8 Simplified gossipsub.broadcast further 2019-03-28 16:54:50 +02:00
Zahary Karadjov dd72218f48 Integrate `traceAsyncErrors`
You'll need the latest version of nim-eth
2019-03-28 16:54:50 +02:00
Yuriy Glukhov 497f88c20d Increase minPeers in PeerPool to PeerPool default (10) 2019-03-28 16:35:17 +02:00
Jacek Sieka f9e0418b5b fetch multiple blocks at a time
* avoid crash on invalid block production (fixes #209)
* fetch blocks every second, roughly
* fix start.sh param order
* run beacon node sim at slower pace
2019-03-28 10:42:16 +02:00
Dustin Brody 58b6174654 smallish speedup -- also use cache in get_crosslink_deltas 2019-03-28 10:40:20 +02:00
Dustin Brody 6f481f8812 another ~2x speedup in epoch processing 2019-03-28 10:40:20 +02:00
Dustin Brody e1ba820486 clean up caching 2019-03-28 10:40:20 +02:00
Dustin Brody d84aa45a22 share crosslink committees cache across process_crosslinks and compute_crosslinks_deltas 2019-03-28 10:40:20 +02:00
Dustin Brody 2c566df411 rm debug message 2019-03-28 10:40:20 +02:00
Dustin Brody ced4dbe859 4x speedup on epoch processing for 64 validators 2019-03-28 10:40:20 +02:00
Jacek Sieka 3ad6053298 Use block, slot tuple to idenfiy fork
this is the beginning of tracking block-slots more precisely, so we can
the justification epoch slot bug.

* avoid asyncDiscard (swallows assertions)
* fix attestation delay
* fix several state root cache bugs
* introduce workaround for genesis epoch spec issue
2019-03-28 10:32:09 +02:00