doc updates
This commit is contained in:
parent
61fc535f8c
commit
d952b323a0
69
README.md
69
README.md
|
@ -7,53 +7,52 @@
|
|||
![Stability: experimental](https://img.shields.io/badge/stability-experimental-orange.svg)
|
||||
|
||||
[![Discord: Nimbus](https://img.shields.io/badge/discord-nimbus-orange.svg)](https://discord.gg/XRxWahP)
|
||||
[![Gitter: #status-im/nimbus](https://img.shields.io/badge/gitter-status--im%2Fnimbus-orange.svg)](https://gitter.im/status-im/nimbus)
|
||||
[![Status: #nimbus-general](https://img.shields.io/badge/status-nimbus--general-orange.svg)](https://join.status.im/nimbus-general)
|
||||
|
||||
Welcome to Nimbus for Ethereum 2.0.
|
||||
|
||||
Nimbus beacon chain is a research implementation of the beacon chain component of the upcoming Ethereum Serenity upgrade, aka Eth2.
|
||||
|
||||
|
||||
## Manual
|
||||
|
||||
Please see the complete documentation at [The nim-beacon-chain Book](https://status-im.github.io/nim-beacon-chain/).
|
||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||
|
||||
|
||||
## Related
|
||||
- [Documentation](#documentation)
|
||||
- [Related](#related)
|
||||
- [Prerequisites for everyone](#prerequisites-for-everyone)
|
||||
- [Linux](#linux)
|
||||
- [MacOS](#macos)
|
||||
- [Windows](#windows)
|
||||
- [Android](#android)
|
||||
- [For users](#for-users)
|
||||
- [Connecting to testnets](#connecting-to-testnets)
|
||||
- [Getting metrics from a local testnet client](#getting-metrics-from-a-local-testnet-client)
|
||||
- [Interop (for other Eth2 clients)](#interop-for-other-eth2-clients)
|
||||
- [For researchers](#for-researchers)
|
||||
- [State transition simulation](#state-transition-simulation)
|
||||
- [Local network simulation](#local-network-simulation)
|
||||
- [Visualising simulation metrics](#visualising-simulation-metrics)
|
||||
- [Network inspection](#network-inspection)
|
||||
- [For developers](#for-developers)
|
||||
- [Windows dev environment](#windows-dev-environment)
|
||||
- [Linux, MacOS](#linux-macos)
|
||||
- [Raspberry Pi](#raspberry-pi)
|
||||
- [Makefile tips and tricks for developers](#makefile-tips-and-tricks-for-developers)
|
||||
- [CI setup](#ci-setup)
|
||||
- [License](#license)
|
||||
|
||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
You can find complete information about running a beacon node and operating as a validator in [The Book](https://status-im.github.io/nim-beacon-chain/).
|
||||
|
||||
## Related projects
|
||||
|
||||
* [status-im/nimbus](https://github.com/status-im/nimbus/): Nimbus for Ethereum 1
|
||||
* [ethereum/eth2.0-specs](https://github.com/ethereum/eth2.0-specs/tree/v0.12.1#phase-0): Serenity specification that this project implements
|
||||
|
||||
You can check where the beacon chain fits in the Ethereum ecosystem our Two-Point-Oh series: https://our.status.im/tag/two-point-oh/
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Nimbus Eth2 (Beacon Chain)](#nimbus-eth2-beacon-chain)
|
||||
- [Manual](#manual)
|
||||
- [Related](#related)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Prerequisites for everyone](#prerequisites-for-everyone)
|
||||
- [Linux](#linux)
|
||||
- [MacOS](#macos)
|
||||
- [Windows](#windows)
|
||||
- [For users](#for-users)
|
||||
- [Connecting to testnets](#connecting-to-testnets)
|
||||
- [Getting metrics from a local testnet client](#getting-metrics-from-a-local-testnet-client)
|
||||
- [Interop (for other Eth2 clients)](#interop-for-other-eth2-clients)
|
||||
- [For researchers](#for-researchers)
|
||||
- [State transition simulation](#state-transition-simulation)
|
||||
- [Local network simulation](#local-network-simulation)
|
||||
- [Visualising simulation metrics](#visualising-simulation-metrics)
|
||||
- [Network inspection](#network-inspection)
|
||||
- [For developers](#for-developers)
|
||||
- [Windows dev environment](#windows-dev-environment)
|
||||
- [Linux, MacOS](#linux-macos)
|
||||
- [Raspberry Pi](#raspberry-pi)
|
||||
- [Makefile tips and tricks for developers](#makefile-tips-and-tricks-for-developers)
|
||||
- [CI setup](#ci-setup)
|
||||
- [License](#license)
|
||||
|
||||
## Prerequisites for everyone
|
||||
|
||||
At the moment, Nimbus has to be built from source.
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Summary
|
||||
|
||||
- [Introduction](./intro.md)
|
||||
- [Become a Validator](./validator.md)
|
||||
- [Installation](./install.md)
|
||||
- [Become a Validator](./validator.md)
|
||||
- [Command-line Options](./cli.md)
|
||||
- [API](./api.md)
|
||||
- [Advanced Usage for Developers](./advanced.md)
|
||||
|
|
|
@ -48,3 +48,7 @@ _Assuming Ubuntu PRoot is used_
|
|||
```sh
|
||||
apt install build-essential git libpcre3-dev
|
||||
```
|
||||
|
||||
## Next steps
|
||||
|
||||
Once you've installed build tools, you're ready to move on to launching the beacon node and becoming a [validator](./validator.md)
|
||||
|
|
|
@ -5,15 +5,15 @@ _Documentation for Nimbus Beacon Chain users and developers._
|
|||
Nimbus beacon chain is a research implementation of the beacon chain component of the upcoming Ethereum Serenity upgrade, aka Eth2.
|
||||
|
||||
- Open sourced at [github.com/status-im/nim-beacon-chain](https://github.com/status-im/nim-beacon-chain/tree/master).
|
||||
- Specification of our implementation can be found at [ethereum/eth2.0-specs](https://github.com/ethereum/eth2.0-specs/tree/v0.11.1#phase-0).
|
||||
- Specification of our implementation can be found at [ethereum/eth2.0-specs](https://github.com/ethereum/eth2.0-specs/tree/v0.12.1#phase-0).
|
||||
|
||||
## Overview
|
||||
|
||||
In this book, we will cover:
|
||||
|
||||
1. [What is beacon chain](./faq.md#1-what-is-beacon-chain) and [what is Nimbus](./faq.md#4-what-is-nimbus) to equip you with some basic knowledge.
|
||||
2. How to [become a validator](./validator.md) in Ethereum 2.0 as a user.
|
||||
3. [Installation steps](./install.md) for nimbus beacon chain.
|
||||
2. [Installation steps](./install.md) outline the prerequisites to get started.
|
||||
3. How to [become a validator](./validator.md) in Ethereum 2.0 as a user, for example on the Altona testnet.
|
||||
4. [CLI](./cli.md) for running your customized nimbus beacon node.
|
||||
5. [API](./api.md) for monitoring your node through `http`.
|
||||
6. [Advanced usage](./advanced.md) for developers.
|
||||
|
|
|
@ -1,17 +1,21 @@
|
|||
# Become a Validator
|
||||
|
||||
To become a validator, you have to first connect to a testnet, deposit your Ethers, and sync with the network.
|
||||
To become a validator, you need to install the beacon chain software, acquire 32 ETH, set up your validator account and register with the deposit contract on Ethereum.
|
||||
|
||||
There is currently no Eth2 mainnet - all networks are testnets.
|
||||
|
||||
## Recommended Testnets
|
||||
|
||||
Though Nimbus can connect to any of the testnets published in the [eth2-clients/eth2-testnets repo](https://github.com/eth2-clients/eth2-testnets/tree/master/nimbus), below are the recommended ones:
|
||||
|
||||
- Public Testnet: [altona](https://github.com/goerli/altona) ([explorer](https://altona.beaconcha.in))
|
||||
- Local Testnet: testnet0 (currently not available)
|
||||
- Multi-client Testnet: [altona](https://github.com/goerli/altona) ([explorer](https://altona.beaconcha.in))
|
||||
- Nimbus Testnet: testnet0 (experimental, not always active)
|
||||
|
||||
## Connecting to Testnets
|
||||
## Altona
|
||||
|
||||
Before we start, we have to obtain 32 Ethers on the Goerli testnet. Then, we can deposit 32 Ethers to the registration smart contract to become a validator.
|
||||
### Initial setup
|
||||
|
||||
Before we start, we have to obtain 32 ETH on the Goerli testnet. Then, we can deposit 32 Ethers to the registration smart contract to become a validator.
|
||||
|
||||
1. Open your [MetaMask](https://metamask.io/) wallet, switch to the `Goerli Test Network` option from the top right corner.
|
||||
2. Copy your account address by clicking on one of your accounts.
|
||||
|
@ -20,7 +24,6 @@ Before we start, we have to obtain 32 Ethers on the Goerli testnet. Then, we can
|
|||
5. Wait for a few seconds and return to your MetaMask wallet to check if you have successfully received.
|
||||
6. Once the [prerequisites](./install.md) are installed, you can connect to the altona testnet with the following commands: <br>
|
||||
|
||||
- Change `altona` to `testnet0` to connect to testnet0.
|
||||
- **_Remember to replace `make` with `mingw32-make` if using Windows._**
|
||||
|
||||
```bash
|
||||
|
@ -35,7 +38,7 @@ make altona # This will build Nimbus and all other dependencies
|
|||
|
||||
<img src="./img/connect_testnet.PNG" alt="" style="margin: 0 40 0 40"/>
|
||||
|
||||
7. The testnet should now be up and running. Then, you will be prompted to enter your private key of the account you want to deposit the 32 Ether from. Find your private key from MetaMask as below:
|
||||
7. You will be prompted to enter your private key of the account you want to deposit the 32 Ether from. Find your private key from MetaMask as below:
|
||||
|
||||
<img src="./img/export_pkey.PNG" alt="" width="200" style="margin: 0 40 0 40"/>
|
||||
|
||||
|
@ -45,12 +48,41 @@ make altona # This will build Nimbus and all other dependencies
|
|||
|
||||
<img src="./img/deposit_sent.PNG" alt="" style="margin: 0 40 0 40"/>
|
||||
|
||||
9. Now you should be syncing with the network. It may take a while (may be quite a few hours). You can know that you are synced if you see the following output.
|
||||
9. The beacon chain client will start syncing the network while your deposit is being processed. As soon as the deposit has been added, the client will start performing validation duties.
|
||||
|
||||
<img src="./img/success.PNG" alt="" style="margin: 0 40 0 40"/>
|
||||
|
||||
You can also get a brief estimate of the time remaining until your network gets synced by comparing the output `epoch` value and the one in the blockchain explorer (the [altona explorer](https://altona.beaconcha.in) for example).
|
||||
|
||||
### Upgrading
|
||||
|
||||
When restarting the beacon node, the software will resume from where it left off, using your previous deposits.
|
||||
|
||||
```
|
||||
cd nim-beacon-chain
|
||||
git pull
|
||||
make update # Update dependencies
|
||||
make altona # Restart using same keys as last run
|
||||
```
|
||||
|
||||
## Key management
|
||||
|
||||
Keys are stored in the `build/data/testnet_name/` folder, under `secrets` and `validators` - make sure to keep these folders backed up.
|
||||
|
||||
## Metrics
|
||||
|
||||
Metrics are not included in the binary by default - to enable them, use the following options when starting the client:
|
||||
|
||||
```
|
||||
make NIMFLAGS="-d:insecure" altona
|
||||
```
|
||||
|
||||
You can now browse the metrics using a browser and connecting to:
|
||||
|
||||
http://localhost:8008/metrics
|
||||
|
||||
Make sure to protect this port as the http server used is not considered secure and should not be used by untrusted peers.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
1. The directory that stores the blockchain data of the testnet is `build/data/shared_altona_0` (replace `altona` with other testnet names). Delete this folder if you want to start over. For example, you can start over with a fresh storage if you entered a wrong private key.
|
||||
|
|
Loading…
Reference in New Issue