2019-01-06 19:03:34 +01:00
2018-08-22 21:43:22 -06:00
2018-07-17 19:18:59 +02:00
2019-01-06 19:03:34 +01:00
2019-01-06 13:17:08 +02:00
2018-09-06 11:57:26 -06:00
2018-09-04 21:01:33 -06:00
2019-01-06 14:27:06 +01:00
2018-12-17 23:36:38 +01:00
2018-09-26 12:34:24 +03:00
2018-12-16 15:38:51 +02:00
2018-09-26 12:34:24 +03:00
2019-01-06 14:27:06 +01:00
2019-01-06 14:27:06 +01:00
2019-01-02 14:50:44 +01:00
2019-01-06 14:27:06 +01:00

Nimbus: an Ethereum 2.0 Sharding Client for Resource-Restricted Devices

Windows build status (Appveyor) Build Status (Travis) License: Apache License: MIT Stability: experimental

Join the Status community chats: Gitter: #status-im/nimbus Riot: #nimbus Riot: #dev-status

Rationale

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.

Development Updates

To keep up to date with changes and development progress, follow the Nimbus blog.

Building & Testing

Prerequisites

  • 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

Obtaining the prerequisites through the Nix package manager

Users of the Nix package manager can install all prerequisites simply by running:

nix-shell nimbus.nix

Build & Install

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.

Build and Run Nimbus

nimble nimbus
./build/nimbus

Report any errors you encounter, please, if not already documented!

Troubleshooting

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

License

Licensed and distributed under either of

or

at your option. This file may not be copied, modified, or distributed except according to those terms.

Description
Nimbus: an Ethereum Execution Client for Resource-Restricted Devices
https://status-im.github.io/nimbus-eth1/
Readme
Languages
Nim 97.9%
Shell 0.7%
Makefile 0.5%
CodeQL 0.4%
Nix 0.2%
Other 0.2%