Nimbus: an Ethereum 2.0 Sharding Client for Resource-Restricted Devices
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.
Building & Testing
- A recent version of Nim
- A recent version of Facebook's RocksDB
Obtaining the prerequisites through the Nix package manager
Users of the Nix package manager can install all prerequisites simply by running:
Build & Install
We use Nimble to manage dependencies and run tests.
To build and install Nimbus in your home folder, just execute:
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
without any parameters.
To execute all tests:
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: