prysm-pulse/beacon-chain
terence tsao bfbff885fe Part 7 of update fork choice - chain info access (#3263)
* Implemented new fork choice service and helpers

* Added rest of the tests

* Lint

* Add back helpers test

* Add benchmark tests

* Add yaml driven framework tests

* Reformatted to doc, helpers and metrics.go

* include new getter for block

* create block filters from indices

* give every block index a unique bucket

* construct block indices by bucket mmap

* almost done save for the block filters

* include block filters, need a few more small touches for fetching the proper indices by bucket

* full functionality to filter by parent root

* tests pass when using the same logic as attestations

* todo

* proper todo formatting

* first minimum slot range filter

* slot range filters pass

* more filter criteria passing

* tests passing

* add todos

* all block tests pass and work

* rem fmt

* range retrieval test

* fixed test conditions

* Implemented new receive block methods

* Comments

* Remove mark evil block

* instantiate the other buckets

* simplify bucket lookups

* deprecate non map code

* revamp to remove old index prefixes

* create indices from data

* create indices from data

* fetch block roots by slot range

* better abstractions

* simpler abstractions

* roots rename

* comment

* preston feedback

* Fixed existing tests

* allow blocks without parent root

* Cleaned up a few things

* Removed todo

* Lint

* Cleaned up a few things

* A few functions don't need to be exported

* Gaz

* Fixed visibility

* Review feedback

* Review feedback part1

* Raul's feedback, refactored OnBlock and OnAttestation to its own file

* Fixed grammar

* Lint

* Renamed to receive_block.go

* Use time.Time

* Preston's feedback, removed OnTick and Store.time

* Dont have to cast it to kv

* add block caching layer

* runlock

* lockinggg

* Fixed

* Avoid 2 fetches of the same data

* latest votes map

* Gaz

* Test passes

* Lint

* Fixed db set up

* Fixed all the tests

* Gazelle

* Added tests

* Remove todo

* remove kv

* Last clean up

* Last clean up

Last clean up

* Lint

* Preston's feedback

* Starting

* Gazelle
2019-08-21 14:50:27 -05:00
..
attestation Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
blockchain Part 7 of update fork choice - chain info access (#3263) 2019-08-21 14:50:27 -05:00
cache Clean Up In Memory Deposits in DB (#3065) 2019-08-13 19:13:47 -04:00
core Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
db Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
deprecated-sync Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
flags Standardize Flags at Top Level and Remove Deprecated Utils (#3046) 2019-07-23 08:58:20 -05:00
gateway Add rule to push docker images (#3006) 2019-07-20 20:40:03 -04:00
internal Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
node Add Flag for SSZ Encoding (#3256) 2019-08-21 12:33:48 -04:00
operations Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
p2p Add Flag for SSZ Encoding (#3256) 2019-08-21 12:33:48 -04:00
powchain Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
rpc Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
sync Add flags to support new database, new sync (#3252) 2019-08-21 10:04:00 -06:00
BUILD.bazel fix docker image builds (#3068) 2019-07-24 15:19:44 -04:00
main.go Add Flag for SSZ Encoding (#3256) 2019-08-21 12:33:48 -04:00
README.md update beacon chain spec link (#1897) 2019-03-05 18:54:58 -05:00
usage_test.go Add a gRPC gateway (#2604) 2019-06-02 08:33:44 -07:00
usage.go Add Flag for SSZ Encoding (#3256) 2019-08-21 12:33:48 -04:00

Prysmatic Labs Beacon Chain Implementation

This is the main project folder for the beacon chain implementation of Ethereum Serenity in Golang by Prysmatic Labs. Before you begin, check out our Contribution Guidelines and join our active chat room on Discord or Gitter below:

Discord Gitter

Also, read the latest beacon chain design spec, this design spec serves as a source of truth for the beacon chain implementation we follow at prysmatic labs. Check out the FAQs. Refer this page on why we are combining sharding and casper together.