41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
|
# eth2
|
||
|
|
||
|
Rust crates containing logic common across the Lighthouse project.
|
||
|
|
||
|
## Per-Crate Summary
|
||
|
|
||
|
- [`attester/`](attester/): Core logic for attesting to beacon and shard blocks.
|
||
|
- [`block_proposer/`](block_proposer/): Core logic for proposing beacon blocks.
|
||
|
- [`fork_choice/`](fork_choice/): A collection of fork-choice algorithms for
|
||
|
the Beacon Chain.
|
||
|
- [`state_processing/`](state_processing/): Provides per-slot, per-block and
|
||
|
per-epoch state processing.
|
||
|
- [`types/`](types/): Defines base Ethereum 2.0 types (e.g., `BeaconBlock`,
|
||
|
`BeaconState`, etc).
|
||
|
- [`utils/`](utils/):
|
||
|
- [`bls`](utils/bls/): A wrapper around some external BLS encryption library.
|
||
|
- [`boolean-bitfield`](utils/boolean-bitfield/): Provides an expandable Vec
|
||
|
of bools, specifically for use in Eth2.
|
||
|
- [`fisher-yates-shuffle`](utils/fisher-yates-shuffle/): shuffles a list
|
||
|
pseudo-randomly.
|
||
|
- [`hashing`](utils/hashing/): Provides unified hashing methods, provided
|
||
|
be some external library.
|
||
|
- [`honey-badger-split`](utils/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`](utils/int-to-bytes/): Simple library which converts ints
|
||
|
into byte-strings of various lengths.
|
||
|
- [`slot_clock`](utils/slot_clock/): translates the system time into Beacon
|
||
|
- Chain "slots". Also
|
||
|
provides another slot clock that's useful during testing.
|
||
|
- [`ssz`](utils/ssz/): an implementation of the SimpleSerialize
|
||
|
- serialization/deserialization
|
||
|
protocol used by
|
||
|
Eth 2.0.
|
||
|
- [`ssz_derive`](utils/ssz_derive/): provides procedural macros for
|
||
|
deriving SSZ `Encodable`, `Decodable` and `TreeHash` methods.
|
||
|
- [`swap_or_not_shuffle`](utils/swap_or_not_shuffle/): a list-shuffling
|
||
|
method which is slow, but allows for shuffling a subset of indices.
|
||
|
- [`test_random_derive`](utils/test_random_derive/): provides procedural
|
||
|
macros for deriving the `TestRandom` trait defined in `types`.
|