mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-02-01 01:08:27 +00:00
Jacek Sieka
44bb13ae46
spec updates (#37)
* use repeat_hash from spec in randao * add some logging to state processing * export crypto string converters in spec insulation layer * enable block signature verification * ssz: add support for arrays, remove custom data type code * correctly handle previous and new block * add trivial block processing tests * prefer iterative repeat_hash * state transition mostly done * handle most specials and slashings
Ethereum Beacon Chain
An alternative implementation of the Ethereum beacon chain in Nim.
Please see Full Beacon chain specs and the Ethereum Foundation reference implementation.
You can check where the beacon chain fits in the Ethereum research ecosystem in the Status Athenaeum.
Test vectors
The Eth 2.0 test vectors and their generators are available in a dedicated repository.
Convention
Ethereum Foundation uses:
- snake_case for fields and procedure names
- MACRO_CASE for constants
- PascalCase for types
Nim NEP-1 recommends:
- camelCase for fields and procedure names
- PascalCase for constants
- PascalCase for types
To facilitate collaboration and comparison, Nim-beacon-chain uses the Ethereum Foundation convention.
Installation
You can install the developement version of the library through nimble with the following command
nimble install https://github.com/status-im/nim-beacon-chain@#master
License
Licensed and distributed under either of
- MIT license: LICENSE-MIT or http://opensource.org/licenses/MIT
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option. This file may not be copied, modified, or distributed except according to those terms.
Description
Languages
Nim
95%
Shell
1.8%
C
1.7%
Makefile
0.6%
Rich Text Format
0.2%
Other
0.5%