prysm-pulse/beacon-chain/blockchain
Raul Jordan 4a1b5db07b
beacon: Store Incoming Blocks and Calculated States in DAG (#422)
* begin with a block/state dag approach in prep for fork choice

* add TODOs for fork choice items, add data structure for forks

* remove syncing and processing states for incoming block sync

* simulator only broadcasts blocks now, no more state simulation

* fix sim tests, no more state sim

* bazel rerun

* naive fork choice

* split update head routine

* pesky race conditions

* fork choice rule works

* dag + fork choice working

* canonical head storage across sessions

* todo: save dag

* no more stalling after 10 blocks, using event feeds

* address review

* sync instead uses event feed

* refactored pure funcs into casper package

* tests pass

* fix lint

* refactor get blockhash

* refactor blockhashforslot

* event feed for incoming blocks in chainservice

* use config

* addressed all comments

* fix typo

* address yutaro comment

* using db interface

* check if parent hash in previous slot DAG

* works

* tests

* drop ffg suffix

* bazel gazelle

* full cov validators by height shard

* gazelle

* state tests

* all state tests

* 100% cov types and 99% cover casper

* cov up

* 80% blockchain cov

* fix lint
2018-08-23 22:09:59 -06:00
..
BUILD.bazel beacon: Store Incoming Blocks and Calculated States in DAG (#422) 2018-08-23 22:09:59 -06:00
core_test.go beacon: Store Incoming Blocks and Calculated States in DAG (#422) 2018-08-23 22:09:59 -06:00
core.go beacon: Store Incoming Blocks and Calculated States in DAG (#422) 2018-08-23 22:09:59 -06:00
service_test.go beacon: Store Incoming Blocks and Calculated States in DAG (#422) 2018-08-23 22:09:59 -06:00
service.go beacon: Store Incoming Blocks and Calculated States in DAG (#422) 2018-08-23 22:09:59 -06:00