lighthouse/eth2
Luke Anderson c9e8fe53bc
Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client.
- Replaced most instances of PublicKey with KeyPair, since they need to be passed into each validator thread now.
 - Pulled out a bunch of FreeAttestations, and replaced with regular Attestations (as per Paul's suggestion)
 - Started generalising pubkeys to 'signers' (though they are still just Keypairs)
 - Added validator_index into a few structs where relevant
 - Removed the SlotClock and DutiesReader from the BlockProducer and Attester services, since this logic is now abstracted to the higher level process.
 - Added a Hash trait to the Keypair (rather than just pubkey) which assumes the Pubkey uniquely defines it.
2019-03-28 15:50:57 +11:00
..
attester Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client. 2019-03-28 15:50:57 +11:00
block_proposer Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client. 2019-03-28 15:50:57 +11:00
fork_choice Merge branch 'master' into network-server 2019-03-20 14:31:35 +11:00
state_processing Modifications to serde 2019-03-22 16:10:43 +11:00
types Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client. 2019-03-28 15:50:57 +11:00
utils Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client. 2019-03-28 15:50:57 +11: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.