Rename Eth1/Eth2 in documents (#3021)
## Issue Addressed Resolves https://github.com/sigp/lighthouse/issues/3019 ## Proposed Changes - Eth2 Eth2.0 Ethereum 2.0 -> Ethereum consensus - Eth2 network -> consensus layer - Ethereum 2.0 specification -> Ethereum proof-of-stake consensus specification - Eth2 deposit contract -> Staking deposit contract - Eth1 -> execution client ## Additional Info The description needs to be updated by someone who has permission to do. 📝 <img width="487" alt="image" src="https://user-images.githubusercontent.com/1885716/153995211-816d9561-751e-4810-abb9-83d979379783.png">
This commit is contained in:
parent
e34524be75
commit
668115a4b8
12
README.md
12
README.md
@ -1,6 +1,6 @@
|
|||||||
# Lighthouse: Ethereum 2.0
|
# Lighthouse: Ethereum consensus client
|
||||||
|
|
||||||
An open-source Ethereum 2.0 client, written in Rust and maintained by Sigma Prime.
|
An open-source Ethereum consensus client, written in Rust and maintained by Sigma Prime.
|
||||||
|
|
||||||
[![Build Status]][Build Link] [![Book Status]][Book Link] [![Chat Badge]][Chat Link]
|
[![Build Status]][Build Link] [![Book Status]][Book Link] [![Chat Badge]][Chat Link]
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ An open-source Ethereum 2.0 client, written in Rust and maintained by Sigma Prim
|
|||||||
|
|
||||||
Lighthouse is:
|
Lighthouse is:
|
||||||
|
|
||||||
- Ready for use on Eth2 mainnet.
|
- Ready for use on Ethereum consensus mainnet.
|
||||||
- Fully open-source, licensed under Apache 2.0.
|
- Fully open-source, licensed under Apache 2.0.
|
||||||
- Security-focused. Fuzzing techniques have been continuously applied and several external security reviews have been performed.
|
- Security-focused. Fuzzing techniques have been continuously applied and several external security reviews have been performed.
|
||||||
- Built in [Rust](https://www.rust-lang.org), a modern language providing unique safety guarantees and
|
- Built in [Rust](https://www.rust-lang.org), a modern language providing unique safety guarantees and
|
||||||
@ -30,13 +30,13 @@ Lighthouse is:
|
|||||||
- Funded by various organisations, including Sigma Prime, the
|
- Funded by various organisations, including Sigma Prime, the
|
||||||
Ethereum Foundation, ConsenSys, the Decentralization Foundation and private individuals.
|
Ethereum Foundation, ConsenSys, the Decentralization Foundation and private individuals.
|
||||||
- Actively involved in the specification and security analysis of the
|
- Actively involved in the specification and security analysis of the
|
||||||
Ethereum 2.0 specification.
|
Ethereum proof-of-stake consensus specification.
|
||||||
|
|
||||||
## Eth2 Deposit Contract
|
## Staking Deposit Contract
|
||||||
|
|
||||||
The Lighthouse team acknowledges
|
The Lighthouse team acknowledges
|
||||||
[`0x00000000219ab540356cBB839Cbe05303d7705Fa`](https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa)
|
[`0x00000000219ab540356cBB839Cbe05303d7705Fa`](https://etherscan.io/address/0x00000000219ab540356cbb839cbe05303d7705fa)
|
||||||
as the canonical Eth2 deposit contract address.
|
as the canonical staking deposit contract address.
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* [Create a validator](./validator-create.md)
|
* [Create a validator](./validator-create.md)
|
||||||
* [Key recovery](./key-recovery.md)
|
* [Key recovery](./key-recovery.md)
|
||||||
* [Validator Management](./validator-management.md)
|
* [Validator Management](./validator-management.md)
|
||||||
* [Importing from the Eth2 Launchpad](./validator-import-launchpad.md)
|
* [Importing from the Staking Launchpad](./validator-import-launchpad.md)
|
||||||
* [Slashing Protection](./slashing-protection.md)
|
* [Slashing Protection](./slashing-protection.md)
|
||||||
* [Voluntary Exits](./voluntary-exit.md)
|
* [Voluntary Exits](./voluntary-exit.md)
|
||||||
* [Validator Monitoring](./validator-monitoring.md)
|
* [Validator Monitoring](./validator-monitoring.md)
|
||||||
|
@ -46,7 +46,7 @@ still function if it is behind a NAT without any port mappings. Although
|
|||||||
Lighthouse still functions, we recommend that some mechanism is used to ensure
|
Lighthouse still functions, we recommend that some mechanism is used to ensure
|
||||||
that your Lighthouse node is publicly accessible. This will typically improve
|
that your Lighthouse node is publicly accessible. This will typically improve
|
||||||
your peer count, allow the scoring system to find the best/most favourable
|
your peer count, allow the scoring system to find the best/most favourable
|
||||||
peers for your node and overall improve the eth2 network.
|
peers for your node and overall improve the Ethereum consensus network.
|
||||||
|
|
||||||
Lighthouse currently supports UPnP. If UPnP is enabled on your router,
|
Lighthouse currently supports UPnP. If UPnP is enabled on your router,
|
||||||
Lighthouse will automatically establish the port mappings for you (the beacon
|
Lighthouse will automatically establish the port mappings for you (the beacon
|
||||||
@ -63,7 +63,7 @@ settings allow you construct your initial ENR. Their primary intention is for
|
|||||||
setting up boot-like nodes and having a contactable ENR on boot. On normal
|
setting up boot-like nodes and having a contactable ENR on boot. On normal
|
||||||
operation of a Lighthouse node, none of these flags need to be set. Setting
|
operation of a Lighthouse node, none of these flags need to be set. Setting
|
||||||
these flags incorrectly can lead to your node being incorrectly added to the
|
these flags incorrectly can lead to your node being incorrectly added to the
|
||||||
global DHT which will degrades the discovery process for all Eth2 peers.
|
global DHT which will degrades the discovery process for all Ethereum consensus peers.
|
||||||
|
|
||||||
The ENR of a Lighthouse node is initially set to be non-contactable. The
|
The ENR of a Lighthouse node is initially set to be non-contactable. The
|
||||||
in-built discovery mechanism can determine if you node is publicly accessible,
|
in-built discovery mechanism can determine if you node is publicly accessible,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Beacon Node API
|
# Beacon Node API
|
||||||
|
|
||||||
Lighthouse implements the standard [Eth2 Beacon Node API
|
Lighthouse implements the standard [Beacon Node API
|
||||||
specification][OpenAPI]. Please follow that link for a full description of each API endpoint.
|
specification][OpenAPI]. Please follow that link for a full description of each API endpoint.
|
||||||
|
|
||||||
## Starting the server
|
## Starting the server
|
||||||
@ -22,7 +22,7 @@ The following CLI flags control the HTTP server:
|
|||||||
- `--http-tls-cert`: specify the path to the certificate file for Lighthouse to use.
|
- `--http-tls-cert`: specify the path to the certificate file for Lighthouse to use.
|
||||||
- `--http-tls-key`: specify the path to the private key file for Lighthouse to use.
|
- `--http-tls-key`: specify the path to the private key file for Lighthouse to use.
|
||||||
|
|
||||||
The schema of the API aligns with the standard Eth2 Beacon Node API as defined
|
The schema of the API aligns with the standard Beacon Node API as defined
|
||||||
at [github.com/ethereum/beacon-APIs](https://github.com/ethereum/beacon-APIs).
|
at [github.com/ethereum/beacon-APIs](https://github.com/ethereum/beacon-APIs).
|
||||||
An interactive specification is available [here][OpenAPI].
|
An interactive specification is available [here][OpenAPI].
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ lighthouse bn --http
|
|||||||
## HTTP Request/Response Examples
|
## HTTP Request/Response Examples
|
||||||
|
|
||||||
This section contains some simple examples of using the HTTP API via `curl`.
|
This section contains some simple examples of using the HTTP API via `curl`.
|
||||||
All endpoints are documented in the [Eth2 Beacon Node API
|
All endpoints are documented in the [Beacon Node API
|
||||||
specification][OpenAPI].
|
specification][OpenAPI].
|
||||||
|
|
||||||
### View the head of the beacon chain
|
### View the head of the beacon chain
|
||||||
|
@ -199,23 +199,23 @@ See [Validator Inclusion APIs](./validator-inclusion.md).
|
|||||||
|
|
||||||
### `/lighthouse/eth1/syncing`
|
### `/lighthouse/eth1/syncing`
|
||||||
|
|
||||||
Returns information regarding the Eth1 network, as it is required for use in
|
Returns information regarding execution layer, as it is required for use in
|
||||||
Eth2
|
consensus layer
|
||||||
|
|
||||||
#### Fields
|
#### Fields
|
||||||
|
|
||||||
- `head_block_number`, `head_block_timestamp`: the block number and timestamp
|
- `head_block_number`, `head_block_timestamp`: the block number and timestamp
|
||||||
from the very head of the Eth1 chain. Useful for understanding the immediate
|
from the very head of the execution chain. Useful for understanding the immediate
|
||||||
health of the Eth1 node that the beacon node is connected to.
|
health of the execution node that the beacon node is connected to.
|
||||||
- `latest_cached_block_number` & `latest_cached_block_timestamp`: the block
|
- `latest_cached_block_number` & `latest_cached_block_timestamp`: the block
|
||||||
number and timestamp of the latest block we have in our block cache.
|
number and timestamp of the latest block we have in our block cache.
|
||||||
- For correct Eth1 voting this timestamp should be later than the
|
- For correct execution client voting this timestamp should be later than the
|
||||||
`voting_period_start_timestamp`.
|
`voting_period_start_timestamp`.
|
||||||
- `voting_target_timestamp`: The latest timestamp allowed for an eth1 block in this voting period.
|
- `voting_target_timestamp`: The latest timestamp allowed for an execution layer block in this voting period.
|
||||||
- `eth1_node_sync_status_percentage` (float): An estimate of how far the head of the
|
- `eth1_node_sync_status_percentage` (float): An estimate of how far the head of the
|
||||||
Eth1 node is from the head of the Eth1 chain.
|
execution node is from the head of the execution chain.
|
||||||
- `100.0` indicates a fully synced Eth1 node.
|
- `100.0` indicates a fully synced execution node.
|
||||||
- `0.0` indicates an Eth1 node that has not verified any blocks past the
|
- `0.0` indicates an execution node that has not verified any blocks past the
|
||||||
genesis block.
|
genesis block.
|
||||||
- `lighthouse_is_cached_and_ready`: Is set to `true` if the caches in the
|
- `lighthouse_is_cached_and_ready`: Is set to `true` if the caches in the
|
||||||
beacon node are ready for block production.
|
beacon node are ready for block production.
|
||||||
@ -248,7 +248,7 @@ curl -X GET "http://localhost:5052/lighthouse/eth1/syncing" -H "accept: applica
|
|||||||
|
|
||||||
### `/lighthouse/eth1/block_cache`
|
### `/lighthouse/eth1/block_cache`
|
||||||
|
|
||||||
Returns a list of all the Eth1 blocks in the Eth1 voting cache.
|
Returns a list of all the execution layer blocks in the execution client voting cache.
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
@ -320,7 +320,7 @@ curl -X GET "http://localhost:5052/lighthouse/eth1/deposit_cache" -H "accept: a
|
|||||||
|
|
||||||
Obtains a `BeaconState` in SSZ bytes. Useful for obtaining a genesis state.
|
Obtains a `BeaconState` in SSZ bytes. Useful for obtaining a genesis state.
|
||||||
|
|
||||||
The `state_id` parameter is identical to that used in the [Standard Eth2.0 Beacon Node API
|
The `state_id` parameter is identical to that used in the [Standard Beacon Node API
|
||||||
`beacon/state`
|
`beacon/state`
|
||||||
routes](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot).
|
routes](https://ethereum.github.io/beacon-APIs/#/Beacon/getStateRoot).
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ HTTP Path | Description |
|
|||||||
| --- | -- |
|
| --- | -- |
|
||||||
[`GET /lighthouse/version`](#get-lighthouseversion) | Get the Lighthouse software version.
|
[`GET /lighthouse/version`](#get-lighthouseversion) | Get the Lighthouse software version.
|
||||||
[`GET /lighthouse/health`](#get-lighthousehealth) | Get information about the host machine.
|
[`GET /lighthouse/health`](#get-lighthousehealth) | Get information about the host machine.
|
||||||
[`GET /lighthouse/spec`](#get-lighthousespec) | Get the Eth2 specification used by the validator.
|
[`GET /lighthouse/spec`](#get-lighthousespec) | Get the Ethereum proof-of-stake consensus specification used by the validator.
|
||||||
[`GET /lighthouse/auth`](#get-lighthouseauth) | Get the location of the authorization token.
|
[`GET /lighthouse/auth`](#get-lighthouseauth) | Get the location of the authorization token.
|
||||||
[`GET /lighthouse/validators`](#get-lighthousevalidators) | List all validators.
|
[`GET /lighthouse/validators`](#get-lighthousevalidators) | List all validators.
|
||||||
[`GET /lighthouse/validators/:voting_pubkey`](#get-lighthousevalidatorsvoting_pubkey) | Get a specific validator.
|
[`GET /lighthouse/validators/:voting_pubkey`](#get-lighthousevalidatorsvoting_pubkey) | Get a specific validator.
|
||||||
@ -79,7 +79,7 @@ Typical Responses | 200
|
|||||||
|
|
||||||
## `GET /lighthouse/spec`
|
## `GET /lighthouse/spec`
|
||||||
|
|
||||||
Returns the Eth2 specification loaded for this validator.
|
Returns the Ethereum proof-of-stake consensus specification loaded for this validator.
|
||||||
|
|
||||||
### HTTP Specification
|
### HTTP Specification
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# APIs
|
# APIs
|
||||||
|
|
||||||
Lighthouse allows users to query the state of Eth2.0 using web-standard,
|
Lighthouse allows users to query the state of Ethereum consensus using web-standard,
|
||||||
RESTful HTTP/JSON APIs.
|
RESTful HTTP/JSON APIs.
|
||||||
|
|
||||||
There are two APIs served by Lighthouse:
|
There are two APIs served by Lighthouse:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Command-Line Interface (CLI)
|
# Command-Line Interface (CLI)
|
||||||
|
|
||||||
The `lighthouse` binary provides all necessary Ethereum 2.0 functionality. It
|
The `lighthouse` binary provides all necessary Ethereum consensus client functionality. It
|
||||||
has two primary sub-commands:
|
has two primary sub-commands:
|
||||||
|
|
||||||
- `$ lighthouse beacon_node`: the largest and most fundamental component which connects to
|
- `$ lighthouse beacon_node`: the largest and most fundamental component which connects to
|
||||||
|
@ -35,10 +35,10 @@ Lighthouse maintains two permanent branches:
|
|||||||
- [`unstable`][unstable]: Used for development, contains the latest PRs.
|
- [`unstable`][unstable]: Used for development, contains the latest PRs.
|
||||||
- Developers should base thier PRs on this branch.
|
- Developers should base thier PRs on this branch.
|
||||||
|
|
||||||
## Ethereum 2.0
|
## Ethereum consensus client
|
||||||
|
|
||||||
Lighthouse is an implementation of the Ethereum 2.0 specification, as defined
|
Lighthouse is an implementation of the Ethereum proof-of-stake consensus specification, as defined
|
||||||
in the [ethereum/eth2.0-specs](https://github.com/ethereum/eth2.0-specs)
|
in the [ethereum/consensus-specs](https://github.com/ethereum/consensus-specs)
|
||||||
repository.
|
repository.
|
||||||
|
|
||||||
We recommend reading Danny Ryan's (incomplete) [Phase 0 for
|
We recommend reading Danny Ryan's (incomplete) [Phase 0 for
|
||||||
|
@ -12,68 +12,68 @@
|
|||||||
|
|
||||||
### Why does it take so long for a validator to be activated?
|
### Why does it take so long for a validator to be activated?
|
||||||
|
|
||||||
After validators create their Eth1 deposit transaction there are two waiting
|
After validators create their execution layer deposit transaction there are two waiting
|
||||||
periods before they can start producing blocks and attestations:
|
periods before they can start producing blocks and attestations:
|
||||||
|
|
||||||
1. Waiting for the beacon chain to recognise the Eth1 block containing the
|
1. Waiting for the beacon chain to recognise the execution layer block containing the
|
||||||
deposit (generally 4 to 7.4 hours).
|
deposit (generally 4 to 7.4 hours).
|
||||||
1. Waiting in the queue for validator activation (generally 6.4 minutes for
|
1. Waiting in the queue for validator activation (generally 6.4 minutes for
|
||||||
every 4 validators in the queue).
|
every 4 validators in the queue).
|
||||||
|
|
||||||
Detailed answers below:
|
Detailed answers below:
|
||||||
|
|
||||||
#### 1. Waiting for the beacon chain to detect the Eth1 deposit
|
#### 1. Waiting for the beacon chain to detect the execution layer deposit
|
||||||
|
|
||||||
Since the beacon chain uses Eth1 for validator on-boarding, beacon chain
|
Since the beacon chain uses the execution layer for validator on-boarding, beacon chain
|
||||||
validators must listen to event logs from the deposit contract. Since the
|
validators must listen to event logs from the deposit contract. Since the
|
||||||
latest blocks of the Eth1 chain are vulnerable to re-orgs due to minor network
|
latest blocks of the execution chain are vulnerable to re-orgs due to minor network
|
||||||
partitions, beacon nodes follow the Eth1 chain at a distance of 1,024 blocks
|
partitions, beacon nodes follow the execution chain at a distance of 1,024 blocks
|
||||||
(~4 hours) (see
|
(~4 hours) (see
|
||||||
[`ETH1_FOLLOW_DISTANCE`](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/validator.md#misc)).
|
[`ETH1_FOLLOW_DISTANCE`](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/validator.md#misc)).
|
||||||
This follow distance protects the beacon chain from on-boarding validators that
|
This follow distance protects the beacon chain from on-boarding validators that
|
||||||
are likely to be removed due to an Eth1 re-org.
|
are likely to be removed due to an execution chain re-org.
|
||||||
|
|
||||||
Now we know there's a 4 hours delay before the beacon nodes even _consider_ an
|
Now we know there's a 4 hours delay before the beacon nodes even _consider_ an
|
||||||
Eth1 block. Once they _are_ considering these blocks, there's a voting period
|
execution layer block. Once they _are_ considering these blocks, there's a voting period
|
||||||
where beacon validators vote on which Eth1 to include in the beacon chain. This
|
where beacon validators vote on which execution block hash to include in the beacon chain. This
|
||||||
period is defined as 32 epochs (~3.4 hours, see
|
period is defined as 32 epochs (~3.4 hours, see
|
||||||
[`ETH1_VOTING_PERIOD`](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#time-parameters)).
|
[`ETH1_VOTING_PERIOD`](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#time-parameters)).
|
||||||
During this voting period, each beacon block producer includes an
|
During this voting period, each beacon block producer includes an
|
||||||
[`Eth1Data`](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#eth1data)
|
[`Eth1Data`](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#eth1data)
|
||||||
in their block which counts as a vote towards what that validator considers to
|
in their block which counts as a vote towards what that validator considers to
|
||||||
be the head of the Eth1 chain at the start of the voting period (with respect
|
be the head of the execution chain at the start of the voting period (with respect
|
||||||
to `ETH1_FOLLOW_DISTANCE`, of course). You can see the exact voting logic
|
to `ETH1_FOLLOW_DISTANCE`, of course). You can see the exact voting logic
|
||||||
[here](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/validator.md#eth1-data).
|
[here](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/validator.md#eth1-data).
|
||||||
|
|
||||||
These two delays combined represent the time between an Eth1 deposit being
|
These two delays combined represent the time between an execution layer deposit being
|
||||||
included in an Eth1 data vote and that validator appearing in the beacon chain.
|
included in an execution data vote and that validator appearing in the beacon chain.
|
||||||
The `ETH1_FOLLOW_DISTANCE` delay causes a minimum delay of ~4 hours and
|
The `ETH1_FOLLOW_DISTANCE` delay causes a minimum delay of ~4 hours and
|
||||||
`ETH1_VOTING_PERIOD` means that if a validator deposit happens just _before_
|
`ETH1_VOTING_PERIOD` means that if a validator deposit happens just _before_
|
||||||
the start of a new voting period then they might not notice this delay at all.
|
the start of a new voting period then they might not notice this delay at all.
|
||||||
However, if the validator deposit happens just _after_ the start of the new
|
However, if the validator deposit happens just _after_ the start of the new
|
||||||
voting period the validator might have to wait ~3.4 hours for next voting
|
voting period the validator might have to wait ~3.4 hours for next voting
|
||||||
period. In times of very, very severe network issues, the network may even fail
|
period. In times of very, very severe network issues, the network may even fail
|
||||||
to vote in new Eth1 blocks, stopping all new validator deposits!
|
to vote in new execution layer blocks, stopping all new validator deposits!
|
||||||
|
|
||||||
#### 2. Waiting for a validator to be activated
|
#### 2. Waiting for a validator to be activated
|
||||||
|
|
||||||
If a validator has provided an invalid public key or signature, they will
|
If a validator has provided an invalid public key or signature, they will
|
||||||
_never_ be activated.
|
_never_ be activated.
|
||||||
They will simply be forgotten by the beacon chain! But, if those parameters were
|
They will simply be forgotten by the beacon chain! But, if those parameters were
|
||||||
correct, once the Eth1 delays have elapsed and the validator appears in the
|
correct, once the execution layer delays have elapsed and the validator appears in the
|
||||||
beacon chain, there's _another_ delay before the validator becomes "active"
|
beacon chain, there's _another_ delay before the validator becomes "active"
|
||||||
(canonical definition
|
(canonical definition
|
||||||
[here](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#is_active_validator)) and can start producing blocks and attestations.
|
[here](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#is_active_validator)) and can start producing blocks and attestations.
|
||||||
|
|
||||||
Firstly, the validator won't become active until their beacon chain balance is
|
Firstly, the validator won't become active until their beacon chain balance is
|
||||||
equal to or greater than
|
equal to or greater than
|
||||||
[`MAX_EFFECTIVE_BALANCE`](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#gwei-values)
|
[`MAX_EFFECTIVE_BALANCE`](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#gwei-values)
|
||||||
(32 ETH on mainnet, usually 3.2 ETH on testnets). Once this balance is reached,
|
(32 ETH on mainnet, usually 3.2 ETH on testnets). Once this balance is reached,
|
||||||
the validator must wait until the start of the next epoch (up to 6.4 minutes)
|
the validator must wait until the start of the next epoch (up to 6.4 minutes)
|
||||||
for the
|
for the
|
||||||
[`process_registry_updates`](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#registry-updates)
|
[`process_registry_updates`](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#registry-updates)
|
||||||
routine to run. This routine activates validators with respect to a [churn
|
routine to run. This routine activates validators with respect to a [churn
|
||||||
limit](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#get_validator_churn_limit);
|
limit](https://github.com/ethereum/consensus-specs/blob/v0.12.1/specs/phase0/beacon-chain.md#get_validator_churn_limit);
|
||||||
it will only allow the number of validators to increase (churn) by a certain
|
it will only allow the number of validators to increase (churn) by a certain
|
||||||
amount. Up until there are about 330,000 validators this churn limit is set to
|
amount. Up until there are about 330,000 validators this churn limit is set to
|
||||||
4 and it starts to very slowly increase as the number of validators increases
|
4 and it starts to very slowly increase as the number of validators increases
|
||||||
@ -161,7 +161,7 @@ Nov 30 21:04:28.268 WARN Syncing eth1 block cache est_blocks_remaining: initia
|
|||||||
```
|
```
|
||||||
|
|
||||||
This log indicates that your beacon node is downloading blocks and deposits
|
This log indicates that your beacon node is downloading blocks and deposits
|
||||||
from your eth1 node. When the `est_blocks_remaining` is
|
from your execution node. When the `est_blocks_remaining` is
|
||||||
`initializing_deposits`, your node is downloading deposit logs. It may stay in
|
`initializing_deposits`, your node is downloading deposit logs. It may stay in
|
||||||
this stage for several minutes. Once the deposits logs are finished
|
this stage for several minutes. Once the deposits logs are finished
|
||||||
downloading, the `est_blocks_remaining` value will start decreasing.
|
downloading, the `est_blocks_remaining` value will start decreasing.
|
||||||
@ -170,7 +170,7 @@ It is perfectly normal to see this log when starting a node for the first time
|
|||||||
or after being off for more than several minutes.
|
or after being off for more than several minutes.
|
||||||
|
|
||||||
If this log continues appearing sporadically during operation, there may be an
|
If this log continues appearing sporadically during operation, there may be an
|
||||||
issue with your eth1 endpoint.
|
issue with your execution client endpoint.
|
||||||
|
|
||||||
### Can I use redundancy in my staking setup?
|
### Can I use redundancy in my staking setup?
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ The following CLI flags control the HTTP server:
|
|||||||
- `--http-port`: specify the listen port of the server.
|
- `--http-port`: specify the listen port of the server.
|
||||||
- `--http-address`: specify the listen address of the server.
|
- `--http-address`: specify the listen address of the server.
|
||||||
|
|
||||||
The schema of the API aligns with the standard Eth2 Beacon Node API as defined
|
The schema of the API aligns with the standard Ethereum Beacon Node API as defined
|
||||||
at [github.com/ethereum/beacon-APIs](https://github.com/ethereum/beacon-APIs).
|
at [github.com/ethereum/beacon-APIs](https://github.com/ethereum/beacon-APIs).
|
||||||
It is an easy-to-use RESTful HTTP/JSON API. An interactive specification is
|
It is an easy-to-use RESTful HTTP/JSON API. An interactive specification is
|
||||||
available [here](https://ethereum.github.io/beacon-APIs/).
|
available [here](https://ethereum.github.io/beacon-APIs/).
|
||||||
|
@ -7,11 +7,11 @@ _Documentation for Lighthouse users and developers._
|
|||||||
[Chat Badge]: https://img.shields.io/badge/chat-discord-%237289da
|
[Chat Badge]: https://img.shields.io/badge/chat-discord-%237289da
|
||||||
[Chat Link]: https://discord.gg/cyAszAh
|
[Chat Link]: https://discord.gg/cyAszAh
|
||||||
|
|
||||||
Lighthouse is an **Ethereum 2.0 client** that connects to other Ethereum 2.0
|
Lighthouse is an **Ethereum consensus client** that connects to other Ethereum consensus
|
||||||
clients to form a resilient and decentralized proof-of-stake blockchain.
|
clients to form a resilient and decentralized proof-of-stake blockchain.
|
||||||
|
|
||||||
We implement the specification as defined in the
|
We implement the specification as defined in the
|
||||||
[ethereum/eth2.0-specs](https://github.com/ethereum/eth2.0-specs) repository.
|
[ethereum/consensus-specs](https://github.com/ethereum/consensus-specs) repository.
|
||||||
|
|
||||||
## Topics
|
## Topics
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
[launchpad]: https://launchpad.ethereum.org/
|
[launchpad]: https://launchpad.ethereum.org/
|
||||||
|
|
||||||
>
|
>
|
||||||
> **Note: we recommend using the [Eth2 launchpad][launchpad] to create validators.**
|
> **Note: we recommend using the [Staking launchpad][launchpad] to create validators.**
|
||||||
|
|
||||||
Lighthouse uses a _hierarchical_ key management system for producing validator
|
Lighthouse uses a _hierarchical_ key management system for producing validator
|
||||||
keys. It is hierarchical because each validator key can be _derived_ from a
|
keys. It is hierarchical because each validator key can be _derived_ from a
|
||||||
@ -92,7 +92,7 @@ leaking private key data.
|
|||||||
|
|
||||||
### Withdrawal Keypairs
|
### Withdrawal Keypairs
|
||||||
|
|
||||||
In Eth2 Phase 0, withdrawal keypairs do not serve any immediate purpose.
|
In Ethereum consensus Phase 0, withdrawal keypairs do not serve any immediate purpose.
|
||||||
However, they become very important _after_ Phase 0: they will provide the
|
However, they become very important _after_ Phase 0: they will provide the
|
||||||
ultimate control of the ETH of withdrawn validators.
|
ultimate control of the ETH of withdrawn validators.
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ which contains all the information necessary to run a validator using the
|
|||||||
`lighthouse vc` command. The password to this new keystore will be placed in
|
`lighthouse vc` command. The password to this new keystore will be placed in
|
||||||
the `--secrets-dir` (default `~/.lighthouse/{network}/secrets`).
|
the `--secrets-dir` (default `~/.lighthouse/{network}/secrets`).
|
||||||
|
|
||||||
where `network` is the name of the Eth2 network passed in the `--network` parameter (default is `mainnet`).
|
where `network` is the name of the consensus layer network passed in the `--network` parameter (default is `mainnet`).
|
||||||
|
|
||||||
## Recover a EIP-2386 wallet
|
## Recover a EIP-2386 wallet
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Become an Eth2 Mainnet Validator
|
# Become an Ethereum Consensus Mainnet Validator
|
||||||
|
|
||||||
[launchpad]: https://launchpad.ethereum.org/
|
[launchpad]: https://launchpad.ethereum.org/
|
||||||
[lh-book]: https://lighthouse-book.sigmaprime.io/
|
[lh-book]: https://lighthouse-book.sigmaprime.io/
|
||||||
@ -8,18 +8,18 @@
|
|||||||
[slashing]: ./slashing-protection.md
|
[slashing]: ./slashing-protection.md
|
||||||
[discord]: https://discord.gg/cyAszAh
|
[discord]: https://discord.gg/cyAszAh
|
||||||
|
|
||||||
Becoming an Eth2 validator is rewarding, but it's not for the faint of heart. You'll need to be
|
Becoming an Ethereum consensus validator is rewarding, but it's not for the faint of heart. You'll need to be
|
||||||
familiar with the rules of staking (e.g., rewards, penalties, etc.) and also configuring and
|
familiar with the rules of staking (e.g., rewards, penalties, etc.) and also configuring and
|
||||||
managing servers. You'll also need at least 32 ETH!
|
managing servers. You'll also need at least 32 ETH!
|
||||||
|
|
||||||
For those with an understanding of Eth2 and server maintenance, you'll find that running Lighthouse
|
For those with an understanding of Ethereum consensus and server maintenance, you'll find that running Lighthouse
|
||||||
is easy. Install it, start it, monitor it and keep it updated. You shouldn't need to interact
|
is easy. Install it, start it, monitor it and keep it updated. You shouldn't need to interact
|
||||||
with it on a day-to-day basis.
|
with it on a day-to-day basis.
|
||||||
|
|
||||||
Being educated is critical to validator success. Before submitting your mainnet deposit, we
|
Being educated is critical to validator success. Before submitting your mainnet deposit, we
|
||||||
recommend:
|
recommend:
|
||||||
|
|
||||||
- Thoroughly exploring the [Eth2 Launchpad][launchpad] website
|
- Thoroughly exploring the [Staking Launchpad][launchpad] website
|
||||||
- Try running through the deposit process *without* actually submitting a deposit.
|
- Try running through the deposit process *without* actually submitting a deposit.
|
||||||
- Reading through this documentation, especially the [Slashing Protection][slashing] section.
|
- Reading through this documentation, especially the [Slashing Protection][slashing] section.
|
||||||
- Running a [testnet validator][testnet-validator].
|
- Running a [testnet validator][testnet-validator].
|
||||||
@ -37,7 +37,7 @@ Remember, if you get stuck you can always reach out on our [Discord][discord].
|
|||||||
> occured through the use of Lighthouse. We have an experienced internal security team and have
|
> occured through the use of Lighthouse. We have an experienced internal security team and have
|
||||||
> undergone multiple third-party security-reviews, however the possibility of bugs or malicious
|
> undergone multiple third-party security-reviews, however the possibility of bugs or malicious
|
||||||
> interference remains a real and constant threat. Validators should be prepared to lose some rewards
|
> interference remains a real and constant threat. Validators should be prepared to lose some rewards
|
||||||
> due to the actions of other actors on the Eth2 network or software bugs. See the
|
> due to the actions of other actors on the consensus layer or software bugs. See the
|
||||||
> [software license][license] for more detail on liability.
|
> [software license][license] for more detail on liability.
|
||||||
|
|
||||||
## Using Lighthouse for Mainnet
|
## Using Lighthouse for Mainnet
|
||||||
@ -57,7 +57,7 @@ provide a `--network` flag instead of relying on the default.
|
|||||||
There are five primary steps to become a testnet validator:
|
There are five primary steps to become a testnet validator:
|
||||||
|
|
||||||
1. Create validator keys and submit deposits.
|
1. Create validator keys and submit deposits.
|
||||||
1. Start an Eth1 client.
|
1. Start an execution client.
|
||||||
1. Install Lighthouse.
|
1. Install Lighthouse.
|
||||||
1. Import the validator keys into Lighthouse.
|
1. Import the validator keys into Lighthouse.
|
||||||
1. Start Lighthouse.
|
1. Start Lighthouse.
|
||||||
@ -68,10 +68,10 @@ setting aside one or two hours for this process.
|
|||||||
|
|
||||||
### Step 1. Create validator keys
|
### Step 1. Create validator keys
|
||||||
|
|
||||||
The Ethereum Foundation provides an "Eth2 launch pad" for creating validator keypairs and submitting
|
The Ethereum Foundation provides a "Staking Launchpad" for creating validator keypairs and submitting
|
||||||
deposits:
|
deposits:
|
||||||
|
|
||||||
- [Eth2 Launchpad][launchpad]
|
- [Staking Launchpad][launchpad]
|
||||||
|
|
||||||
Please follow the steps on the launch pad site to generate validator keys and submit deposits. Make
|
Please follow the steps on the launch pad site to generate validator keys and submit deposits. Make
|
||||||
sure you select "Lighthouse" as your client.
|
sure you select "Lighthouse" as your client.
|
||||||
@ -79,10 +79,10 @@ sure you select "Lighthouse" as your client.
|
|||||||
Move to the next step once you have completed the steps on the launch pad,
|
Move to the next step once you have completed the steps on the launch pad,
|
||||||
including generating keys via the Python CLI and submitting gETH/ETH deposits.
|
including generating keys via the Python CLI and submitting gETH/ETH deposits.
|
||||||
|
|
||||||
### Step 2. Start an Eth1 client
|
### Step 2. Start an execution client
|
||||||
|
|
||||||
Since Eth2 relies upon the Eth1 chain for validator on-boarding, all Eth2 validators must have a
|
Since the consensus chain relies upon the execution chain for validator on-boarding, all consensus validators must have a
|
||||||
connection to an Eth1 node.
|
connection to an execution client.
|
||||||
|
|
||||||
We provide instructions for using Geth, but you could use any client that implements the JSON RPC
|
We provide instructions for using Geth, but you could use any client that implements the JSON RPC
|
||||||
via HTTP. A fast-synced node is sufficient.
|
via HTTP. A fast-synced node is sufficient.
|
||||||
@ -95,7 +95,7 @@ geth. Otherwise [see here](https://github.com/ethereum/go-ethereum/wiki/Installi
|
|||||||
|
|
||||||
#### Starting Geth
|
#### Starting Geth
|
||||||
|
|
||||||
Once you have geth installed, use this command to start your Eth1 node:
|
Once you have geth installed, use this command to start your execution node:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
geth --http
|
geth --http
|
||||||
@ -116,7 +116,7 @@ its `--version` info.
|
|||||||
|
|
||||||
### Step 4. Import validator keys to Lighthouse
|
### Step 4. Import validator keys to Lighthouse
|
||||||
|
|
||||||
When Lighthouse is installed, follow the [Importing from the Ethereum 2.0 Launch
|
When Lighthouse is installed, follow the [Importing from the Ethereum Staking Launch
|
||||||
pad](./validator-import-launchpad.md) instructions so the validator client can
|
pad](./validator-import-launchpad.md) instructions so the validator client can
|
||||||
perform your validator duties.
|
perform your validator duties.
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
There are three places in Lighthouse where redundancy is notable:
|
There are three places in Lighthouse where redundancy is notable:
|
||||||
|
|
||||||
1. ✅ GOOD: Using a redundant Beacon node in `lighthouse vc --beacon-nodes`
|
1. ✅ GOOD: Using a redundant Beacon node in `lighthouse vc --beacon-nodes`
|
||||||
1. ✅ GOOD: Using a redundant Eth1 node in `lighthouse bn --eth1-endpoints`
|
1. ✅ GOOD: Using a redundant execution node in `lighthouse bn --eth1-endpoints`
|
||||||
1. ☠️ BAD: Running redundant `lighthouse vc` instances with overlapping keypairs.
|
1. ☠️ BAD: Running redundant `lighthouse vc` instances with overlapping keypairs.
|
||||||
|
|
||||||
I mention (3) since it is unsafe and should not be confused with the other two
|
I mention (3) since it is unsafe and should not be confused with the other two
|
||||||
@ -55,7 +55,7 @@ In our previous example we listed `http://192.168.1.1:5052` as a redundant
|
|||||||
node. Apart from having sufficient resources, the backup node should have the
|
node. Apart from having sufficient resources, the backup node should have the
|
||||||
following flags:
|
following flags:
|
||||||
|
|
||||||
- `--staking`: starts the HTTP API server and ensures the Eth1 chain is synced.
|
- `--staking`: starts the HTTP API server and ensures the execution chain is synced.
|
||||||
- `--http-address 0.0.0.0`: this allows *any* external IP address to access the
|
- `--http-address 0.0.0.0`: this allows *any* external IP address to access the
|
||||||
HTTP server (a firewall should be configured to deny unauthorized access to port
|
HTTP server (a firewall should be configured to deny unauthorized access to port
|
||||||
`5052`). This is only required if your backup node is on a different host.
|
`5052`). This is only required if your backup node is on a different host.
|
||||||
@ -92,23 +92,23 @@ There are 64 subnets and each validator will result in a subscription to *at
|
|||||||
least* one subnet. So, using the two aforementioned flags will result in
|
least* one subnet. So, using the two aforementioned flags will result in
|
||||||
resource consumption akin to running 64+ validators.
|
resource consumption akin to running 64+ validators.
|
||||||
|
|
||||||
## Redundant Eth1 nodes
|
## Redundant execution nodes
|
||||||
|
|
||||||
Compared to redundancy in beacon nodes (see above), using redundant Eth1 nodes
|
Compared to redundancy in beacon nodes (see above), using redundant execution nodes
|
||||||
is very straight-forward:
|
is very straight-forward:
|
||||||
|
|
||||||
1. `lighthouse bn --eth1-endpoints http://localhost:8545`
|
1. `lighthouse bn --eth1-endpoints http://localhost:8545`
|
||||||
1. `lighthouse bn --eth1-endpoints http://localhost:8545,http://192.168.0.1:8545`
|
1. `lighthouse bn --eth1-endpoints http://localhost:8545,http://192.168.0.1:8545`
|
||||||
|
|
||||||
In the case of (1), any failure on `http://localhost:8545` will result in a
|
In the case of (1), any failure on `http://localhost:8545` will result in a
|
||||||
failure to update the Eth1 cache in the beacon node. Consistent failure over a
|
failure to update the execution client cache in the beacon node. Consistent failure over a
|
||||||
period of hours may result in a failure in block production.
|
period of hours may result in a failure in block production.
|
||||||
|
|
||||||
However, in the case of (2), the `http://192.168.0.1:8545` Eth1 endpoint will
|
However, in the case of (2), the `http://192.168.0.1:8545` execution client endpoint will
|
||||||
be tried each time the first fails. Eth1 endpoints will be tried from first to
|
be tried each time the first fails. Execution client endpoints will be tried from first to
|
||||||
last in the list, until a successful response is obtained.
|
last in the list, until a successful response is obtained.
|
||||||
|
|
||||||
There is no need for special configuration on the Eth1 endpoint, all endpoints can (probably should)
|
There is no need for special configuration on the execution client endpoint, all endpoints can (probably should)
|
||||||
be configured identically.
|
be configured identically.
|
||||||
|
|
||||||
> Note: When supplying multiple endpoints the `http://localhost:8545` address must be explicitly
|
> Note: When supplying multiple endpoints the `http://localhost:8545` address must be explicitly
|
||||||
|
@ -10,7 +10,7 @@ base dependencies.
|
|||||||
|
|
||||||
The additional requirements for developers are:
|
The additional requirements for developers are:
|
||||||
- [`ganache-cli`](https://github.com/trufflesuite/ganache-cli). This is used to
|
- [`ganache-cli`](https://github.com/trufflesuite/ganache-cli). This is used to
|
||||||
simulate the Eth1 chain during tests. You'll get failures during tests if you
|
simulate the execution chain during tests. You'll get failures during tests if you
|
||||||
don't have `ganache-cli` available on your `PATH`.
|
don't have `ganache-cli` available on your `PATH`.
|
||||||
- [`cmake`](https://cmake.org/cmake/help/latest/command/install.html). Used by
|
- [`cmake`](https://cmake.org/cmake/help/latest/command/install.html). Used by
|
||||||
some dependencies. See [`Installation Guide`](./installation.md) for more info.
|
some dependencies. See [`Installation Guide`](./installation.md) for more info.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Slashing Protection
|
# Slashing Protection
|
||||||
|
|
||||||
The security of Ethereum 2.0's proof of stake protocol depends on penalties for misbehaviour, known
|
The security of the Ethereum proof-of-stake protocol depends on penalties for misbehaviour, known
|
||||||
as _slashings_. Validators that sign conflicting messages (blocks or attestations), can be slashed
|
as _slashings_. Validators that sign conflicting messages (blocks or attestations), can be slashed
|
||||||
by other validators through the inclusion of a `ProposerSlashing` or `AttesterSlashing` on chain.
|
by other validators through the inclusion of a `ProposerSlashing` or `AttesterSlashing` on chain.
|
||||||
|
|
||||||
|
@ -3,17 +3,17 @@
|
|||||||
[mainnet-validator]: ./mainnet-validator.md
|
[mainnet-validator]: ./mainnet-validator.md
|
||||||
[prater-launchpad]: https://prater.launchpad.ethereum.org/
|
[prater-launchpad]: https://prater.launchpad.ethereum.org/
|
||||||
|
|
||||||
Joining an Eth2 testnet is a great way to get familiar with staking in Phase 0. All users should
|
Joining an Ethereum consensus testnet is a great way to get familiar with staking in Phase 0. All users should
|
||||||
experiment with a testnet prior to staking mainnet ETH.
|
experiment with a testnet prior to staking mainnet ETH.
|
||||||
|
|
||||||
To join a testnet, you can follow the [Become an Eth2 Mainnet Validator][mainnet-validator]
|
To join a testnet, you can follow the [Become an Ethereum consensus Mainnet Validator][mainnet-validator]
|
||||||
instructions but with a few differences:
|
instructions but with a few differences:
|
||||||
|
|
||||||
1. Use the appropriate Eth2 launchpad website:
|
1. Use the appropriate Staking launchpad website:
|
||||||
- [Prater][prater-launchpad]
|
- [Prater][prater-launchpad]
|
||||||
1. Instead of `--network mainnet`, use the appropriate network flag:
|
1. Instead of `--network mainnet`, use the appropriate network flag:
|
||||||
- `--network prater`: Prater.
|
- `--network prater`: Prater.
|
||||||
1. Use a Goerli Eth1 node instead of a mainnet one:
|
1. Use a Goerli execution node instead of a mainnet one:
|
||||||
- For Geth, this means using `geth --goerli --http`.
|
- For Geth, this means using `geth --goerli --http`.
|
||||||
1. Notice that Lighthouse will store its files in a different directory by default:
|
1. Notice that Lighthouse will store its files in a different directory by default:
|
||||||
- `~/.lighthouse/prater`: Prater.
|
- `~/.lighthouse/prater`: Prater.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
[launchpad]: https://launchpad.ethereum.org/
|
[launchpad]: https://launchpad.ethereum.org/
|
||||||
|
|
||||||
>
|
>
|
||||||
> **Note: we recommend using the [Eth2 launchpad][launchpad] to create validators.**
|
> **Note: we recommend using the [Staking launchpad][launchpad] to create validators.**
|
||||||
|
|
||||||
Validators are fundamentally represented by a BLS keypair. In Lighthouse, we
|
Validators are fundamentally represented by a BLS keypair. In Lighthouse, we
|
||||||
use a [wallet](./wallet-create.md) to generate these keypairs. Once a wallet
|
use a [wallet](./wallet-create.md) to generate these keypairs. Once a wallet
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
From Lighthouse `v1.5.0`, the *Doppelganger Protection* feature is available for the Validator
|
From Lighthouse `v1.5.0`, the *Doppelganger Protection* feature is available for the Validator
|
||||||
Client. Taken from the German *[doppelgänger]*, which translates literally to "double-walker", a
|
Client. Taken from the German *[doppelgänger]*, which translates literally to "double-walker", a
|
||||||
"doppelganger" in Eth2 refers to another instance of a validator running in a separate validator
|
"doppelganger" in the context of Ethereum proof-of-stake refers to another instance of a validator running in a separate validator
|
||||||
process. As detailed in [Slashing Protection], running the same validator twice will inevitably
|
process. As detailed in [Slashing Protection], running the same validator twice will inevitably
|
||||||
result in slashing.
|
result in slashing.
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Importing from the Ethereum 2.0 Launch pad
|
# Importing from the Ethereum Staking Launch pad
|
||||||
|
|
||||||
The [Eth2 Lauchpad](https://github.com/ethereum/eth2.0-deposit) is a website
|
The [Staking Lauchpad](https://github.com/ethereum/eth2.0-deposit) is a website
|
||||||
from the Ethereum Foundation which guides users how to use the
|
from the Ethereum Foundation which guides users how to use the
|
||||||
[`eth2.0-deposit-cli`](https://github.com/ethereum/eth2.0-deposit-cli)
|
[`eth2.0-deposit-cli`](https://github.com/ethereum/eth2.0-deposit-cli)
|
||||||
command-line program to generate Eth2 validator keys.
|
command-line program to generate consensus validator keys.
|
||||||
|
|
||||||
The keys that are generated from `eth2.0-deposit-cli` can be easily loaded into
|
The keys that are generated from `eth2.0-deposit-cli` can be easily loaded into
|
||||||
a Lighthouse validator client (`lighthouse vc`). In fact, both of these
|
a Lighthouse validator client (`lighthouse vc`). In fact, both of these
|
||||||
@ -20,7 +20,7 @@ Whilst following the steps on the website, users are instructed to download the
|
|||||||
repository. This `eth2-deposit-cli` script will generate the validator BLS keys
|
repository. This `eth2-deposit-cli` script will generate the validator BLS keys
|
||||||
into a `validator_keys` directory. We assume that the user's
|
into a `validator_keys` directory. We assume that the user's
|
||||||
present-working-directory is the `eth2-deposit-cli` repository (this is where
|
present-working-directory is the `eth2-deposit-cli` repository (this is where
|
||||||
you will be if you just ran the `./deposit.sh` script from the Eth2 Launch pad
|
you will be if you just ran the `./deposit.sh` script from the Staking Launch pad
|
||||||
website). If this is not the case, simply change the `--directory` to point to
|
website). If this is not the case, simply change the `--directory` to point to
|
||||||
the `validator_keys` directory.
|
the `validator_keys` directory.
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ section, all other users can use:
|
|||||||
lighthouse --network mainnet account validator import --directory validator_keys
|
lighthouse --network mainnet account validator import --directory validator_keys
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: The user must specify the Eth2 network that they are importing the keys for using the `--network` flag.
|
Note: The user must specify the consensus client network that they are importing the keys for using the `--network` flag.
|
||||||
|
|
||||||
|
|
||||||
After which they will be prompted for a password for each keystore discovered:
|
After which they will be prompted for a password for each keystore discovered:
|
||||||
|
@ -4,7 +4,7 @@ The `/lighthouse/validator_inclusion` API endpoints provide information on
|
|||||||
results of the proof-of-stake voting process used for finality/justification
|
results of the proof-of-stake voting process used for finality/justification
|
||||||
under Casper FFG.
|
under Casper FFG.
|
||||||
|
|
||||||
These endpoints are not stable or included in the Eth2 standard API. As such,
|
These endpoints are not stable or included in the Ethereum consensus standard API. As such,
|
||||||
they are subject to change or removal without a change in major release
|
they are subject to change or removal without a change in major release
|
||||||
version.
|
version.
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ This number can be much higher depending on how many other validators are queued
|
|||||||
Even though users can perform a voluntary exit in phase 0, they **cannot withdraw their exited funds at this point in time**.
|
Even though users can perform a voluntary exit in phase 0, they **cannot withdraw their exited funds at this point in time**.
|
||||||
This implies that the staked funds are effectively **frozen** until withdrawals are enabled in future phases.
|
This implies that the staked funds are effectively **frozen** until withdrawals are enabled in future phases.
|
||||||
|
|
||||||
To understand the phased rollout strategy for Eth2, please visit <https://ethereum.org/en/eth2/#roadmap>.
|
To understand the phased rollout strategy for Ethereum upgrages, please visit <https://ethereum.org/en/upgrades/#roadmap>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ In order to initiate an exit, users can use the `lighthouse account validator ex
|
|||||||
|
|
||||||
- The `--keystore` flag is used to specify the path to the EIP-2335 voting keystore for the validator.
|
- The `--keystore` flag is used to specify the path to the EIP-2335 voting keystore for the validator.
|
||||||
|
|
||||||
- The `--beacon-node` flag is used to specify a beacon chain HTTP endpoint that confirms to the [Eth2.0 Standard Beacon Node API](https://ethereum.github.io/beacon-APIs/) specifications. That beacon node will be used to validate and propagate the voluntary exit. The default value for this flag is `http://localhost:5052`.
|
- The `--beacon-node` flag is used to specify a beacon chain HTTP endpoint that confirms to the [Beacon Node API](https://ethereum.github.io/beacon-APIs/) specifications. That beacon node will be used to validate and propagate the voluntary exit. The default value for this flag is `http://localhost:5052`.
|
||||||
|
|
||||||
- The `--network` flag is used to specify a particular Eth2 network (default is `mainnet`).
|
- The `--network` flag is used to specify a particular Eth2 network (default is `mainnet`).
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
[launchpad]: https://launchpad.ethereum.org/
|
[launchpad]: https://launchpad.ethereum.org/
|
||||||
|
|
||||||
>
|
>
|
||||||
> **Note: we recommend using the [Eth2 launchpad][launchpad] to create validators.**
|
> **Note: we recommend using the [Staking launchpad][launchpad] to create validators.**
|
||||||
|
|
||||||
A wallet allows for generating practically unlimited validators from an
|
A wallet allows for generating practically unlimited validators from an
|
||||||
easy-to-remember 24-word string (a mnemonic). As long as that mnemonic is
|
easy-to-remember 24-word string (a mnemonic). As long as that mnemonic is
|
||||||
|
Loading…
Reference in New Issue
Block a user