diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1baa9d5942f4..2b3f1d33b970 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -209,15 +209,14 @@ Effort estimations can help planning to tackle issues that are particulary easy - `q7-involved`: Can be fixed by a team of developers and probably takes some time. - `q9-epic`: Can only be fixed by John Skeet. ;) -###### `spec.*` Eth2 Consensus Spec Version Target - -Issues that target a specific version of the Eth2 consensus spec, shall be tagged accordingly. - -- `spec0-phase0`: Issues targeting the initial Eth2 spec version. -- `spec1-altair`: Issues targeting the Altair Eth2 spec version. -- `spec3-merge`: Issues targeting the merge Eth2 spec version. -- `spec5-phase1`: Issues targeting the Phase1 Eth2 spec version. -- `spec7-phase2`: Issues targeting the Phase2 Eth2 spec version. +###### `spec.*` Ethereum Consensus Spec Version Target + +Issues that target a specific version of the Ethereum consensus spec, shall be tagged accordingly. +* `spec0-phase0`: Issues targeting the initial Ethereum consensus spec version. +* `spec1-altair`: Issues targeting the Altair Ethereum consensus spec version. +* `spec3-bellatrix`: Issues targeting the Bellatrix Ethereum consensus spec version. +* `spec5-phase1`: Issues targeting the Phase1 Ethereum consensus spec version. +* `spec7-phase2`: Issues targeting the Phase2 Ethereum consensus spec version. ###### `meta.*` Meta Labels to organize Miscelaneous Issues diff --git a/README.md b/README.md index 4d295c67507b..458d230ef39d 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@

