Join the Status community chats:
Nimbus: an Ethereum 2.0 Sharding Client. The code in this repository is currently focusing on Ethereum 1.0 feature parity, while all 2.0 research and development is happening in parallel in nim-beacon-chain. The two repositories are expected to merge in Q1 2019.
- A recent version of Nim
- We use the version in the Status fork
- Follow the Nim installation instructions or use choosenim to manage your Nim versions
- A recent version of Facebook's RocksDB
- Compile from source or use the package manager of your OS; for example, Debian, Ubuntu, and Fedora have working RocksDB packages
Users of the Nix package manager can install all prerequisites simply by running:
nix-shell nimbus.nix
We use Nimble to manage dependencies and run tests.
To build and install Nimbus in your home folder, just execute:
nimble install
After a succesful installation, running nimbus --help
will provide you with a list of
the available command-line options. To start syncing with mainnet, just execute nimbus
without any parameters.
To execute all tests:
nimble test
Our Wiki provides additional helpful information for debugging individual test cases and for pairing Nimbus with a locally running copy of Geth.
Sometimes, the build will fail even though the latest CI is green - here are a few tips to handle this:
- Wrong Nim version
- We depend on many bleeding-edge features - Nim regressions often happen
- Use the Status fork of Nim
- Wrong versions of dependencies
- nimble dependency tracking often breaks due to its global registry
- wipe the nimble folder and try again
- C compile or link fails
- Nim compile cache is pretty buggy and sometimes will fail to recompile
- wipe your nimcache folder
Licensed under both of the following:
- Apache License, Version 2.0, (LICENSE-APACHE or http:https://www.apache.org/licenses/LICENSE-2.0)
- MIT license: LICENSE-MIT or http:https://opensource.org/licenses/MIT