lighthouse/eth2
Michael Sproul 32547373e5
spec: simplify cache_state
The `latest_block_root` input argument was unnecessary as we were always setting it to something
almost equivalent to `state.latest_block_root` anyway, and more importantly, it was messing up the
caching of the state root. Previously it was possible for the function to update the state's latest
block root, and then hash the outdated block root that was passed in as an argument.
2019-04-17 12:00:23 +10:00
..
attester Add new tree_hash crate project wide. 2019-04-16 14:25:43 +10:00
block_proposer Add new tree_hash crate project wide. 2019-04-16 14:25:43 +10:00
fork_choice Merge branch 'master' into network-server 2019-03-20 14:31:35 +11:00
operation_pool Disable some blop pool tests during debug 2019-04-02 15:33:18 +11:00
state_processing spec: simplify cache_state 2019-04-17 12:00:23 +10:00
types spec: fix shuffle direction in get_crosslink_committees_at_slot 2019-04-17 12:00:22 +10:00
utils spec: fix shuffle direction in get_crosslink_committees_at_slot 2019-04-17 12:00:22 +10:00
validator_change Revert "Merge pull request #200 from sigp/new-structure" 2019-02-14 12:09:18 +11:00
README.md Just some small gramatical improvements on READMEs 2019-03-01 13:10:50 +11:00

Ethereum 2.0 Common Crates

Rust crates containing logic common across the Lighthouse project.

Per-Crate Summary

  • attester/: Core logic for attesting to beacon and shard blocks.
  • block_proposer/: Core logic for proposing beacon blocks.
  • fork_choice/: A collection of fork-choice algorithms for the Beacon Chain.
  • state_processing/: Provides per-slot, per-block, and per-epoch state processing.
  • types/: Defines base Ethereum 2.0 types (e.g., BeaconBlock, BeaconState, etc).
  • utils/:
    • bls: A wrapper for an external BLS encryption library.
    • boolean-bitfield: Provides an expandable vector of bools, specifically for use in Eth2.
    • fisher-yates-shuffle: shuffles a list pseudo-randomly.
    • hashing: A wrapper for external hashing libraries.
    • honey-badger-split: Splits a list in n parts without giving AF about the length of the list, n, or anything else.
    • int-to-bytes: Simple library which converts ints into byte-strings of various lengths.
    • slot_clock: translates the system time into Beacon Chain "slots". (Also provides another slot clock that's useful during testing.)
    • ssz: an implementation of the SimpleSerialize serialization/deserialization protocol used by Eth 2.0.
    • ssz_derive: provides procedural macros for deriving SSZ Encodable, Decodable, and TreeHash methods.
    • swap_or_not_shuffle: a list-shuffling method which is slow, but allows for a subset of indices to be shuffled.
    • test_random_derive: provides procedural macros for deriving the TestRandom trait defined in types.