Nim implementation of the Ethereum Beacon Chain
https://nimbus.guide
7ea51d5b0b
* spec updates * make several constants uint64 to help minimize casting * document data type woes - will have to revisit these * change comment style on fields and constants to make room for better comments * add BLSVerify and BLSAddPbkeys facades to insulate spec code from milagro * fix proof of possession type * drop explicitly ordered container fields from ssz - there's an issue open to sort this out before committing it to the spec |
||
---|---|---|
beacon_chain | ||
benchmarks | ||
research | ||
test_vectors_generator | ||
tests | ||
.appveyor.yml | ||
.gitignore | ||
.travis.yml | ||
LICENSE-APACHEv2 | ||
LICENSE-MIT | ||
README.md | ||
beacon_chain.nim | ||
beacon_chain.nimble | ||
nim.cfg |
README.md
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.
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.