Begin messaging overhaul (#118)

* Website update (#104)

* Remove technical material from eth2 section + minor edits (#97)

* Update team.yml

* Update Nimbus docs

* add newsletter to header, footer, and mobile

* remove eth2-temp

* add mamy's feedback

* add donation address

* fix github link, add page on fluffy

* edit contribute message

* Update fluffy.md (#112)

Remove some outdated resources and small clean-up

* try and fix fluffy 404

* try and fix fluffy 404

* try and fix fluffy 404

* try and fix fluffy 404

* try and fix fluffy 404

* try and fix fluffy 404

* try and fix fluffy 404

* update homepage (#115)

* homepage edits

* cp

* update docs home

Co-authored-by: Kim De Mey <kim.demey@gmail.com>
This commit is contained in:
sacha 2021-09-21 13:56:55 +02:00 committed by GitHub
parent 07db7a9ba1
commit b37cb63d95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 28 deletions

View File

@ -1,41 +1,31 @@
title: An Ethereum 2.0 Sharding Client
title: A lighter Ethereum Client
---
## Overview
Nimbus is a client implementation for both Ethereum 2.0 and Ethereum 1.0 that strives to be as lightweight as possible in terms of resources used. This allows it to perform well on embedded systems, embedded devices -- including Raspberry Pis and mobile devices.
Nimbus is a client implementation for both Ethereum's consensus layer (Ethereum 2) and execution layer (Ethereum 1) that strives to be as lightweight as possible in terms of resources used. This allows it to perform well on embedded systems, 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).
Nimbus' embeddable, lightweight, and self-contained design makes it production ready for Web 3.0 and ensures that it can be supported and maintained across all goals of Ethereum 2.0.
For a more comprehensive introduction, please read our [Nimbus for Newbies](https://our.status.im/nimbus-for-newbies/) post.
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).
## Requirements
## Programming language
[Nim](https://nim-lang.org/) is an efficient, general-purpose systems programming language with a Python-like syntax that compiles to C. Nim will allow us to implement Ethereum rapidly and take advantage of the mature C-language tooling: in compilation of machine code, and in the analysis of static code.
[Nim](https://nim-lang.org/) is 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 compilation of machine code, and in the analysis of static code.
With Ethereum research currently modeled in Python, the end result of implementing in Nim should be code that:
The end result of implementing in Nim is code that:
1. Enables us to easily bring research into production
1. Has a high degree of reasonability for researchers
1. Is performant in production
2. Has a high degree of reasonability for researchers
3. Is performant in production
The core contributors and Nim community have been very supportive and enthusiastic for the project.
Both the Nim core contributors and the wider Nim community have been very supportive of this choice.
## Development on Embedded Systems
We believe that the largest successful deployment of Ethereum will reside on embedded systems: IoT devices and mobile personal devices, such as smartphones. Although Nimbus will support full and archival nodes, its main implementation will be as a light client, with focus on Proof of Stake and sharding.
Existing implementations of Ethereum have focused on desktop computers and servers. These implementations have played a major role in the initial success of Ethereum, and they are suitable for full and archival nodes. However, their deployment on embedded systems has been an afterthought.
During the deployment of Status among 40,000 alpha testers, we found that a significant portion (23.6%) of users were still running old mobile devices. In addition, recently discovered [Spectre vulnerabilities](https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)) have led to an increase in the demand for open processors. For these reasons, we propose a self-imposed constraint and a requirement that Status perform well on the following:
## Light by design
1. 2014 [SoC](https://en.wikipedia.org/wiki/System_on_a_chip) architectures, such as the [Cortex-A53](https://developer.arm.com/products/processors/cortex-a/cortex-a53) (Samsung Note 4 & [Raspberry Pi 3](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)) and the Apple A8 (iPhone 6)
1. [MIPS](https://en.wikipedia.org/wiki/MIPS_architecture)-based architectures, such as the [Onion Omega2](https://onion.io/omega2/)
1. Open-source processors, such as [RISC-V](https://riscv.org)
Existing implementations of Ethereum have focused on desktop computers and servers. These implementations have played a major role in the initial success of Ethereum, however, their deployment on resource-restricted systems has been an afterthought.
When the 2020 scalability goal is fully realised, this constraint will help ensure that Ethereum runs performantly on resource-restricted hardware that is at least 6 years old.
We believe the ability to run a node on resource-restricted hardware is key to a safe and secure Ethereum going forward.
As such, **Nimbus strives to perform just as well on resource-restricted hardware as it does on desktop computers and servers.**

View File

@ -11,9 +11,9 @@
</div>
<div class="home-wrap">
<div id="about" class="section-header section-header--main">
<h2 id="top-header">The lightest Ethereum client</h2>
<h2 id="top-header">We build lighter Ethereum clients</h2>
<p>
Nimbus is a client implementation for both Ethereum 2.0 and Ethereum 1.0 that strives to be as lightweight as possible in terms of resources used. This allows it to perform well on embedded systems, resource-restricted devices -- including Raspberry Pis and mobile devices -- and multi-purpose servers.
Nimbus is a client implementation for both Ethereum 1 and Ethereum 2 that strives to be as lightweight as possible in terms of resources used. This allows it to perform well on embedded systems, resource-restricted devices -- including Raspberry Pis and mobile devices -- and multi-purpose servers.
</p>
<a href="/docs">See our docs <img src="../img/arrow_orange.svg" /></a>
@ -24,14 +24,14 @@ Nimbus is a client implementation for both Ethereum 2.0 and Ethereum 1.0 that st
<h2>Consensus layer(eth2)</h2>
<p>You can use Nimbus today to both monitor the eth2 chain and join the network as a fully-fledged validator.
</p>
<a href="https://nimbus.guide">See our book <img src="../img/arrow_orange.svg" /></a>
<a href="https://nimbus.guide">See our guide <img src="../img/arrow_orange.svg" /></a>
</div>
</div>
<div class="work-item">
<img class="work-item-image work-item-image-right" src="../img/graphic-research.svg" />
<div class="work-item-inner">
<h2>Execution layer (eth1)</h2>
<p>We are working hard on a mainnet-capable Ethereum 1 client to complement our Ethereum 2 client.
<p>We are working hard on a lightweight Ethereum 1 client to complement our Ethereum 2 client.
</p>
<a href="https://github.com/status-im/nimbus-eth1">Keep up with our progress <img src="../img/arrow_orange.svg" /></a>
</div>