-# Lodestar Eth2 Implementation +# Lodestar Ethereum Consensus Implementation [![GitHub release (latest by date)](https://img.shields.io/github/v/release/chainsafe/lodestar?label=Github)](https://github.com/ChainSafe/lodestar/releases/latest) [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-cli)](https://www.npmjs.com/package/@chainsafe/lodestar-cli) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/chainsafe/lodestar?color=blue&label=Docker&sort=semver)](https://hub.docker.com/r/chainsafe/lodestar) -[![Eth2_Spec v1.1.0-beta.3](https://img.shields.io/badge/Eth2_Spec-v1.1.0--beta.3-2e86c1.svg)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.0-beta.3) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) [![codecov](https://codecov.io/gh/ChainSafe/lodestar/branch/master/graph/badge.svg)](https://codecov.io/gh/ChainSafe/lodestar) [![Maintainability](https://api.codeclimate.com/v1/badges/678099476c401e1af503/maintainability)](https://codeclimate.com/github/ChainSafe/lodestar/maintainability) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-14.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) -[Lodestar](https://lodestar.chainsafe.io) is a TypeScript implementation of the [Ethereum 2.0 specification](https://github.com/ethereum/consensus-specs) developed by [ChainSafe Systems](https://chainsafe.io). +[Lodestar](https://lodestar.chainsafe.io) is a TypeScript implementation of the [Ethereum Consensus specification](https://github.com/ethereum/consensus-specs) developed by [ChainSafe Systems](https://chainsafe.io). ###### Get it from the NPM Registry: @@ -28,7 +28,7 @@ docker pull chainsafe/lodestar ## Getting started - :gear: Follow the [installation guide](https://chainsafe.github.io/lodestar/installation) to install Lodestar. -- :globe_with_meridians: Run lodestar on the [Eth2 mainnet or on a public testnet](https://chainsafe.github.io/lodestar/usage/testnet/). +- :globe_with_meridians: Run lodestar on the [Ethereum beacon chain mainnet or on a public testnet](https://chainsafe.github.io/lodestar/usage/testnet/). - :computer: Quickly try out the whole stack by [starting a local testnet](https://chainsafe.github.io/lodestar/usage/local). - :spiral_notepad: View the lodestar [CLI commands and options](https://chainsafe.github.io/lodestar/reference/cli/). - :nerd_face: View the [TypeDoc code documentation](https://chainsafe.github.io/lodestar/packages). @@ -52,25 +52,25 @@ yarn build ## Architecture Overview -- :package: This mono-repository contains a suite of Ethereum 2.0 packages. +- :package: This mono-repository contains a suite of Ethereum Consensus packages. - :balance_scale: The mono-repository is released under [LGPLv3 license](./LICENSE). Note, that the packages contain their own licenses. -| Package | Version | License | Docs | Description | -| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | -| [@chainsafe/lodestar](https://github.com/ChainSafe/lodestar/tree/master/packages/lodestar) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar)](https://www.npmjs.com/package/@chainsafe/lodestar) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar) | :rotating_light: Beacon-chain client | -| [@chainsafe/lodestar-validator](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-validator)](https://www.npmjs.com/package/@chainsafe/lodestar-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) | :bank: Validator client | -| [@chainsafe/lodestar-light-client](https://github.com/ChainSafe/lodestar/tree/master/packages/light-client) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-light-client)](https://www.npmjs.com/package/@chainsafe/lodestar-light-client) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/light-client) | :bird: Eth2 Light client | -| [@chainsafe/lodestar-api](https://github.com/ChainSafe/lodestar/tree/master/packages/api) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-api)](https://www.npmjs.com/package/@chainsafe/lodestar-api) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/api) | :clipboard: REST Client for the Eth2 API | -| [@chainsafe/lodestar-cli](https://github.com/ChainSafe/lodestar/tree/master/packages/cli) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-cli)](https://www.npmjs.com/package/@chainsafe/lodestar-cli) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar/reference/cli/) | :computer: Command-line tool for Lodestar | -| [@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-beacon-state-transition)](https://www.npmjs.com/package/@chainsafe/lodestar-beacon-state-transition) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) | :mag_right: Eth2 beacon-state transition | -| [@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-types)](https://www.npmjs.com/package/@chainsafe/lodestar-types) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/types) | :spiral_notepad: Eth2 TypeScript and SSZ types | -| [@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-params)](https://www.npmjs.com/package/@chainsafe/lodestar-params) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/params) | :spider_web: Eth2 network parameters | -| [@chainsafe/lodestar-utils](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-utils)](https://www.npmjs.com/package/@chainsafe/lodestar-utils) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) | :toolbox: Miscellaneous utility functions used across Lodestar | -| [@chainsafe/lodestar-config](https://github.com/ChainSafe/lodestar/tree/master/packages/config) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-config)](https://www.npmjs.com/package/@chainsafe/lodestar-config) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/config) | :spiral_notepad: Eth2 types and params bundled together | -| [@chainsafe/lodestar-spec-test-util](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-util) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-spec-test-util)](https://www.npmjs.com/package/@chainsafe/lodestar-spec-test-util) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-util) | :test_tube: Test harness for Eth2 spec tests | -| [@chainsafe/lodestar-spec-test-runner](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-runner) | | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | | :test_tube: Run all Eth2 spec tests | -| [@chainsafe/lodestar-db](https://github.com/ChainSafe/lodestar/tree/master/packages/db) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-db)](https://www.npmjs.com/package/@chainsafe/lodestar-db) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/db) | :floppy_disk: Read/write persistent Eth2 data | -| [@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-fork-choice)](https://www.npmjs.com/package/@chainsafe/lodestar-fork-choice) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) | :fork_and_knife: Beacon-chain fork choice | +| Package | Version | License | Docs | Description | +| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------- | +| [@chainsafe/lodestar](https://github.com/ChainSafe/lodestar/tree/master/packages/lodestar) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar)](https://www.npmjs.com/package/@chainsafe/lodestar) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar) | :rotating_light: Beacon-chain client | +| [@chainsafe/lodestar-validator](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-validator)](https://www.npmjs.com/package/@chainsafe/lodestar-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/validator) | :bank: Validator client | +| [@chainsafe/lodestar-light-client](https://github.com/ChainSafe/lodestar/tree/master/packages/light-client) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-light-client)](https://www.npmjs.com/package/@chainsafe/lodestar-light-client) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/light-client) | :bird: Ethereum Light client | +| [@chainsafe/lodestar-api](https://github.com/ChainSafe/lodestar/tree/master/packages/api) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-api)](https://www.npmjs.com/package/@chainsafe/lodestar-api) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/api) | :clipboard: REST Client for the Eth Beacon API | +| [@chainsafe/lodestar-cli](https://github.com/ChainSafe/lodestar/tree/master/packages/cli) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-cli)](https://www.npmjs.com/package/@chainsafe/lodestar-cli) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://chainsafe.github.io/lodestar/reference/cli/) | :computer: Command-line tool for Lodestar | +| [@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-beacon-state-transition)](https://www.npmjs.com/package/@chainsafe/lodestar-beacon-state-transition) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) | :mag_right: Eth Consensus beacon-state transition | +| [@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-types)](https://www.npmjs.com/package/@chainsafe/lodestar-types) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/types) | :spiral_notepad: Eth Consensus TypeScript and SSZ types | +| [@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-params)](https://www.npmjs.com/package/@chainsafe/lodestar-params) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/params) | :spider_web: Eth Consensus network parameters | +| [@chainsafe/lodestar-utils](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-utils)](https://www.npmjs.com/package/@chainsafe/lodestar-utils) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/utils) | :toolbox: Miscellaneous utility functions used across Lodestar | +| [@chainsafe/lodestar-config](https://github.com/ChainSafe/lodestar/tree/master/packages/config) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-config)](https://www.npmjs.com/package/@chainsafe/lodestar-config) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/config) | :spiral_notepad: Eth Consensus types and params bundled together | +| [@chainsafe/lodestar-spec-test-util](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-util) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-spec-test-util)](https://www.npmjs.com/package/@chainsafe/lodestar-spec-test-util) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-util) | :test_tube: Test harness for Eth Consensus spec tests | +| [@chainsafe/lodestar-spec-test-runner](https://github.com/ChainSafe/lodestar/tree/master/packages/spec-test-runner) | | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | | :test_tube: Run all Eth Consensus spec tests | +| [@chainsafe/lodestar-db](https://github.com/ChainSafe/lodestar/tree/master/packages/db) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-db)](https://www.npmjs.com/package/@chainsafe/lodestar-db) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/db) | :floppy_disk: Read/write persistent Eth Consensus data | +| [@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) | [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-fork-choice)](https://www.npmjs.com/package/@chainsafe/lodestar-fork-choice) | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | [![documentation](https://img.shields.io/badge/readme-blue)](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) | :fork_and_knife: Beacon-chain fork choice | ## Contributors diff --git a/docs/design/depgraph.md b/docs/design/depgraph.md index 993dca888e67..7a420d75d60c 100644 --- a/docs/design/depgraph.md +++ b/docs/design/depgraph.md @@ -74,11 +74,11 @@ Let's talk about how each package fits together in finer detail, from top to bot ## @chainsafe/lodestar-params -[@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) contains the parameters for configuring an eth2 network. For example, the [mainnet params](https://github.com/ethereum/eth2.0-specs/blob/dev/configs/mainnet/phase0.yaml) +[@chainsafe/lodestar-params](https://github.com/ChainSafe/lodestar/tree/master/packages/params) contains the parameters for configuring an Ethereum Consensus network. For example, the [mainnet params](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#configuration) ## @chainsafe/lodestar-types -[@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) contains eth2 ssz types and data structures. +[@chainsafe/lodestar-types](https://github.com/ChainSafe/lodestar/tree/master/packages/types) contains Eth Consensus ssz types and data structures. ## @chainsafe/lodestar-config @@ -90,7 +90,7 @@ Let's talk about how each package fits together in finer detail, from top to bot ## @chainsafe/lodestar-beacon-state-transition -[@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) contains the Lodestar implementation of the [beacon state transition function](https://github.com/ethereum/eth2.0-specs/blob/v0.10.0/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function), which is used by [`@chainsafe/lodestar`](#chainsafelodestar) to perform the actual beacon state transition. This package also contains various functions used to calculate info about the beacon chain (such as `computeEpochAtSlot`) which are used by [@chainsafe/lodestar-fork-choice](#chainsafelodestar-fork-choice) and [@chainsafe/lodestar-validator](#chainsafelodestar-validator) +[@chainsafe/lodestar-beacon-state-transition](https://github.com/ChainSafe/lodestar/tree/master/packages/beacon-state-transition) contains the Lodestar implementation of the [beacon state transition function](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function), which is used by [`@chainsafe/lodestar`](#chainsafelodestar) to perform the actual beacon state transition. This package also contains various functions used to calculate info about the beacon chain (such as `computeEpochAtSlot`) which are used by [@chainsafe/lodestar-fork-choice](#chainsafelodestar-fork-choice) and [@chainsafe/lodestar-validator](#chainsafelodestar-validator) ## @chainsafe/lodestar-db @@ -99,7 +99,7 @@ Let's talk about how each package fits together in finer detail, from top to bot ## @chainsafe/lodestar-fork-choice [@chainsafe/lodestar-fork-choice](https://github.com/ChainSafe/lodestar/tree/master/packages/fork-choice) holds the methods for reading/writing the fork choice DAG. The [`@chainsafe/lodestar`](#chainsafelodestar) package is the sole consumer of this package because the beacon node itself is what controls when the fork choice DAG is updated. -For a good explainer on how the fork choice itself works, see the [annotated fork choice spec](https://github.com/ethereum/annotated-spec/blob/master/phase0/fork-choice.md). This is an annotated version of the [Eth2 fork choice spec](https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md) which `lodestar-fork-choice` is based on. +For a good explainer on how the fork choice itself works, see the [annotated fork choice spec](https://github.com/ethereum/annotated-spec/blob/v1.1.10/phase0/fork-choice.md). This is an annotated version of the [Eth Consensus fork choice spec](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md) which `lodestar-fork-choice` is based on. ## @chainsafe/lodestar-validator diff --git a/docs/index.md b/docs/index.md index 7ce816782f54..5b71cba78f3c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ ## Welcome to the Lodestar documentation! -> **Lodestar is an open-source Ethereum Consensus (Eth2) client and Typescript ecosystem, maintained by ChainSafe Systems** +> **Lodestar is an open-source Ethereum Consensus client and Typescript ecosystem, maintained by ChainSafe Systems** ### Getting started diff --git a/docs/installation.md b/docs/installation.md index 0b3dcace540d..7eb48e96c243 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -19,7 +19,7 @@ Clone the repo locally. git clone https://github.com/chainsafe/lodestar.git ``` -Install across all packages. Lodestar follows a [monorepo](https://github.com/lerna/lerna) structure, so all commands below must be run in the project root. Use the `--ignore-optional` flag to prevent downloading the eth2 spec tests. +Install across all packages. Lodestar follows a [monorepo](https://github.com/lerna/lerna) structure, so all commands below must be run in the project root. Use the `--ignore-optional` flag to prevent downloading the Ethereum Consensus spec tests. ```bash yarn install --ignore-optional diff --git a/docs/libraries/index.md b/docs/libraries/index.md index 8ed2a653990c..4ab308598445 100644 --- a/docs/libraries/index.md +++ b/docs/libraries/index.md @@ -1,6 +1,6 @@ # Lodestar libraries -The Lodestar project is divided into Typescript packages that can be used independently of the CLI. These packages span the breadth of the Ethereum consensus layer (Eth2), and are perfect for Typescript developers looking to build around Ethereum. +The Lodestar project is divided into Typescript packages that can be used independently of the CLI. These packages span the breadth of the Ethereum Consensus layer, and are perfect for Typescript developers looking to build around Ethereum. ## Monorepo libraries @@ -15,7 +15,7 @@ Several useful Ethereum consensus libraries are developed as part of the [Lodest ### BLS Utilities -- [bls](https://github.com/ChainSafe/bls) - Eth2 BLS sign / verify / aggregate +- [bls](https://github.com/ChainSafe/bls) - Eth Consensus BLS sign / verify / aggregate - [bls-keystore](https://github.com/ChainSafe/bls-keystore) - store / retrieve a BLS secret key from an [EIP-2335](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2335.md) JSON keystore - [bls-keygen](https://github.com/ChainSafe/bls-keygen) - utility functions to generate BLS secret keys, following [EIP-2333](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2333.md) and [EIP-2334](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2334.md) - [bls-hd-key](https://github.com/ChainSafe/bls-hd-key) - low level [EIP-2333](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2333.md) and [EIP-2334](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2334.md) functionality diff --git a/docs/usage/key-management.md b/docs/usage/key-management.md index 9975fec82841..49eeae447d29 100644 --- a/docs/usage/key-management.md +++ b/docs/usage/key-management.md @@ -80,4 +80,4 @@ This command will print the public address of every active keystore. ### Submit a validator deposit -DEPRECATED. Please use the official tools to perform your deposits - eth2.0-deposit-cli: https://github.com/ethereum/eth2.0-deposit-cli - Ethereum Foundation launchpad: https://prater.launchpad.ethereum.org +DEPRECATED. Please use the official tools to perform your deposits - eth2.0-deposit-cli: https://github.com/ethereum/eth2.0-deposit-cli - Ethereum Foundation launchpad: https://launchpad.ethereum.org/en/ diff --git a/docs/usage/testnet.md b/docs/usage/testnet.md index a2209bc09952..4055ce8f0e50 100644 --- a/docs/usage/testnet.md +++ b/docs/usage/testnet.md @@ -69,7 +69,7 @@ Jul-09 17:34:54.278 [] info: Syncing - 3 days left - 3.00 slots/ If your node is stuck with `Searching for peers` review your network configuration to make sure your ports are open. -A young testnet should take a few hours to sync. If you see multiple or consistent errors in the logs, please open a [Github issue](https://github.com/ChainSafe/lodestar/issues/new) or reach out to us in [Discord](https://discord.gg/yjyvFRP). Just by reporting anomalities you are helping accelerate the progress of Eth2.0, thanks for contributing! +A young testnet should take a few hours to sync. If you see multiple or consistent errors in the logs, please open a [Github issue](https://github.com/ChainSafe/lodestar/issues/new) or reach out to us in [Discord](https://discord.gg/yjyvFRP). Just by reporting anomalities you are helping accelerate the progress of Ethereum Consensus, thanks for contributing! ### Weak Subjectivity diff --git a/mkdocs.yml b/mkdocs.yml index 85a8096f91aa..af02ff745b54 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,5 +1,5 @@ site_name: Lodestar documentation -site_description: Lodestar documentation - Typescript Eth2.0 client +site_description: Lodestar documentation - Typescript Ethereum Consensus client site_url: https://chainsafe.github.io/lodestar repo_name: chainsafe/lodestar diff --git a/packages/api/README.md b/packages/api/README.md index 76d7fa4c4287..6cd968db9a89 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -1,13 +1,13 @@ -# Lodestar ETH2.0 API +# Lodestar Eth Consensus API [![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![ETH Beacon APIs Spec v2.1.0](https://img.shields.io/badge/ETH%20beacon--APIs-2.1.0-blue)](https://github.com/ethereum/beacon-APIs/releases/tag/v2.1.0) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project -Typescript REST client for the [Eth2.0 API spec](https://ethereum.github.io/eth2.0-APIs/) +Typescript REST client for the [Ethereum Consensus API spec](https://github.com/ethereum/beacon-apis) ## Usage @@ -34,7 +34,7 @@ api.beacon ## What you need -You will need to go over the [specification](https://github.com/ethereum/eth2.0-specs). You will also need to have a [basic understanding of sharding](https://github.com/ethereum/wiki/wiki/Sharding-FAQs). +You will need to go over the [specification](https://github.com/ethereum/beacon-apis). You will also need to have a [basic understanding of sharding](https://eth.wiki/sharding/Sharding-FAQs). ## Getting started diff --git a/packages/api/package.json b/packages/api/package.json index f41714f821e8..ebd6dcd3b8cb 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-api", - "description": "A Typescript implementation of the eth2 light client", + "description": "A Typescript implementation of the Ethereum Consensus light client", "license": "Apache-2.0", "author": "ChainSafe Systems", "homepage": "https://github.com/ChainSafe/lodestar#readme", @@ -56,7 +56,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "api", "blockchain" diff --git a/packages/api/src/client/utils/format.ts b/packages/api/src/client/utils/format.ts index d9333f92a994..7f12631f6877 100644 --- a/packages/api/src/client/utils/format.ts +++ b/packages/api/src/client/utils/format.ts @@ -1,7 +1,7 @@ import qs from "qs"; /** - * Eth2.0 API requires the query with format: + * Ethereum Beacon API requires the query with format: * - arrayFormat: repeat `topic=topic1&topic=topic2` */ export function stringifyQuery(query: unknown): string { diff --git a/packages/api/src/routes/beacon/block.ts b/packages/api/src/routes/beacon/block.ts index 48f0bf738733..ce6c3064c1f4 100644 --- a/packages/api/src/routes/beacon/block.ts +++ b/packages/api/src/routes/beacon/block.ts @@ -124,7 +124,7 @@ export function getReqSerializers(config: IChainForkConfig): ReqSerializers => config.getForkTypes(data.message.slot).SignedBeaconBlock; const AllForksSignedBeaconBlock: TypeJson = { diff --git a/packages/api/src/routes/beacon/state.ts b/packages/api/src/routes/beacon/state.ts index af376b0b68fb..6e2851fdbbc8 100644 --- a/packages/api/src/routes/beacon/state.ts +++ b/packages/api/src/routes/beacon/state.ts @@ -73,7 +73,7 @@ export type Api = { /** * Get Fork object for requested state - * Returns [Fork](https://github.com/ethereum/eth2.0-specs/blob/v0.11.1/specs/phase0/beacon-chain.md#fork) object for state with given 'stateId'. + * Returns [Fork](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#fork) object for state with given 'stateId'. * @param stateId State identifier. * Can be one of: "head" (canonical head in node's view), "genesis", "finalized", "justified", \, \. */ diff --git a/packages/api/src/routes/config.ts b/packages/api/src/routes/config.ts index 6285073621f7..82ff93238104 100644 --- a/packages/api/src/routes/config.ts +++ b/packages/api/src/routes/config.ts @@ -29,9 +29,9 @@ export type Api = { /** * Retrieve specification configuration used on this node. The configuration should include: - * - Constants for all hard forks known by the beacon node, for example the [phase 0](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/beacon-chain.md#constants) and [altair](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/altair/beacon-chain.md#constants) values - * - Presets for all hard forks supplied to the beacon node, for example the [phase 0](https://github.com/ethereum/eth2.0-specs/blob/dev/presets/mainnet/phase0.yaml) and [altair](https://github.com/ethereum/eth2.0-specs/blob/dev/presets/mainnet/altair.yaml) values - * - Configuration for the beacon node, for example the [mainnet](https://github.com/ethereum/eth2.0-specs/blob/dev/configs/mainnet.yaml) values + * - Constants for all hard forks known by the beacon node, for example the [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#constants) and [altair](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/beacon-chain.md#constants) values + * - Presets for all hard forks supplied to the beacon node, for example the [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.1.10/presets/mainnet/phase0.yaml) and [altair](https://github.com/ethereum/consensus-specs/blob/v1.1.10/presets/mainnet/altair.yaml) values + * - Configuration for the beacon node, for example the [mainnet](https://github.com/ethereum/consensus-specs/blob/v1.1.10/configs/mainnet.yaml) values * * Values are returned with following format: * - any value starting with 0x in the spec is returned as a hex string diff --git a/packages/api/src/routes/node.ts b/packages/api/src/routes/node.ts index 68eb53b26ea3..b5b4b8a2cb83 100644 --- a/packages/api/src/routes/node.ts +++ b/packages/api/src/routes/node.ts @@ -22,7 +22,7 @@ export type NetworkIdentity = { enr: string; p2pAddresses: string[]; discoveryAddresses: string[]; - /** Based on eth2 [Metadata object](https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/p2p-interface.md#metadata) */ + /** Based on Ethereum Consensus [Metadata object](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#metadata) */ metadata: allForks.Metadata; }; diff --git a/packages/api/src/routes/validator.ts b/packages/api/src/routes/validator.ts index 73f7b81ec1e0..c5d0cd4e9dd2 100644 --- a/packages/api/src/routes/validator.ts +++ b/packages/api/src/routes/validator.ts @@ -36,7 +36,7 @@ export type BeaconCommitteeSubscription = { }; /** - * From https://github.com/ethereum/eth2.0-APIs/pull/136 + * From https://github.com/ethereum/beacon-APIs/pull/136 */ export type SyncCommitteeSubscription = { validatorIndex: ValidatorIndex; @@ -67,7 +67,7 @@ export type AttesterDuty = { }; /** - * From https://github.com/ethereum/eth2.0-APIs/pull/134 + * From https://github.com/ethereum/beacon-APIs/pull/134 */ export type SyncDuty = { pubkey: BLSPubkey; diff --git a/packages/api/src/server/utils/server.ts b/packages/api/src/server/utils/server.ts index 8b264a9ec066..502e380105e0 100644 --- a/packages/api/src/server/utils/server.ts +++ b/packages/api/src/server/utils/server.ts @@ -23,7 +23,7 @@ export type ServerRoute = { method: fastify.HTTPMethods; handler: FastifyHandler; schema?: fastify.FastifySchema; - /** OperationId as defined in https://github.com/ethereum/eth2.0-APIs/blob/18cb6ff152b33a5f34c377f00611821942955c82/apis/beacon/blocks/attestations.yaml#L2 */ + /** OperationId as defined in https://github.com/ethereum/beacon-APIs/blob/v2.1.0/apis/beacon/blocks/attestations.yaml#L2 */ id: string; }; diff --git a/packages/api/src/utils/schema.ts b/packages/api/src/utils/schema.ts index b9b7a14b1754..a6b62a8cbcc1 100644 --- a/packages/api/src/utils/schema.ts +++ b/packages/api/src/utils/schema.ts @@ -2,7 +2,7 @@ import {ReqGeneric} from "./types"; // Reasoning: Allows to declare JSON schemas for server routes in a succinct typesafe way. // The enums exposed here are very feature incomplete but cover the minimum necessary for -// the existing routes. Since the arguments for Eth2.0 server routes are very simple it suffice. +// the existing routes. Since the arguments for Ethereum Consensus server routes are very simple it suffice. // eslint-disable-next-line @typescript-eslint/no-explicit-any type JsonSchema = Record; diff --git a/packages/beacon-state-transition/README.md b/packages/beacon-state-transition/README.md index a4a011fc4995..691101aa3113 100644 --- a/packages/beacon-state-transition/README.md +++ b/packages/beacon-state-transition/README.md @@ -2,9 +2,9 @@ [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-beacon-state-transition)](https://www.npmjs.com/package/@chainsafe/lodestar-beacon-state-transition) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project diff --git a/packages/beacon-state-transition/package.json b/packages/beacon-state-transition/package.json index 0dee8d06406a..79a74dd2cd99 100644 --- a/packages/beacon-state-transition/package.json +++ b/packages/beacon-state-transition/package.json @@ -54,7 +54,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ] diff --git a/packages/beacon-state-transition/src/allForks/block/processBlockHeader.ts b/packages/beacon-state-transition/src/allForks/block/processBlockHeader.ts index 3e9ef9156aef..125d17120a92 100644 --- a/packages/beacon-state-transition/src/allForks/block/processBlockHeader.ts +++ b/packages/beacon-state-transition/src/allForks/block/processBlockHeader.ts @@ -4,7 +4,7 @@ import {CachedBeaconStateAllForks} from "../../types"; import {ZERO_HASH} from "../../constants"; /** - * Converts a Deposit record (created by the eth1 deposit contract) into a Validator object that goes into the eth2 state. + * Converts a Deposit record (created by the eth-execution deposit contract) into a Validator object that goes into the eth-consensus state. * * PERF: Fixed work independent of block contents. * NOTE: `block` body root MUST be pre-cached. diff --git a/packages/beacon-state-transition/src/allForks/block/processEth1Data.ts b/packages/beacon-state-transition/src/allForks/block/processEth1Data.ts index da55c6ae8ee4..dca8351e3409 100644 --- a/packages/beacon-state-transition/src/allForks/block/processEth1Data.ts +++ b/packages/beacon-state-transition/src/allForks/block/processEth1Data.ts @@ -5,8 +5,8 @@ import {readonlyValues, TreeBacked} from "@chainsafe/ssz"; import {CachedBeaconStateAllForks} from "../../types"; /** - * Store vote counts for every eth1 block that has votes; if any eth1 block wins majority support within a 1024-slot - * voting period, formally accept that eth1 block and set it as the official "latest known eth1 block" in the eth2 state. + * Store vote counts for every eth-execution block that has votes; if any eth-execution block wins majority support within a 1024-slot + * voting period, formally accept that eth-execution block and set it as the official "latest known eth-execution block" in the eth-consensus state. * * PERF: Processing cost depends on the current amount of votes. * - Best case: Vote is already decided, zero work. See becomesNewEth1Data conditions diff --git a/packages/beacon-state-transition/src/altair/block/processAttestation.ts b/packages/beacon-state-transition/src/altair/block/processAttestation.ts index dd60b172004a..7871b1ab876f 100644 --- a/packages/beacon-state-transition/src/altair/block/processAttestation.ts +++ b/packages/beacon-state-transition/src/altair/block/processAttestation.ts @@ -121,7 +121,7 @@ export function processAttestations( } /** - * https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.4/specs/altair/beacon-chain.md#get_attestation_participation_flag_indices + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/beacon-chain.md#get_attestation_participation_flag_indices */ export function getAttestationParticipationStatus( data: phase0.AttestationData, diff --git a/packages/beacon-state-transition/src/altair/block/processSyncCommittee.ts b/packages/beacon-state-transition/src/altair/block/processSyncCommittee.ts index 82f9df56a2d8..70b50df8f568 100644 --- a/packages/beacon-state-transition/src/altair/block/processSyncCommittee.ts +++ b/packages/beacon-state-transition/src/altair/block/processSyncCommittee.ts @@ -73,7 +73,7 @@ export function getSyncCommitteeSignatureSet( // When there's no participation we consider the signature valid and just ignore it if (participantIndices.length === 0) { // Must set signature as G2_POINT_AT_INFINITY when participating bits are empty - // https://github.com/ethereum/eth2.0-specs/blob/30f2a076377264677e27324a8c3c78c590ae5e20/specs/altair/bls.md#eth2_fast_aggregate_verify + // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/bls.md#eth_fast_aggregate_verify if (ssz.BLSSignature.equals(signature, G2_POINT_AT_INFINITY)) { return null; } else { diff --git a/packages/beacon-state-transition/src/altair/upgradeState.ts b/packages/beacon-state-transition/src/altair/upgradeState.ts index 864e139980f6..3a9f9a0a3ef3 100644 --- a/packages/beacon-state-transition/src/altair/upgradeState.ts +++ b/packages/beacon-state-transition/src/altair/upgradeState.ts @@ -41,7 +41,7 @@ function upgradeTreeBackedState(config: IBeaconConfig, state: CachedBeaconStateP } /** - * Translate_participation in https://github.com/ethereum/eth2.0-specs/blob/dev/specs/altair/fork.md + * Translate_participation in https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/fork.md */ function translateParticipation(state: CachedBeaconStateAltair, pendingAttesations: phase0.PendingAttestation[]): void { const {epochCtx} = state; diff --git a/packages/beacon-state-transition/src/util/shuffle.ts b/packages/beacon-state-transition/src/util/shuffle.ts index 0d2a4167b364..77713b449bae 100644 --- a/packages/beacon-state-transition/src/util/shuffle.ts +++ b/packages/beacon-state-transition/src/util/shuffle.ts @@ -46,7 +46,7 @@ def shuffle(list_size, seed): Heavily-optimized version of the set-shuffling algorithm proposed by Vitalik to shuffle all items in a list together. Original here: - https://github.com/ethereum/eth2.0-specs/pull/576#issue-250741806 + https://github.com/ethereum/consensus-specs/pull/576 Main differences, implemented by @protolambda: - User can supply input slice to shuffle, simple provide [0,1,2,3,4, ...] to get a list of cleanly shuffled indices. diff --git a/packages/beacon-state-transition/src/util/shufflingDecisionRoot.ts b/packages/beacon-state-transition/src/util/shufflingDecisionRoot.ts index af63d833a66f..c7772fa745a7 100644 --- a/packages/beacon-state-transition/src/util/shufflingDecisionRoot.ts +++ b/packages/beacon-state-transition/src/util/shufflingDecisionRoot.ts @@ -57,7 +57,7 @@ function attesterShufflingDecisionSlot(state: CachedBeaconStateAllForks, request /** * Returns the epoch at which the attester shuffling was decided. * - * Spec ref: https://github.com/ethereum/eth2.0-APIs/blob/46d2b82127cb1ffce51bbc748a7df2677fc0215a/apis/validator/duties/attester.yaml#L15 + * Spec ref: https://github.com/ethereum/beacon-APIs/blob/v2.1.0/apis/validator/duties/attester.yaml#L15 * * Throws an error when: * - `EpochTooLow` when `requestedEpoch` is more than 1 prior to `currentEpoch`. diff --git a/packages/beacon-state-transition/test/perf/analyzeBlocks.ts b/packages/beacon-state-transition/test/perf/analyzeBlocks.ts index d535a8c5accc..5163d25642e8 100644 --- a/packages/beacon-state-transition/test/perf/analyzeBlocks.ts +++ b/packages/beacon-state-transition/test/perf/analyzeBlocks.ts @@ -2,7 +2,7 @@ import {getClient} from "@chainsafe/lodestar-api"; import {config} from "@chainsafe/lodestar-config/default"; import {getInfuraBeaconUrl} from "./infura"; -// Analyze how eth2 blocks are in a target network to prepare accurate performance states and blocks +// Analyze how Ethereum Consensus blocks are in a target network to prepare accurate performance states and blocks // Mainnet // slot: 1803658, diff --git a/packages/cli/README.md b/packages/cli/README.md index c3b5e2e5c9b9..b31d49b41738 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -1,7 +1,7 @@ # Command Line Interface for Lodestar [![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-12.x-green) @@ -24,7 +24,7 @@ Here's a quick list of the available CLI commands: | - | - | | `./bin/lodestar init` | Write a configuration and network identity to disk, by default `./.lodestar`| |`./bin/lodestar beacon` | Run a beacon node using a configuration from disk, by default `./.lodestar`| -|`./bin/lodestar account` | Run various subcommands for creating/managing Eth2 accounts| +|`./bin/lodestar account` | Run various subcommands for creating/managing Ethereum Consensus accounts| |`./bin/lodestar validator` | Run one or more validator clients| |`./bin/lodestar dev` | Quickly bootstrap a beacon node and multiple validators. Use for development and testing| Append `--help` to any of these commands to print out all options for each command. diff --git a/packages/cli/package.json b/packages/cli/package.json index c92306da4f66..b03882b6d587 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -43,7 +43,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ], diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index 1dfc62029a1c..64278a9ec2d0 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -6,7 +6,7 @@ import {registerCommandToYargs} from "./util"; import {getVersion} from "./util/version"; const version = getVersion(); -const topBanner = `🌟 Lodestar: TypeScript Implementation of the Ethereum 2.0 Beacon Chain. +const topBanner = `🌟 Lodestar: TypeScript Implementation of the Ethereum Consensus Beacon Chain. * Version: ${version} * by ChainSafe Systems, 2018-2022`; const bottomBanner = `📖 For more information, check the CLI reference: diff --git a/packages/cli/src/cmds/account/cmds/validator/deposit.ts b/packages/cli/src/cmds/account/cmds/validator/deposit.ts index deccbe790300..30e7f5db659c 100644 --- a/packages/cli/src/cmds/account/cmds/validator/deposit.ts +++ b/packages/cli/src/cmds/account/cmds/validator/deposit.ts @@ -5,7 +5,7 @@ import {IGlobalArgs} from "../../../../options"; const deprecatedDescription = "DEPRECATED. Please use the official tools to perform your deposits \ - eth2.0-deposit-cli: https://github.com/ethereum/eth2.0-deposit-cli \ -- Ethereum Foundation launchpad: https://prater.launchpad.ethereum.org"; +- Ethereum Foundation launchpad: https://launchpad.ethereum.org"; export const deposit: ICliCommand, IAccountValidatorArgs & IGlobalArgs> = { command: "deposit", diff --git a/packages/cli/src/cmds/account/cmds/validator/import.ts b/packages/cli/src/cmds/account/cmds/validator/import.ts index 718e34cf3cc4..99ce4d8cd4f7 100644 --- a/packages/cli/src/cmds/account/cmds/validator/import.ts +++ b/packages/cli/src/cmds/account/cmds/validator/import.ts @@ -37,7 +37,7 @@ Ethereum Foundation utility.", examples: [ { command: "account validator import --network prater --directory $HOME/eth2.0-deposit-cli/validator_keys", - description: "Import validator keystores generated with the Ethereum Foundation Eth2 Launchpad", + description: "Import validator keystores generated with the Ethereum Foundation Staking Launchpad", }, ], diff --git a/packages/cli/src/cmds/account/cmds/validator/index.ts b/packages/cli/src/cmds/account/cmds/validator/index.ts index 906416ee1684..11bbf09e4d31 100644 --- a/packages/cli/src/cmds/account/cmds/validator/index.ts +++ b/packages/cli/src/cmds/account/cmds/validator/index.ts @@ -11,7 +11,7 @@ import {recover} from "./recover"; export const validator: ICliCommand = { command: "validator ", - describe: "Provides commands for managing Eth2 validators.", + describe: "Provides commands for managing Ethereum Consensus validators.", options: accountValidatorOptions, subcommands: [create, deposit, importCmd, list, recover, slashingProtection, voluntaryExit], }; diff --git a/packages/cli/src/cmds/account/cmds/wallet/index.ts b/packages/cli/src/cmds/account/cmds/wallet/index.ts index 04983068afbf..de4b1960fc29 100644 --- a/packages/cli/src/cmds/account/cmds/wallet/index.ts +++ b/packages/cli/src/cmds/account/cmds/wallet/index.ts @@ -7,7 +7,7 @@ import {recover} from "./recover"; export const wallet: ICliCommand = { command: "wallet ", - describe: "Provides commands for managing Eth2 wallets.", + describe: "Provides commands for managing Ethereum Consensus wallets.", options: accountWalletsOptions, subcommands: [create, list, recover], }; diff --git a/packages/cli/src/cmds/account/index.ts b/packages/cli/src/cmds/account/index.ts index 11d9b7f4bad7..4f719f31f7b7 100644 --- a/packages/cli/src/cmds/account/index.ts +++ b/packages/cli/src/cmds/account/index.ts @@ -5,6 +5,6 @@ import {wallet} from "./cmds/wallet"; export const account: ICliCommand, IGlobalArgs> = { command: "account ", - describe: "Utilities for generating and managing Ethereum 2.0 accounts", + describe: "Utilities for generating and managing Ethereum Consensus accounts", subcommands: [validator, wallet], }; diff --git a/packages/cli/src/options/globalOptions.ts b/packages/cli/src/options/globalOptions.ts index d942ab0a6a9b..6a3a74eed785 100644 --- a/packages/cli/src/options/globalOptions.ts +++ b/packages/cli/src/options/globalOptions.ts @@ -18,7 +18,7 @@ const globalSingleOptions: ICliCommandOptions = { }, network: { - description: "Name of the Eth2 chain network to join", + description: "Name of the Ethereum Consensus chain network to join", type: "string", default: defaultNetwork, choices: networkNames, diff --git a/packages/cli/test/unit/config/beaconNodeOptions.test.ts b/packages/cli/test/unit/config/beaconNodeOptions.test.ts index 3d14016cae43..2af69ee3ff53 100644 --- a/packages/cli/test/unit/config/beaconNodeOptions.test.ts +++ b/packages/cli/test/unit/config/beaconNodeOptions.test.ts @@ -135,7 +135,7 @@ describe("config / bootnodes / parsing", () => { { name: "Can parse plain txt-file input", input: ` -# Eth2 mainnet bootnodes +# Ethereum Consensus mainnet bootnodes # --------------------------------------- # 1. Tag nodes with maintainer # 2. Keep nodes updated diff --git a/packages/config/README.md b/packages/config/README.md index 0265e1ab0833..03929779c749 100644 --- a/packages/config/README.md +++ b/packages/config/README.md @@ -2,13 +2,13 @@ [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-config)](https://www.npmjs.com/package/@chainsafe/lodestar-config) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-12.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project -Lodestar defines all [network configuration variables](https://github.com/ethereum/eth2.0-specs/tree/dev/configs) defined in the [Ethereum Consensus / Eth2 spec](https://github.com/ethereum/eth2.0-specs). This tooling may be used to configure testnets, ingest mainnet/testnet config variables, or be used in downstream Lodestar libraries. +Lodestar defines all [network configuration variables](https://github.com/ethereum/consensus-specs/tree/v1.1.10/configs) defined in the [Ethereum Consensus spec](https://github.com/ethereum/consensus-specs). This tooling may be used to configure testnets, ingest mainnet/testnet config variables, or be used in downstream Lodestar libraries. ## Installation diff --git a/packages/config/package.json b/packages/config/package.json index d802a04e919c..b9aae98fddfb 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -37,7 +37,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ], diff --git a/packages/fork-choice/README.md b/packages/fork-choice/README.md index 53b8f7203226..e51b0aa1d256 100644 --- a/packages/fork-choice/README.md +++ b/packages/fork-choice/README.md @@ -2,7 +2,7 @@ > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project -Lodestar implementation of the [Eth2 fork choice](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/fork-choice.md). +Lodestar implementation of the [Ethereum Consensus fork choice](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/fork-choice.md). ## Usage diff --git a/packages/fork-choice/package.json b/packages/fork-choice/package.json index f7b1ccd66f1c..59ec657e0c7c 100644 --- a/packages/fork-choice/package.json +++ b/packages/fork-choice/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-fork-choice", - "description": "A Typescript implementation eth2 fork choice", + "description": "A Typescript implementation Ethereum Consensus fork choice", "license": "Apache-2.0", "author": "ChainSafe Systems", "homepage": "https://github.com/ChainSafe/lodestar#readme", @@ -46,7 +46,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ] diff --git a/packages/fork-choice/src/forkChoice/forkChoice.ts b/packages/fork-choice/src/forkChoice/forkChoice.ts index 773bd0a2b0f0..c6f168d120a5 100644 --- a/packages/fork-choice/src/forkChoice/forkChoice.ts +++ b/packages/fork-choice/src/forkChoice/forkChoice.ts @@ -24,9 +24,9 @@ import {IForkChoiceStore, CheckpointWithHex, toCheckpointWithHex} from "./store" /* eslint-disable max-len */ /** - * Provides an implementation of "Ethereum 2.0 Phase 0 -- Beacon Chain Fork Choice": + * Provides an implementation of "Ethereum Consensus -- Beacon Chain Fork Choice": * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.2/specs/phase0/fork-choice.md#ethereum-20-phase-0----beacon-chain-fork-choice + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#fork-choice * * ## Detail * @@ -108,7 +108,7 @@ export class ForkChoice implements IForkChoice { * * Equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#get_ancestor + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#get_ancestor */ getAncestor(blockRoot: RootHex, ancestorSlot: Slot): RootHex { const block = this.protoArray.getBlock(blockRoot); @@ -169,7 +169,7 @@ export class ForkChoice implements IForkChoice { * * Is equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.2/specs/phase0/fork-choice.md#get_head + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#get_head */ updateHead(): IProtoBlock { // balances is not changed but votes are changed @@ -258,7 +258,7 @@ export class ForkChoice implements IForkChoice { * * Approximates: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#on_block + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#on_block * * It only approximates the specification since it does not run the `state_transition` check. * That should have already been called upstream and it's too expensive to call again. @@ -430,7 +430,7 @@ export class ForkChoice implements IForkChoice { * * Approximates: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#on_attestation + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#on_attestation * * It only approximates the specification since it does not perform * `is_valid_indexed_attestation` since that should already have been called upstream and it's @@ -731,7 +731,7 @@ export class ForkChoice implements IForkChoice { * * Is equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#should_update_justified_checkpoint + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#should_update_justified_checkpoint */ private shouldUpdateJustifiedCheckpoint(state: allForks.BeaconState): boolean { const {slot, currentJustifiedCheckpoint} = state; @@ -780,7 +780,7 @@ export class ForkChoice implements IForkChoice { * * Equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#validate_on_attestation + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#validate_on_attestation */ private validateOnAttestation( indexedAttestation: phase0.IndexedAttestation, @@ -972,7 +972,7 @@ export class ForkChoice implements IForkChoice { * * Equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#on_tick + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#on_tick */ private onTick(time: Slot): void { const previousSlot = this.fcStore.currentSlot; diff --git a/packages/fork-choice/src/forkChoice/interface.ts b/packages/fork-choice/src/forkChoice/interface.ts index 126dab0162ea..3cf6c6e15ad9 100644 --- a/packages/fork-choice/src/forkChoice/interface.ts +++ b/packages/fork-choice/src/forkChoice/interface.ts @@ -17,7 +17,7 @@ export interface IForkChoice { * * Equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#get_ancestor + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#get_ancestor */ getAncestor(blockRoot: RootHex, ancestorSlot: Slot): RootHex; /** @@ -27,7 +27,7 @@ export interface IForkChoice { * * Is equivalent to: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.2/specs/phase0/fork-choice.md#get_head + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#get_head */ getHeadRoot(): RootHex; getHead(): IProtoBlock; @@ -45,7 +45,7 @@ export interface IForkChoice { * * Approximates: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#on_block + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#on_block * * It only approximates the specification since it does not run the `state_transition` check. * That should have already been called upstream and it's too expensive to call again. @@ -65,7 +65,7 @@ export interface IForkChoice { * * Approximates: * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/fork-choice.md#on_attestation + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#on_attestation * * It only approximates the specification since it does not perform * `is_valid_indexed_attestation` since that should already have been called upstream and it's diff --git a/packages/fork-choice/src/forkChoice/store.ts b/packages/fork-choice/src/forkChoice/store.ts index 9759d0f01f37..899b9a6fc24f 100644 --- a/packages/fork-choice/src/forkChoice/store.ts +++ b/packages/fork-choice/src/forkChoice/store.ts @@ -9,9 +9,9 @@ import {toHexString} from "@chainsafe/ssz"; export type CheckpointWithHex = phase0.Checkpoint & {rootHex: RootHex}; /** - * Approximates the `Store` in "Ethereum 2.0 Phase 0 -- Beacon Chain Fork Choice": + * Approximates the `Store` in "Ethereum Consensus -- Beacon Chain Fork Choice": * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.2/specs/phase0/fork-choice.md#store + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#store * * ## Detail * diff --git a/packages/fork-choice/src/protoArray/protoArray.ts b/packages/fork-choice/src/protoArray/protoArray.ts index 416869757850..db3a6b0b6276 100644 --- a/packages/fork-choice/src/protoArray/protoArray.ts +++ b/packages/fork-choice/src/protoArray/protoArray.ts @@ -474,9 +474,9 @@ export class ProtoArray { } /** - * This is the equivalent to the `filter_block_tree` function in the eth2 spec: + * This is the equivalent to the `filter_block_tree` function in the Ethereum Consensus spec: * - * https://github.com/ethereum/eth2.0-specs/blob/v1.0.1/specs/phase0/fork-choice.md#filter_block_tree + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/fork-choice.md#filter_block_tree * * Any node that has a different finalized or justified epoch should not be viable for the * head. diff --git a/packages/light-client/README.md b/packages/light-client/README.md index 2fe5076f5809..f974256fad8e 100644 --- a/packages/light-client/README.md +++ b/packages/light-client/README.md @@ -1,9 +1,9 @@ # Lodestar Light-client [![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project @@ -14,7 +14,7 @@ ## What you need -You will need to go over the [specification](https://github.com/ethereum/eth2.0-specs). You will also need to have a [basic understanding of sharding](https://github.com/ethereum/wiki/wiki/Sharding-FAQs). +You will need to go over the [specification](https://github.com/ethereum/consensus-specs). You will also need to have a [basic understanding of sharding](https://github.com/ethereum/wiki/wiki/Sharding-FAQs). ## Getting started diff --git a/packages/light-client/package.json b/packages/light-client/package.json index ef377a0b00ab..a3905c754e98 100644 --- a/packages/light-client/package.json +++ b/packages/light-client/package.json @@ -1,6 +1,6 @@ { "name": "@chainsafe/lodestar-light-client", - "description": "A Typescript implementation of the eth2 light client", + "description": "A Typescript implementation of the Ethereum Consensus light client", "license": "Apache-2.0", "author": "ChainSafe Systems", "homepage": "https://github.com/ChainSafe/lodestar#readme", @@ -49,7 +49,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "light-client", "blockchain" diff --git a/packages/light-client/src/validation.ts b/packages/light-client/src/validation.ts index d2bd4e146179..0af2e36267ed 100644 --- a/packages/light-client/src/validation.ts +++ b/packages/light-client/src/validation.ts @@ -129,7 +129,7 @@ export function activeHeader(update: altair.LightClientUpdate): phase0.BeaconBlo * domain = get_domain(state, DOMAIN_SYNC_COMMITTEE, compute_epoch_at_slot(previous_slot)) * signing_root = compute_signing_root(get_block_root_at_slot(state, previous_slot), domain) * ``` - * Ref: https://github.com/ethereum/eth2.0-specs/blob/dev/specs/altair/beacon-chain.md#sync-committee-processing + * Ref: https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/beacon-chain.md#sync-aggregate-processing * * @param syncCommittee SyncPeriod that signed this update: `computeSyncPeriodAtSlot(update.header.slot) - 1` * @param forkVersion ForkVersion that was used to sign the update diff --git a/packages/light-client/test/naive/update.ts b/packages/light-client/test/naive/update.ts index 16756fcb990e..39f342a2e8f7 100644 --- a/packages/light-client/test/naive/update.ts +++ b/packages/light-client/test/naive/update.ts @@ -68,7 +68,7 @@ export function processLightClientUpdate( // Apply update if (1) 2/3 quorum is reached and (2) we have a finality proof. // Note that (2) means that the current light client design needs finality. - // It may be changed to re-organizable light client design. See the on-going issue eth2.0-specs#2182. + // It may be changed to re-organizable light client design. See the on-going issue https://github.com/ethereum/consensus-specs/issues/2315. if ( sumBits(update.syncAggregate.syncCommitteeBits) * 3 >= update.syncAggregate.syncCommitteeBits.length * 2 && !isEmptyHeader(update.finalizedHeader) diff --git a/packages/light-client/test/prepareUpdateNaive.ts b/packages/light-client/test/prepareUpdateNaive.ts index 7a22f96a3ad8..7ce559f733ca 100644 --- a/packages/light-client/test/prepareUpdateNaive.ts +++ b/packages/light-client/test/prepareUpdateNaive.ts @@ -23,7 +23,7 @@ export async function prepareUpdateNaive( // domain = get_domain(state, DOMAIN_SYNC_COMMITTEE, compute_epoch_at_slot(previous_slot)) // signing_root = compute_signing_root(get_block_root_at_slot(state, previous_slot), domain) // ``` - // Ref: https://github.com/ethereum/eth2.0-specs/blob/dev/specs/altair/beacon-chain.md#sync-committee-processing + // Ref: https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/beacon-chain.md#sync-aggregate-processing // // Then the lightclient will verify it signs over `signedHeader`, where // ```js diff --git a/packages/lodestar/README.md b/packages/lodestar/README.md index 236f4ae62f28..13fc29af70ea 100644 --- a/packages/lodestar/README.md +++ b/packages/lodestar/README.md @@ -1,9 +1,9 @@ # Lodestar [![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project @@ -13,7 +13,7 @@ ## What you need -You will need to go over the [specification](https://github.com/ethereum/eth2.0-specs). You will also need to have a [basic understanding of sharding](https://github.com/ethereum/wiki/wiki/Sharding-FAQs). +You will need to go over the [specification](https://github.com/ethereum/consensus-specs). You will also need to have a [basic understanding of sharding](https://github.com/ethereum/wiki/wiki/Sharding-FAQs). ## Getting started diff --git a/packages/lodestar/package.json b/packages/lodestar/package.json index c3a9fdf95956..e3f097fea242 100644 --- a/packages/lodestar/package.json +++ b/packages/lodestar/package.json @@ -130,7 +130,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ] diff --git a/packages/lodestar/src/api/impl/beacon/pool/index.ts b/packages/lodestar/src/api/impl/beacon/pool/index.ts index 3f0dbdc76fe2..d51a771695b8 100644 --- a/packages/lodestar/src/api/impl/beacon/pool/index.ts +++ b/packages/lodestar/src/api/impl/beacon/pool/index.ts @@ -109,7 +109,7 @@ export function getBeaconPoolApi({ * If a sync committee signature is validated successfully the node MUST publish that sync committee signature on all applicable subnets. * If one or more sync committee signatures fail validation the node MUST return a 400 error with details of which sync committee signatures have failed, and why. * - * https://github.com/ethereum/eth2.0-APIs/pull/135 + * https://github.com/ethereum/beacon-APIs/pull/135 */ async submitPoolSyncCommitteeSignatures(signatures) { // Fetch states for all slots of the `signatures` diff --git a/packages/lodestar/src/api/impl/config/index.ts b/packages/lodestar/src/api/impl/config/index.ts index 645eed237c8a..7cda51cfb62f 100644 --- a/packages/lodestar/src/api/impl/config/index.ts +++ b/packages/lodestar/src/api/impl/config/index.ts @@ -6,12 +6,12 @@ import {ApiModules} from "../types"; export function getConfigApi({config}: Pick): routes.config.Api { // Retrieve specification configuration used on this node. The configuration should include: // - Constants for all hard forks known by the beacon node, for example the - // [phase 0](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/beacon-chain.md#constants) and - // [altair](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/altair/beacon-chain.md#constants) values + // [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/beacon-chain.md#constants) and + // [altair](https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/beacon-chain.md#constants) values // - Presets for all hard forks supplied to the beacon node, for example the - // [phase 0](https://github.com/ethereum/eth2.0-specs/blob/dev/presets/mainnet/phase0.yaml) and - // [altair](https://github.com/ethereum/eth2.0-specs/blob/dev/presets/mainnet/altair.yaml) values - // - Configuration for the beacon node, for example the [mainnet](https://github.com/ethereum/eth2.0-specs/blob/dev/configs/mainnet.yaml) values + // [phase 0](https://github.com/ethereum/consensus-specs/blob/v1.1.10/presets/mainnet/phase0.yaml) and + // [altair](https://github.com/ethereum/consensus.0-specs/blob/v1.1.10/presets/mainnet/altair.yaml) values + // - Configuration for the beacon node, for example the [mainnet](https://github.com/ethereum/consensus-specs/blob/v1.1.10/configs/mainnet.yaml) values let jsonSpec: Record | null = null; function getJsonSpec(): Record { diff --git a/packages/lodestar/src/api/impl/errors.ts b/packages/lodestar/src/api/impl/errors.ts index aa672b6b19d7..d520013a53de 100644 --- a/packages/lodestar/src/api/impl/errors.ts +++ b/packages/lodestar/src/api/impl/errors.ts @@ -25,7 +25,7 @@ export class ValidationError extends ApiError { } } -// Spec requires 503 - https://github.com/ethereum/eth2.0-APIs/blob/e68a954e1b6f6eb5421abf4532c171ce301c6b2e/types/http.yaml#L62 +// Spec requires 503 - https://github.com/ethereum/beacon-APIs/blob/e68a954e1b6f6eb5421abf4532c171ce301c6b2e/types/http.yaml#L62 export class NodeIsSyncing extends ApiError { constructor(statusMsg: string) { super(503, `Node is syncing - ${statusMsg}`); diff --git a/packages/lodestar/src/api/impl/validator/index.ts b/packages/lodestar/src/api/impl/validator/index.ts index 93e4651748f7..4e8de918b42e 100644 --- a/packages/lodestar/src/api/impl/validator/index.ts +++ b/packages/lodestar/src/api/impl/validator/index.ts @@ -256,7 +256,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: * * Requests that the beacon node produce a sync committee contribution. * - * https://github.com/ethereum/eth2.0-APIs/pull/138 + * https://github.com/ethereum/beacon-APIs/pull/138 * * @param slot The slot for which a sync committee contribution should be created. * @param subcommitteeIndex The subcommittee index for which to produce the contribution. @@ -366,7 +366,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: * - `sync_committee_index` is the index of the validator in the sync committee. This can be used to infer the * subnet to which the contribution should be broadcast. Note, there can be multiple per validator. * - * https://github.com/ethereum/eth2.0-APIs/pull/134 + * https://github.com/ethereum/beacon-APIs/pull/134 * * @param validatorIndices an array of the validator indices for which to obtain the duties. */ @@ -490,7 +490,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: * * Publish multiple signed sync committee contribution and proofs * - * https://github.com/ethereum/eth2.0-APIs/pull/137 + * https://github.com/ethereum/beacon-APIs/pull/137 */ async publishContributionAndProofs(contributionAndProofs) { notWhileSyncing(); @@ -567,7 +567,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: * Subscribing to sync committee subnets is an action performed by VC to enable network participation in Altair networks, * and only required if the VC has an active validator in an active sync committee. * - * https://github.com/ethereum/eth2.0-APIs/pull/136 + * https://github.com/ethereum/beacon-APIs/pull/136 */ async prepareSyncCommitteeSubnets(subscriptions) { notWhileSyncing(); @@ -580,7 +580,7 @@ export function getValidatorApi({chain, config, logger, metrics, network, sync}: subs.push({ validatorIndex: sub.validatorIndex, subnet: subnet, - // Subscribe until the end of `untilEpoch`: https://github.com/ethereum/eth2.0-APIs/pull/136#issuecomment-840315097 + // Subscribe until the end of `untilEpoch`: https://github.com/ethereum/beacon-APIs/pull/136#issuecomment-840315097 slot: computeStartSlotAtEpoch(sub.untilEpoch + 1), isAggregator: true, }); diff --git a/packages/lodestar/src/chain/opPools/syncContributionAndProofPool.ts b/packages/lodestar/src/chain/opPools/syncContributionAndProofPool.ts index 1b8cfcd34d5c..5213821729ad 100644 --- a/packages/lodestar/src/chain/opPools/syncContributionAndProofPool.ts +++ b/packages/lodestar/src/chain/opPools/syncContributionAndProofPool.ts @@ -83,7 +83,7 @@ export class SyncContributionAndProofPool { if (!bestContributionBySubnet || bestContributionBySubnet.size === 0) { // TODO: Add metric for missing SyncAggregate // Must return signature as G2_POINT_AT_INFINITY when participating bits are empty - // https://github.com/ethereum/eth2.0-specs/blob/30f2a076377264677e27324a8c3c78c590ae5e20/specs/altair/bls.md#eth2_fast_aggregate_verify + // https://github.com/ethereum/consensus-specs/blob/30f2a076377264677e27324a8c3c78c590ae5e20/specs/altair/bls.md#eth2_fast_aggregate_verify return { syncCommitteeBits: ssz.altair.SyncCommitteeBits.defaultValue(), syncCommitteeSignature: G2_POINT_AT_INFINITY, diff --git a/packages/lodestar/src/chain/validation/attestation.ts b/packages/lodestar/src/chain/validation/attestation.ts index ee7a2b66c0af..cf9b42d8b068 100644 --- a/packages/lodestar/src/chain/validation/attestation.ts +++ b/packages/lodestar/src/chain/validation/attestation.ts @@ -257,7 +257,7 @@ function verifyAttestationTargetRoot(headBlock: IProtoBlock, targetRoot: Root, a // invalid in the spirit of the protocol. Here we choose safety over profit. // // Reference: - // https://github.com/ethereum/eth2.0-specs/pull/2001#issuecomment-699246659 + // https://github.com/ethereum/consensus-specs/pull/2001#issuecomment-699246659 throw new AttestationError(GossipAction.REJECT, { code: AttestationErrorCode.INVALID_TARGET_ROOT, targetRoot: toHexString(targetRoot), diff --git a/packages/lodestar/src/constants/network.ts b/packages/lodestar/src/constants/network.ts index d2caeeba6c00..29bf444a9eaf 100644 --- a/packages/lodestar/src/constants/network.ts +++ b/packages/lodestar/src/constants/network.ts @@ -2,7 +2,7 @@ /** * For more info on some of these constants: - * https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#configuration + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#configuration */ // Gossip constants diff --git a/packages/lodestar/src/eth1/eth1DepositsCache.ts b/packages/lodestar/src/eth1/eth1DepositsCache.ts index 2812511dd348..27aff9c93109 100644 --- a/packages/lodestar/src/eth1/eth1DepositsCache.ts +++ b/packages/lodestar/src/eth1/eth1DepositsCache.ts @@ -25,7 +25,7 @@ export class Eth1DepositsCache { * Returns a list of `Deposit` objects, within the given deposit index `range`. * * The `depositCount` is used to generate the proofs for the `Deposits`. For example, if we - * have 100 proofs, but the eth2 chain only acknowledges 50 of them, we must produce our + * have 100 proofs, but the Ethereum Consensus chain only acknowledges 50 of them, we must produce our * proofs with respect to a tree size of 50. */ async get(indexRange: IFilterOptions, eth1Data: phase0.Eth1Data): Promise { diff --git a/packages/lodestar/src/metrics/metrics/beacon.ts b/packages/lodestar/src/metrics/metrics/beacon.ts index 3b10c2f14025..37ffaf84b487 100644 --- a/packages/lodestar/src/metrics/metrics/beacon.ts +++ b/packages/lodestar/src/metrics/metrics/beacon.ts @@ -4,7 +4,7 @@ export type IBeaconMetrics = ReturnType; /** * Metrics from: - * https://github.com/ethereum/eth2.0-metrics/ and + * https://github.com/ethereum/beacon-metrics/ and * https://hackmd.io/D5FmoeFZScim_squBFl8oA */ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type diff --git a/packages/lodestar/src/network/gossip/encoding.ts b/packages/lodestar/src/network/gossip/encoding.ts index 65f9219f1b4b..a1e203616393 100644 --- a/packages/lodestar/src/network/gossip/encoding.ts +++ b/packages/lodestar/src/network/gossip/encoding.ts @@ -77,7 +77,7 @@ export function computeMsgIdPhase0(topic: GossipTopic, msg: Eth2InMessage): Uint * snappy_decompress(message.data) * )[:20] * ``` - * https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.7/specs/altair/p2p-interface.md#topics-and-messages + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/p2p-interface.md#topics-and-messages */ export function computeMsgIdAltair(topic: GossipTopic, topicStr: string, msg: Eth2InMessage): Uint8Array { switch (topic.encoding ?? DEFAULT_ENCODING) { diff --git a/packages/lodestar/src/network/gossip/gossipsub.ts b/packages/lodestar/src/network/gossip/gossipsub.ts index eb994d482ec5..5bc72f756ea8 100644 --- a/packages/lodestar/src/network/gossip/gossipsub.ts +++ b/packages/lodestar/src/network/gossip/gossipsub.ts @@ -65,7 +65,7 @@ export interface IGossipsubModules { * - `handleTopic` * - `unhandleTopic` * - * See https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub + * See https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub */ export class Eth2Gossipsub extends Gossipsub { readonly jobQueues: GossipJobQueues; @@ -79,7 +79,7 @@ export class Eth2Gossipsub extends Gossipsub { constructor(modules: IGossipsubModules) { // Gossipsub parameters defined here: - // https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub + // https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub super(modules.libp2p, { gossipIncoming: true, globalSignaturePolicy: "StrictNoSign" as const, diff --git a/packages/lodestar/src/network/gossip/handlers/index.ts b/packages/lodestar/src/network/gossip/handlers/index.ts index b17afcea7f8d..ce2e3e7aed00 100644 --- a/packages/lodestar/src/network/gossip/handlers/index.ts +++ b/packages/lodestar/src/network/gossip/handlers/index.ts @@ -67,7 +67,7 @@ const MAX_UNKNOWN_BLOCK_ROOT_RETRIES = 1; * - We do expensive processing on the object in the validator function that we need to re-use in the handler function. * - The validator function produces extra data that is needed for the handler function. Making this data available in * the handler function scope is hard to achieve without very hacky strategies - * - Eth2.0 gossipsub protocol strictly defined a single topic for message + * - Ethereum Consensus gossipsub protocol strictly defined a single topic for message */ export function getGossipHandlers(modules: ValidatorFnsModules, options: GossipHandlerOpts): GossipHandlers { const {chain, config, metrics, network, logger} = modules; diff --git a/packages/lodestar/src/network/gossip/interface.ts b/packages/lodestar/src/network/gossip/interface.ts index 9e18d6b313ce..d1621ff819b9 100644 --- a/packages/lodestar/src/network/gossip/interface.ts +++ b/packages/lodestar/src/network/gossip/interface.ts @@ -115,7 +115,7 @@ export type Eth2InMessage = InMessage & { /** * Contains various methods for validation of incoming gossip topic data. * The conditions for valid gossip topics and how they are handled are specified here: - * https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#global-topics + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#global-topics */ /** diff --git a/packages/lodestar/src/network/gossip/validation/index.ts b/packages/lodestar/src/network/gossip/validation/index.ts index b15030da7ab8..eabcae6b1fa6 100644 --- a/packages/lodestar/src/network/gossip/validation/index.ts +++ b/packages/lodestar/src/network/gossip/validation/index.ts @@ -53,7 +53,7 @@ export function createValidatorFnsByType( /** * Returns a GossipSub validator function from a GossipHandlerFn. GossipHandlerFn may throw GossipActionError if one - * or more validation conditions from the eth2.0-specs#p2p-interface are not satisfied. + * or more validation conditions from the consensus-specs#p2p-interface are not satisfied. * * This function receives a string topic and a binary message `InMessage` and deserializes both using caches. * - The topic string should be known in advance and pre-computed diff --git a/packages/lodestar/src/network/metadata.ts b/packages/lodestar/src/network/metadata.ts index cd153ef6cef5..67bc06e74a3b 100644 --- a/packages/lodestar/src/network/metadata.ts +++ b/packages/lodestar/src/network/metadata.ts @@ -30,9 +30,9 @@ export interface IMetadataModules { } /** - * Implementation of eth2 p2p MetaData. + * Implementation of Ethereum Consensus p2p MetaData. * For the spec that this code is based on, see: - * https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#metadata + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#metadata */ export class MetadataController { private enr?: ENR; diff --git a/packages/lodestar/src/network/reqresp/encodingStrategies/index.ts b/packages/lodestar/src/network/reqresp/encodingStrategies/index.ts index 8505978e851c..ade2c79b66d8 100644 --- a/packages/lodestar/src/network/reqresp/encodingStrategies/index.ts +++ b/packages/lodestar/src/network/reqresp/encodingStrategies/index.ts @@ -9,8 +9,8 @@ import {BufferedSource} from "../utils"; import {readSszSnappyPayload, ISszSnappyOptions} from "./sszSnappy/decode"; import {writeSszSnappyPayload} from "./sszSnappy/encode"; -// For more info about eth2 request/response encoding strategies, see: -// https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#encoding-strategies +// For more info about Ethereum Consensus request/response encoding strategies, see: +// https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#encoding-strategies // Supported encoding strategies: // - ssz_snappy diff --git a/packages/lodestar/src/network/reqresp/reqResp.ts b/packages/lodestar/src/network/reqresp/reqResp.ts index 3d7de09a754d..93a2094bbac2 100644 --- a/packages/lodestar/src/network/reqresp/reqResp.ts +++ b/packages/lodestar/src/network/reqresp/reqResp.ts @@ -38,9 +38,9 @@ import {InboundRateLimiter, RateLimiterOpts} from "./response/rateLimiter"; export type IReqRespOptions = Partial; /** - * Implementation of eth2 p2p Req/Resp domain. + * Implementation of Ethereum Consensus p2p Req/Resp domain. * For the spec that this code is based on, see: - * https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#the-reqresp-domain + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#the-reqresp-domain */ export class ReqResp implements IReqResp { private config: IBeaconConfig; diff --git a/packages/lodestar/src/network/reqresp/types.ts b/packages/lodestar/src/network/reqresp/types.ts index 8d7b94cf887e..fe5edaf74383 100644 --- a/packages/lodestar/src/network/reqresp/types.ts +++ b/packages/lodestar/src/network/reqresp/types.ts @@ -21,7 +21,7 @@ export enum Version { /** * Available request/response encoding strategies: - * https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#encoding-strategies + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#encoding-strategies */ export enum Encoding { SSZ_SNAPPY = "ssz_snappy", diff --git a/packages/lodestar/src/network/reqresp/utils/errorMessage.ts b/packages/lodestar/src/network/reqresp/utils/errorMessage.ts index d488b177ab00..5357050f6cb1 100644 --- a/packages/lodestar/src/network/reqresp/utils/errorMessage.ts +++ b/packages/lodestar/src/network/reqresp/utils/errorMessage.ts @@ -7,7 +7,7 @@ // By convention, the error_message is a sequence of bytes that MAY be interpreted as a // UTF-8 string (for debugging purposes). Clients MUST treat as valid any byte sequences // -// Spec v1.0.0 https://github.com/ethereum/eth2.0-specs/blob/v1.0.0-rc.0/specs/phase0/p2p-interface.md#responding-side +// Spec v1.1.10 https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#responding-side /** * Encodes a UTF-8 string to 256 bytes max diff --git a/packages/lodestar/src/node/nodejs.ts b/packages/lodestar/src/node/nodejs.ts index 033e32fd4d01..7eed45dbd9e5 100644 --- a/packages/lodestar/src/node/nodejs.ts +++ b/packages/lodestar/src/node/nodejs.ts @@ -60,7 +60,7 @@ export enum BeaconNodeStatus { /** * The main Beacon Node class. Contains various components for getting and processing data from the - * eth2 ecosystem as well as systems for getting beacon node metadata. + * Ethereum Consensus ecosystem as well as systems for getting beacon node metadata. */ export class BeaconNode { opts: IBeaconNodeOptions; diff --git a/packages/lodestar/test/spec/ssz/generic/index.test.ts b/packages/lodestar/test/spec/ssz/generic/index.test.ts index 559f59d0a4f4..f1ca99be5dfe 100644 --- a/packages/lodestar/test/spec/ssz/generic/index.test.ts +++ b/packages/lodestar/test/spec/ssz/generic/index.test.ts @@ -22,7 +22,7 @@ const rootGenericSszPath = path.join(SPEC_TEST_LOCATION, "tests", "general", "ph // | serialized.ssz_snappy // | value.yaml // -// Docs: https://github.com/ethereum/eth2.0-specs/blob/master/tests/formats/ssz_generic/README.md +// Docs: https://github.com/ethereum/consensus-specs/blob/master/tests/formats/ssz_generic/README.md for (const testType of fs.readdirSync(rootGenericSszPath)) { const testTypePath = path.join(rootGenericSszPath, testType); diff --git a/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts b/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts index 00c46129ada8..ff05c8df765d 100644 --- a/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts +++ b/packages/lodestar/test/unit/chain/validation/contributionAndProof.test.ts @@ -16,7 +16,7 @@ import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {createIChainForkConfig} from "@chainsafe/lodestar-config"; import {SeenContributionAndProof} from "../../../../src/chain/seenCache"; -// https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.3/specs/altair/p2p-interface.md +// https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/p2p-interface.md describe("Sync Committee Contribution And Proof validation", function () { const sandbox = sinon.createSandbox(); let chain: SinonStubbedInstance; diff --git a/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts b/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts index d6e5551bc44d..efff892ee321 100644 --- a/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts +++ b/packages/lodestar/test/unit/chain/validation/syncCommittee.test.ts @@ -13,7 +13,7 @@ import {SLOTS_PER_EPOCH} from "@chainsafe/lodestar-params"; import {createIChainForkConfig, defaultChainConfig} from "@chainsafe/lodestar-config"; import {SeenSyncCommitteeMessages} from "../../../../src/chain/seenCache"; -// https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.3/specs/altair/p2p-interface.md +// https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/altair/p2p-interface.md describe("Sync Committee Signature validation", function () { const sandbox = sinon.createSandbox(); let chain: SinonStubbedInstance; diff --git a/packages/params/README.md b/packages/params/README.md index f85d228d4847..0ba0b63e1387 100644 --- a/packages/params/README.md +++ b/packages/params/README.md @@ -2,13 +2,14 @@ [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-types)](https://www.npmjs.com/package/@chainsafe/lodestar-types) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project -Lodestar defines all constants and presets defined in the [Ethereum Consensus / Eth2 spec](https://github.com/ethereum/eth2.0-specs). This can be used in conjunction with other Lodestar libraries to interact with the Ethereum consensus. + +Lodestar defines all constants and presets defined in the [Ethereum Consensus spec](https://github.com/ethereum/consensus-specs). This can be used in conjunction with other Lodestar libraries to interact with the Ethereum consensus. ## Installation diff --git a/packages/params/package.json b/packages/params/package.json index 20d114d535ef..10d8df183727 100644 --- a/packages/params/package.json +++ b/packages/params/package.json @@ -38,7 +38,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ], diff --git a/packages/params/src/index.ts b/packages/params/src/index.ts index 6d86f034ad4b..9c7aa863fc69 100644 --- a/packages/params/src/index.ts +++ b/packages/params/src/index.ts @@ -140,7 +140,7 @@ export const PARTICIPATION_FLAG_WEIGHTS = [TIMELY_SOURCE_WEIGHT, TIMELY_TARGET_W export const TARGET_AGGREGATORS_PER_COMMITTEE = 16; export const RANDOM_SUBNETS_PER_VALIDATOR = 1; export const EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION = 256; -/** Rationale: https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/p2p-interface.md#why-are-there-attestation_subnet_count-attestation-subnets */ +/** Rationale: https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#why-are-there-attestation_subnet_count-attestation-subnets */ export const ATTESTATION_SUBNET_COUNT = 64; // altair validator diff --git a/packages/params/test/e2e/ensure-config-is-synced.test.ts b/packages/params/test/e2e/ensure-config-is-synced.test.ts index a289c2c93f2d..6a89b32d16da 100644 --- a/packages/params/test/e2e/ensure-config-is-synced.test.ts +++ b/packages/params/test/e2e/ensure-config-is-synced.test.ts @@ -32,9 +32,9 @@ function assertCorrectPreset(localPreset: BeaconPreset, remotePreset: BeaconPres async function downloadRemoteConfig(preset: "mainnet" | "minimal", commit: string): Promise { const urlByFork: Record = { - [ForkName.phase0]: `https://raw.githubusercontent.com/ethereum/eth2.0-specs/${commit}/presets/${preset}/phase0.yaml`, - [ForkName.altair]: `https://raw.githubusercontent.com/ethereum/eth2.0-specs/${commit}/presets/${preset}/altair.yaml`, - [ForkName.bellatrix]: `https://raw.githubusercontent.com/ethereum/eth2.0-specs/${commit}/presets/${preset}/bellatrix.yaml`, + [ForkName.phase0]: `https://raw.githubusercontent.com/ethereum/consensus-specs/${commit}/presets/${preset}/phase0.yaml`, + [ForkName.altair]: `https://raw.githubusercontent.com/ethereum/consensus-specs/${commit}/presets/${preset}/altair.yaml`, + [ForkName.bellatrix]: `https://raw.githubusercontent.com/ethereum/consensus-specs/${commit}/presets/${preset}/bellatrix.yaml`, }; const downloadedParams = await Promise.all( diff --git a/packages/spec-test-util/package.json b/packages/spec-test-util/package.json index ef1df689dd4b..266e2caa73de 100644 --- a/packages/spec-test-util/package.json +++ b/packages/spec-test-util/package.json @@ -40,7 +40,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ], diff --git a/packages/spec-test-util/src/multi.ts b/packages/spec-test-util/src/multi.ts index a3a486f9f255..9d449b1a3cd9 100644 --- a/packages/spec-test-util/src/multi.ts +++ b/packages/spec-test-util/src/multi.ts @@ -33,7 +33,7 @@ interface TestSpec { } /** - * Run yaml Eth2.0 bulk spec tests (m) for a certain function + * Run yaml Ethereum Consensus bulk spec tests (m) for a certain function * Compares actual vs expected for all test cases * @param {string} testYamlPath - path to yaml spec test * @param {Function} testFunc - function to use to generate output diff --git a/packages/types/README.md b/packages/types/README.md index 4294f0decc9f..870090a8beca 100644 --- a/packages/types/README.md +++ b/packages/types/README.md @@ -2,13 +2,13 @@ [![npm](https://img.shields.io/npm/v/@chainsafe/lodestar-types)](https://www.npmjs.com/package/@chainsafe/lodestar-types) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project -Lodestar defines all datatypes defined in the [Ethereum Consensus / Eth2 spec](https://github.com/ethereum/eth2.0-specs). This tooling can be used for any Typescript project looking to operate on these types. Both Typescript interfaces _and_ Simple Serialize (SSZ) methods are exported for consumers. +Lodestar defines all datatypes defined in the [Ethereum Consensus spec](https://github.com/ethereum/consensus-specs). This tooling can be used for any Typescript project looking to operate on these types. Both Typescript interfaces _and_ Simple Serialize (SSZ) methods are exported for consumers. ## Installation diff --git a/packages/types/package.json b/packages/types/package.json index f21e162001e6..c1d82d813c66 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -40,7 +40,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ] diff --git a/packages/utils/package.json b/packages/utils/package.json index 1ba34bf9e375..e146c6b1f0b0 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -54,7 +54,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ] diff --git a/packages/validator/README.md b/packages/validator/README.md index 57dbff9c9c8b..d81badd221c4 100644 --- a/packages/validator/README.md +++ b/packages/validator/README.md @@ -1,14 +1,14 @@ # Lodestar Validator [![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr) -![ETH2.0_Spec_Version 1.0.0](https://img.shields.io/badge/ETH2.0_Spec_Version-1.0.0-2e86c1.svg) +[![Eth Consensus Spec v1.1.10](https://img.shields.io/badge/ETH%20consensus--spec-1.1.10-blue)](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.10) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-12.x-green) +![Node Version](https://img.shields.io/badge/node-16.x-green) > This package is part of [ChainSafe's Lodestar](https://lodestar.chainsafe.io) project -Typescript implementation of the Eth2.0 validator client. Enables developers to submit their own -eth2 api compatible beacon nodes/databases/loggers. +Typescript implementation of the Ethereum Consensus validator client. Enables developers to submit their own +eth-consensus api compatible beacon nodes/databases/loggers. ## Getting started diff --git a/packages/validator/package.json b/packages/validator/package.json index 2779dc1940fe..6349ff33433e 100644 --- a/packages/validator/package.json +++ b/packages/validator/package.json @@ -40,7 +40,7 @@ }, "keywords": [ "ethereum", - "eth2", + "eth-consensus", "beacon", "blockchain" ], diff --git a/packages/validator/src/services/syncCommittee.ts b/packages/validator/src/services/syncCommittee.ts index 90b7dd4f243b..39ebe85089aa 100644 --- a/packages/validator/src/services/syncCommittee.ts +++ b/packages/validator/src/services/syncCommittee.ts @@ -78,7 +78,7 @@ export class SyncCommitteeService { * Performs the first step of the attesting process: downloading `SyncCommittee` objects, * signing them and returning them to the validator. * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/validator.md#attesting + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/validator.md#attesting * * Only one `SyncCommittee` is downloaded from the BN. It is then signed by each * validator and the list of individually-signed `SyncCommittee` objects is returned to the BN. @@ -130,7 +130,7 @@ export class SyncCommitteeService { * Performs the second step of the attesting process: downloading an aggregated `SyncCommittee`, * converting it into a `SignedAggregateAndProof` and returning it to the BN. * - * https://github.com/ethereum/eth2.0-specs/blob/v0.12.1/specs/phase0/validator.md#broadcast-aggregate + * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/validator.md#broadcast-aggregate * * Only one aggregated `SyncCommittee` is downloaded from the BN. It is then signed * by each validator and the list of individually-signed `SignedAggregateAndProof` objects is diff --git a/packages/validator/src/services/syncCommitteeDuties.ts b/packages/validator/src/services/syncCommitteeDuties.ts index 74f41c8d3096..aada6f57f4c0 100644 --- a/packages/validator/src/services/syncCommitteeDuties.ts +++ b/packages/validator/src/services/syncCommitteeDuties.ts @@ -71,7 +71,7 @@ export class SyncCommitteeDutiesService { * Note: The range of slots a validator has to perform duties is off by one. * The previous slot wording means that if your validator is in a sync committee for a period that runs from slot * 100 to 200,then you would actually produce signatures in slot 99 - 199. - * https://github.com/ethereum/eth2.0-specs/pull/2400 + * https://github.com/ethereum/consensus-specs/pull/2400 */ async getDutiesAtSlot(slot: Slot): Promise { const period = computeSyncPeriodAtSlot(slot + 1); // See note above for the +1 offset diff --git a/packages/validator/src/util/logger.ts b/packages/validator/src/util/logger.ts index 64c7840f583d..1c49fa0fc57a 100644 --- a/packages/validator/src/util/logger.ts +++ b/packages/validator/src/util/logger.ts @@ -17,7 +17,7 @@ export function getLoggerVc(logger: ILogger, clock: IClock): ILoggerVc { error(message: string, context?: LogData, e?: Error) { if (e) { // Returns true if it's an network error with code 503 = Node is syncing - // https://github.com/ethereum/eth2.0-APIs/blob/e68a954e1b6f6eb5421abf4532c171ce301c6b2e/types/http.yaml#L62 + // https://github.com/ethereum/beacon-APIs/blob/e68a954e1b6f6eb5421abf4532c171ce301c6b2e/types/http.yaml#L62 if (e instanceof HttpError && e.status === 503) { this.isSyncing(e); }