Yuriy Glukhov
4c31f50889
Comments addressed
2019-03-01 22:09:20 +02:00
Yuriy Glukhov
bed6510da3
Initial full sync impl
2019-03-01 19:39:38 +02:00
Zahary Karadjov
68a39a21be
Mysterious fix for the mysterious build issue
2019-03-01 18:51:37 +02:00
Dustin Brody
794f6aed89
fix https://github.com/status-im/nim-beacon-chain/issues/145 ( #147 )
2019-03-01 14:39:17 +00:00
Jacek Sieka
ddb3a9cd94
Revert "Add some missing RLP serialization routines ( #144 )" ( #146 )
...
This reverts commit 859aa327cb
.
2019-03-01 07:34:37 -06:00
zah
859aa327cb
Add some missing RLP serialization routines ( #144 )
...
* Add some missing RLP serialization routines
2019-02-28 15:50:21 -06:00
Dustin Brody
1cfea240ed
Complete scan through v0.3.0 spec ( #141 )
...
* Complete scan through v0.3.0 spec; remaining known discreptancy is in bls_verify_multiple
* switch remaining slot-misuses of get_active_validator_indices to epochs
* spec workaround
* finish first 0.3.0 pass by getting slow, naive version of bls_verify_multiple running
2019-02-28 15:24:43 -06:00
Jacek Sieka
125231d321
add initial block pool ( #139 )
...
* implement in-memory block graph
* store tail block in database
* resolve unknown parents by syncing them from peers
* introduce concept of resolved blocks and attestations - those that
follow minimal protocol rules
* update state head lazily
* log more stuff
* shortHash -> shortLog
* start 9/10 beacon nodes by default, last can be started manually
* see also #134
* fix start.sh epoch length
2019-02-28 15:21:29 -06:00
Mamy Ratsimbazafy
20f99db058
remove unused epoch template ( #142 )
2019-02-28 08:17:57 -06:00
Ștefan Talpalaru
8f64ab6add
start.sh: use native Windows paths on Mingw
2019-02-28 09:50:17 +02:00
Yuriy Glukhov
5b60c3b45f
Enable discovery service regardless bootnodes are provided
2019-02-28 09:48:33 +02:00
Dustin Brody
34e6149f89
fix crosslink epoch refs to begin with GENESIS_EPOCH; more minor epoch processing tweaks/unstubbed-code ( #137 )
...
* fix crosslink epoch refs to begin with GENESIS_EPOCH; more minor epoch processing tweaks/unstubbed-code
* remove obsolete TODO and use humanEpochNum
2019-02-27 13:58:07 +00:00
Dustin Brody
0305432a87
implement and call process_slashings and process_exit_queue from processEpoch; update a few more epoch processing details to be consistent with 0.3.0; add rest of final upates per epoch ( #136 )
2019-02-26 10:54:08 +01:00
Dustin Brody
60e6a9fedc
assert relationship between constants necessary to avoid underflow
2019-02-25 14:58:04 +00:00
Dustin Brody
eda43b5b1c
adjust copyright comment form
2019-02-25 14:58:04 +00:00
Dustin Brody
6dab867848
cleanup
2019-02-25 14:58:04 +00:00
Dustin Brody
8baab40ea6
much faster shuffling based on observations from https://github.com/protolambda/eth2-shuffle enough that it's not easy to get exact speedup numbers
2019-02-25 14:58:04 +00:00
Dustin Brody
f77016af68
switch sense of bls_verify check
2019-02-25 14:58:04 +00:00
Dustin Brody
de2cad0e12
switch from legacy pre-spec sum_effective_balances(...) to get_total_balance(...)
2019-02-25 14:58:04 +00:00
Dustin Brody
a42601e29e
initial epoch processing update switching from slot-oriented to epoch-oriented, using newer helper functions
2019-02-25 14:58:04 +00:00
Dustin Brody
fb3bbfccaa
small 0.3.0 adjustments; comment updates/clarifications; add Transfer processing
2019-02-25 14:58:04 +00:00
Yuriy Glukhov
a62d25ab98
Merge pull request #131 from status-im/state-replay
...
initial state replay implementation
2019-02-22 18:04:48 +02:00
Dustin Brody
2d52d5cbfe
convert some asserts to doAsserts to keep them in release mode builds; rename get_initial_beacon_state to get_genesis_beacon_state to track spec; switch target spec version to 0.3.0; switch references to penalize_validator to slash_validator/slashValidator to track spec; make some function returns safer by omitting 'return' ( #132 )
...
* convert some asserts to doAsserts to keep them in release mode builds; rename get_initial_beacon_state to get_genesis_beacon_state to track spec; switch target spec version to 0.3.0; switch references to penalize_validator to slash_validator/slashValidator to track spec; make some function returns safer by omitting 'return'
* 2x shuffling speedup by hoisting pivot calculations per https://github.com/protolambda/eth2-shuffle
2019-02-22 10:56:45 +01:00
Jacek Sieka
4c2d212781
updates
...
* comment on last finalized state
* use explicitly named proc's instead of type tricks
2019-02-21 15:38:26 -06:00
Jacek Sieka
1d9c91d230
cleanups
...
* add ancestor getter to db layer, and use
* remove head block call
* add trivial beacon chain db test
2019-02-21 11:20:50 -06:00
Jacek Sieka
2d307e2257
initial state replay implementation
...
* fix initial attestation pool on reordered attestations
* simplify db layer api
* load head block from database on startup, then load state
* significantly changes database format
* move subscriptions to separate proc's
* implement block replay from historical state
* avoid rescheduling epoch actions on block receipt (why?)
* make sure genesis block is created and used
* relax initial state sim parameters a bit
2019-02-20 22:42:17 -06:00
Dustin Brody
1d13007627
More spec v0.3.0 notations and updates ( #129 )
...
* tighten get_active_index_root epoch assertion bound
* implement merkle_root
* rm process_penalties_and_exits; add slash_validator
* rm rm'd and unused constant
2019-02-20 14:35:27 -06:00
Ștefan Talpalaru
8859a4b56c
simulation: optional multitail support ( #128 )
...
demo: https://asciinema.org/a/228550
2019-02-19 20:22:25 -06:00
Dustin Brody
132f1147a2
spec 0.3.0 updates: EPOCH_LENGTH -> SLOTS_PER_EPOCH, SlotNumber -> Slot, EpochNumber -> Epoch ( #127 )
...
* spec 0.3.0 updates: EPOCH_LENGTH -> SLOTS_PER_EPOCH, SlotNumber -> Slot, EpochNumber -> Epoch
2019-02-19 19:33:58 -06:00
Jacek Sieka
4670d6c98a
naive attestation pool, in preparation of fork choice integration ( #125 )
...
* move attestation pool to separate file
* combine attestations lazily when needed
* advance state when there's a gap while attesting
* compile beacon node with optimizations - it's tooo slow right now
* log when unable to keep up
2019-02-20 00:35:02 +01:00
Dustin Brody
1269e001ad
get most 0.3.0 spec renamings ( #126 )
...
* get most 0.3.0 spec renamings
2019-02-19 17:07:56 -06:00
Jacek Sieka
c64cd2f275
a few simple SlotNumber cleanups
2019-02-18 22:43:33 +02:00
Mamy Ratsimbazafy
8e48bac58b
[WIP] Fix some issues after introducing "humaneEpochNumber" ( #118 )
...
* Fix some issues after introducing "humaneEpochNumber" + use slot_duration to 4
* Address humane comments
* Fix comment
2019-02-18 16:58:34 +01:00
Jacek Sieka
0e9cc20cfe
beacon node simplifications ( #116 )
...
* remove previous randao scheme code
* fix some epoch logging
* move genesis time selection to state generation
2019-02-15 17:33:32 +01:00
Dustin Brody
d3f97c1d5c
Merge pull request #115 from status-im/nus
...
complete switching to v0.2.0 RANDAO scheme, with verification enabled
2019-02-15 10:57:14 +00:00
Dustin Brody
6bef36d418
remove more old RANDAO vestiges
2019-02-14 14:03:45 -08:00
Dustin Brody
8fbf87aa8c
complete switching to v0.2.0 RANDAO scheme, with verification enabled
2019-02-14 13:41:04 -08:00
Jacek Sieka
a71424d768
add more config options and log compile parameters ( #114 )
...
default sim runs with smaller chain now
2019-02-14 13:32:33 -06:00
Mamy Ratsimbazafy
c2a52d7fc5
Allow faster slots ( #112 )
...
* Allow compile time configurable slot time
2019-02-14 13:15:10 +01:00
Bruno Škvorc
0ceafc92c5
Update README.md
2019-02-14 12:32:05 +01:00
Dustin Brody
55ac8d337b
some v0.2.0 updates and fixes a bug that should enable simulation to continue longer ( #110 )
...
* some v0.2.0 updates and fixes a bug that should enable simulation to continue longer
2019-02-14 04:16:50 +01:00
Dustin Brody
31a4c7255f
more v0.2.0 spec updates ( #107 )
...
* switch to v0.2.0 shuffling scheme
* fix some >80 char lines; add get_total_balance helper function (used in epoch processing, etc); note intended removal of repeat_hash and users thereof; add some int_to_bytes and bytes_to_int helpers; more underflow comments; add Gwei type; adjust generate_seed to include additional entropy source; note egregious inefficiencies
* minor code cleanup
* move some general helper functions to helpers.nim and clarify little-endian comments
2019-02-13 11:26:32 +01:00
Mamy Ratsimbazafy
b60fa131f1
Fix simulation regression due to custody_bitfield ( #108 )
2019-02-12 23:50:02 +01:00
Mamy Ratsimbazafy
899c8e5df9
Bitfield debugging asserts ( #106 )
...
* debugging asserts
* Ensure initialization of custody_bitfield for mock Attestations
2019-02-12 18:07:44 +01:00
Yuriy Glukhov
56a48cc60f
Fixed epoch actions ( #105 )
...
* Fixed epoch actions
* debugging asserts
* Revert "debugging asserts"
This reverts commit 9a11f5a7d8
.
2019-02-12 16:56:58 +01:00
Dustin Brody
433e2f78c2
Merge pull request #104 from status-im/oug
...
Spec updates for 0.2.0
2019-02-11 15:48:00 +00:00
Dustin Brody
f1cbc4a9dc
adjust indentation
2019-02-11 16:32:22 +01:00
Mamy Ratsimbazafy
f7feb9a6c9
Delay validators and add more log in crosslink asserts ( #103 )
2019-02-11 16:29:21 +01:00
Dustin Brody
b03ac3427f
split out get_previous_epoch into helper function
2019-02-11 16:10:46 +01:00
Dustin Brody
d44999abc5
latest_crosslink_root -> latest_crosslink; adjust checkAttestation; add SHUFFLE_ROUND_COUNT and FORK_CHOICE_BALANCE_INCREMENT constants; some additional casts because a few places where ValidatorIndex was used are now uint64; remove some old commented-out lines of code from shardcommittee transition
2019-02-11 15:32:27 +01:00