lighthouse/eth2
Paul Hauner 8cfa36fedd
Publish ssz_types (and deps) to crates.io (#468)
* Rename `hashing` crate to `eth2_hashing`

* Add license, desc to eth2_hashing Cargo.toml

* Remove merkle root from eth2 hashing

* Remove old benches folder (zombied from old branch)

* Add docs to eth2_hashing

* Prepare tree_hash for publishing on crates.io

* Update deps to use crates.io instead of paths

* Update all crates to pull ssz from crates.io

* Remove cached_tree_hash, add patches to manifest

* Fix compile error in benches

* Remove unused code

* Fix fake_crypto compile error
2019-08-08 11:39:47 +10:00
..
lmd_ghost Revert "Tidy ancestor iterators" 2019-08-05 16:27:55 +10:00
operation_pool Publish ssz_types (and deps) to crates.io (#468) 2019-08-08 11:39:47 +10:00
state_processing Publish ssz_types (and deps) to crates.io (#468) 2019-08-08 11:39:47 +10:00
types Publish ssz_types (and deps) to crates.io (#468) 2019-08-08 11:39:47 +10:00
utils Publish ssz_types (and deps) to crates.io (#468) 2019-08-08 11:39:47 +10:00
validator_change Publish ssz_types (and deps) to crates.io (#468) 2019-08-08 11:39:47 +10:00
README.md Update to frozen spec ❄️ (v0.8.1) (#444) 2019-07-30 12:44:51 +10: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.
    • 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 Encode, Decode, 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.