nimbus-eth2 uses a build system based on makefiles.
Usage is described in the README.
In particular a
env.sh scripts is provided that setups the environment variable
Library repositories uses the official package manager called
for building and testing.
In particular, we use by convention the following command to run the test suite via nimble task system:
The details are implemented in
<package name>.nimble at the root of the repository.
The continuous integration setup for Travis, Azure Pipelines and/or Appveyor are also setting up a Nim environment from scratch.
nimbus-eth2 application, all dependencies are vendored
With regards to the audit scope we have the following dependencies:
- nim-chronicles-tail (devtool, out-of-audit-scope)
- CLI interface
- nim-metrics (the server endpoint is out-of-audit-scope)
- nim-testutils (fuzzing)
- nimYAML (should be test only)
- Networking & Discovery
- nim-stint (Note: one of the main use is 256-bit bloomfilter, a dedicated library should be used instead)
- Eth1 monitoring
- Build system