Frequently asked questions
What is Nimbus?
Nimbus is a client implementation for both Ethereum's consensus layer and execution layer. Nimbus strives to be as lightweight as possible in terms of resources used while maintaining high performance. This allows it to perform well on embedded systems and embedded devices, including Raspberry Pis and mobile devices.
However, resource-restricted hardware is not the only thing Nimbus is good for. Its low resource consumption makes it easy to run Nimbus together with other workloads on your server (this is especially valuable for stakers looking to lower the cost of their server instances).
Is Nimbus open source?
Yes, Nimbus is open source. We're building Nimbus as a common good with liberal licensing to allow for the widest deployment of Ethereum possible.
Which language is Nimbus written in and why?
Nimbus is written in Nim, an efficient, general-purpose systems programming language with a Python-like syntax that compiles to C. Nim allows us to implement Ethereum rapidly and take advantage of the mature C-language tooling in a compilation of machine code, and in the analysis of static code.
There are three key benefits to working in Nim. It:
Enables us to easily bring research into production;
Has a high degree of reasonability for researchers;
Is performant in production.
What is the release cadence for Nimbus?
We generally have a new release once a month. You can subscribe to the mailing list here to be notified each time there is a new release.
What is your process for testing prior to release?
All releases go through rigorous testing from the team prior to release, including on our own fleet of validators. You can follow our testing process on Github, where we always work in an open and transparent way.
How do you communicate about upcoming releases?
The best way to stay up to date with our latest releases is to sign up for our newsletter. We also communicate frequently on Twitter and Discord via announcements.
How can a node operator contact the Nimbus team?
The best way to contact the Nimbus team for support, is through Discord in the #helpdesk channel.
Can we use a LH/Prysm Beacon Node with Nimbus VC?
Yes, Nimbus VC works well with alternative Beacon Node setups. If you require support for such a setup, please reach out in the #helpdesk channel or refer to the Nimbus Guide.
How many validators can we run per machine?
Mainnet comfortably supports 500 validators per node. Concentrating substantially more value on a single node carries risk and is not advisable.
Can we use standard reporting tools with Nimbus?
Nimbus supports reporting via common tools such Grafana and Prometheus. Read more about this in the Nimbus Guide.
When was the client audited and by who?
Nimbus consensus client has been audited by Consensys Dilligence, Trail of Bits, and NCCGroup.
What is the performance like? Attestation rates, proposal rewards, memory, and CPU consumption?
There have been several independent studies comparing the performance of different consensus clients, and Nimbus clearly stands out for its low CPU and Memory utilization. For example, read more about the relative performance of the Nimbus client in this study conducted by Miga Labs.
Another similar study conducted by Miga Labs on the relative reward performance of the different consensus clients highlights that Nimbus achieves similar reward performance despite its low resource consumption.
Where can we find the release notes?
Our release notes are clear and easy to read. They can be found here.
Is there a mailing list for high priority and important communications?
Yes, you can subscribe to the mailing list here. You'll be notified of all new releases and important updates.
What are the specs required to run a Nimbus client?
The minimum system requirements for running a Nimbus client are:
- Operating system: Linux 64-bit, Windows 64-bit, macOS 11+
- Memory: 4GB (running) or 8GB (building)
- Disk space: 200GB
- Network: Reliable broadband
When building from source, you will need additional build dependencies to be installed:
- Developer tools (C compiler, Make, Bash, Git)
- CMake
Get all the details here.
What are the specs required to run Nimbus on a Raspberry Pi?
There are several prerequisites for running on a Raspberry Pi:
- Raspberry Pi 4 4GB (8GB recommended if also running execution client)
- 64GB microSD Card
- microSD USB adapter
- 5V 3A USB-C charger
- Reliable Wi-Fi connection
- Laptop
- Basic understanding of the command line
- 200GB SSD (2TB recommended if also running execution client)
Find more information on getting started with Nimbus on Raspberry Pi here. You can find the specs required to run each of the Nimbus clients on the Quickstart Guide.
How can I contribute to Nimbus?
Nimbus is an open-source initiative in which anyone can get involved. There are a number of ways to contribute.
Join the team - We are always looking for passionate and talented individuals to join our team. See the open roles here.
Support - As a web3 public good, largely dependent on funding, grants are our lifeblood. See here for our donation address.
Join the conversation - We are an open community and happy to answer your questions and help you learn more about Nimbus. Join us on Discord.
Don't see the question you're looking for? Check the Nimbus technical guide FAQ.