commit
						fe7c475207
					
				
							
								
								
									
										23
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								README.md
									
									
									
									
									
								
							| @ -29,6 +29,19 @@ If you'd like some background on Sigma Prime, please see the [Lighthouse Update | ||||
| \#00](https://lighthouse.sigmaprime.io/update-00.html) blog post or the | ||||
| [company website](https://sigmaprime.io). | ||||
| 
 | ||||
| ### Directory Structure | ||||
| 
 | ||||
| - [`beacon_node/`](beacon_node/): the "Beacon Node" binary and crates exclusively | ||||
| 	associated with it. | ||||
| - [`docs/`](docs/): documentation related to the repository. This includes contributor | ||||
| 	guides, etc. (It does not include code documentation, which can be produced with `cargo doc`). | ||||
| - [`eth2/`](eth2/): Crates containing common logic across the Lighthouse project. For | ||||
| 	example: Ethereum 2.0 types ([`BeaconBlock`](eth2/types/src/beacon_block.rs), [`BeaconState`](eth2/types/src/beacon_state.rs), etc) and | ||||
| 	SimpleSerialize (SSZ). | ||||
| - [`protos/`](protos/): protobuf/gRPC definitions that are common across the Lighthouse project. | ||||
| - [`validator_client/`](validator_client/): the "Validator Client" binary and crates exclusively | ||||
| 	associated with it. | ||||
| 
 | ||||
| ### Components | ||||
| 
 | ||||
| The following list describes some of the components actively under development | ||||
| @ -79,16 +92,6 @@ In addition to these components we are also working on database schemas, RPC | ||||
| frameworks, specification development, database optimizations (e.g., | ||||
| bloom-filters), and tons of other interesting stuff (at least we think so). | ||||
| 
 | ||||
| ### Directory Structure | ||||
| 
 | ||||
| Here we provide an overview of the directory structure: | ||||
| 
 | ||||
| - `beacon_chain/`: contains logic derived directly from the specification. | ||||
|   E.g., shuffling algorithms, state transition logic and structs, block | ||||
| validation, BLS crypto, etc. | ||||
| - `lighthouse/`: contains logic specific to this client implementation. E.g., | ||||
|   CLI parsing, RPC end-points, databases, etc. | ||||
| 
 | ||||
| ### Running | ||||
| 
 | ||||
| **NOTE: The cryptography libraries used in this implementation are | ||||
|  | ||||
							
								
								
									
										37
									
								
								eth2/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								eth2/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| # Ethereum 2.0 Common Crates | ||||
| 
 | ||||
| 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 for an external BLS encryption library. | ||||
|     - [`boolean-bitfield`](utils/boolean-bitfield/): Provides an expandable vector | ||||
| 		of bools, specifically for use in Eth2. | ||||
|     - [`fisher-yates-shuffle`](utils/fisher-yates-shuffle/): shuffles a list | ||||
| 		pseudo-randomly. | ||||
|     - [`hashing`](utils/hashing/): A wrapper for external hashing libraries. | ||||
|     - [`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 a subset of indices to be shuffled. | ||||
| 	- [`test_random_derive`](utils/test_random_derive/): provides procedural | ||||
| 		macros for deriving the `TestRandom` trait defined in `types`. | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user