Run prettier on entire repo (#3720)

This commit is contained in:
Lion - dapplion
2022-02-07 21:27:26 +05:30
committed by GitHub
parent f9c7432215
commit 9a58ce3c8b
32 changed files with 1100 additions and 1090 deletions

View File

@@ -50,29 +50,29 @@ merge:
# "options" defines additional options for the individual merge methods.
#options:
# "squash" options are only used when the merge method is "squash"
#squash:
# "title" defines how the title of the commit message is created when
# generating a squash commit. The options are "pull_request_title",
# "first_commit_title", and "github_default_title". The default is
# "pull_request_title".
#title: "pull_request_title"
# "squash" options are only used when the merge method is "squash"
#squash:
# "title" defines how the title of the commit message is created when
# generating a squash commit. The options are "pull_request_title",
# "first_commit_title", and "github_default_title". The default is
# "pull_request_title".
#title: "pull_request_title"
# "body" defines how the body of the commit message is created when
# generating a squash commit. The options are "pull_request_body",
# "summarize_commits", and "empty_body". The default is "empty_body".
#body: "empty_body"
# "body" defines how the body of the commit message is created when
# generating a squash commit. The options are "pull_request_body",
# "summarize_commits", and "empty_body". The default is "empty_body".
#body: "empty_body"
# If "body" is "pull_request_body", then the commit message will be the
# part of the pull request body surrounded by "message_delimiter"
# strings. This is disabled (empty string) by default.
#message_delimiter: ==COMMIT_MSG==
# If "body" is "pull_request_body", then the commit message will be the
# part of the pull request body surrounded by "message_delimiter"
# strings. This is disabled (empty string) by default.
#message_delimiter: ==COMMIT_MSG==
# "required_statuses" is a list of additional status contexts that must pass
# before bulldozer can merge a pull request. This is useful if you want to
# require extra testing for automated merges, but not for manual merges.
#required_statuses:
#- "ci/circleci: ete-tests"
#- "ci/circleci: ete-tests"
# If true, bulldozer will delete branches after their pull requests merge.
delete_after_merge: true

View File

@@ -98,7 +98,7 @@ module.exports = {
allowNullableBoolean: true,
allowNullableString: true,
allowAny: true,
}
},
],
"import/no-extraneous-dependencies": [
"error",

View File

@@ -9,6 +9,7 @@
<!-- If applicable, add screenshots to help explain your solution -->
<!-- Link to issues: Resolves #111, Resolves #222 -->
Closes #issue_number
**Steps to test or reproduce**

View File

@@ -42,30 +42,30 @@ jobs:
# </common-build>
- name: Publish to npm registry
# Just use lerna publish with --canary option. Using 'from-package' ignore other options
# and only compares against the verison in package.json, and skips release if already
# Just use lerna publish with --canary option. Using 'from-package' ignore other options
# and only compares against the verison in package.json, and skips release if already
# published.
#
# --no-git-reset:
# --no-git-reset:
# Do not delete code version artifacts so the next step can pick the version
#
# --canary:
# --canary:
# Format version with commit (1.1.0-alpha.0+81e3b443). Make sure the previous
# released tags are not lightweight("commit" type), but proper annotated ("tag" type)
# Otherwise the version canary will generate will be from last annotated tag type
# Best way to create such a tag is by using 'git tag -a' or using lerna publish!
#
# --dist-tag next:
# --dist-tag next:
# Make this nightly version installable with `@next`
#
# --preid dev:
# --preid dev:
# Tag version with `dev` instead of `alpha`
#
# --force-publish:
# lerna doesn't want to publish anything otherwise - "lerna success No changed packages
# --force-publish:
# lerna doesn't want to publish anything otherwise - "lerna success No changed packages
# to publish"
# --exact
# lerna will link the dependencies of monorepo packages without ^ operator as npm
# lerna will link the dependencies of monorepo packages without ^ operator as npm
# is apparently bad at resolving ^ dependencies of the canary versions. For e.g
# @chainsafe/lodestar-cli@^0.34.0-dev.4 resolves to => 0.34.0
#

View File

@@ -54,7 +54,7 @@ jobs:
# Install Nethermind merge interop
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
dotnet-version: "6.0.x"
- name: Clone Nethermind merge interop branch
run: git clone -b themerge_kintsugi https://github.com/g11tech/nethermind --recursive && cd nethermind && git reset --hard $NETHERMIND_COMMIT && git submodule update --init --recursive
- name: Build Nethermind
@@ -68,11 +68,9 @@ jobs:
EL_SCRIPT_DIR: nethermind
EL_PORT: 8550
- name: Upload debug log test files
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: debug-test-logs
path: packages/lodestar/test-logs

View File

@@ -1,2 +1,3 @@
**/lib
/packages/spec-test-runner/spec-tests
**/.nyc_output
/packages/*/spec-tests

View File

@@ -66,7 +66,7 @@ docker-compose -f docker/docker-compose.local.yml up -d
Unsure where to begin contributing to Lodestar? Here are some ideas!
- :pencil2: See any typos? See any verbiage that should be changed or updated? Go for it! Github makes it easy to make contributions right from the browser.
- :mag_right: Look through our [outstanding unassigned issues](https://github.com/ChainSafe/lodestar/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee). _(Hint: look for issues labeled `meta0-goodfirstissue` or `meta1-helpwanted`!)_
- :mag_right: Look through our [outstanding unassigned issues](https://github.com/ChainSafe/lodestar/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee). (Hint: look for issues labeled `meta0-goodfirstissue` or `meta1-helpwanted`!)
- :speech_balloon: Join our [Discord chat](https://discord.gg/aMxzVcr)!
[![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr)
@@ -92,6 +92,7 @@ If you are contributing from this repo prefix the branch name with your Github u
**Pull request naming**
Pull request titles must be:
- Short and descriptive summary
- Should be capitalized and written in imperative present tense
- Not end with period
@@ -141,88 +142,94 @@ Label descriptions can be found below.
###### `status.*` Pull Request Status
Status labels only apply to pull requests.
* `status0-blocked`: This is blocked by another issue that requires resolving first.
* `status1-donotmerge`: Merging this issue will break the build. Do not merge!
* `status2-onice`: This work is on ice as per the reasons described by the author.
* `status3-needsreview`: This pull-request needs a review.
* `status4-needschanges`: This pull-request has issues that needs to be addressed first.
* `status5-mergeready`: This pull-request has been reviewed well and can be merged.
* `status6-bulldozer`: Pull request is reviewed and can be merged (used by the bulldozer bot).
* `status7-opendiscussion`: This work is still being discussed.
* `status9-workinprogress`: This work is still in progress and not ready for review.
- `status0-blocked`: This is blocked by another issue that requires resolving first.
- `status1-donotmerge`: Merging this issue will break the build. Do not merge!
- `status2-onice`: This work is on ice as per the reasons described by the author.
- `status3-needsreview`: This pull-request needs a review.
- `status4-needschanges`: This pull-request has issues that needs to be addressed first.
- `status5-mergeready`: This pull-request has been reviewed well and can be merged.
- `status6-bulldozer`: Pull request is reviewed and can be merged (used by the bulldozer bot).
- `status7-opendiscussion`: This work is still being discussed.
- `status9-workinprogress`: This work is still in progress and not ready for review.
###### `mod.*` Relevant Modules and Components
The Module labels should be applied to all issues and pull requests if possible.
* `mod1-beaconchain`: The @chainsafe/lodestar beacon-chain module.
* `mod2-validator`: The @chainsafe/lodestar-validator module.
* `mod3-lightclient`: The @chainsafe/lodestar-light-client module.
* `mod4-api`: The @chainsafe/lodestar-api module.
* `mod5-cli`: The @chainsafe/lodestar-cli module.
* `mod6-statetransition`: The @chainsafe/lodestar-beacon-state-transition module.
* `mod7-types`: The @chainsafe/lodestar-types module.
* `mod8-params`: The @chainsafe/lodestar-params module.
* `mod9-utils`: The @chainsafe/lodestar-utils module.
* `moda-config`: The @chainsafe/lodestar-config module.
* `modb-database`: The @chainsafe/lodestar-db module.
* `modc-forkchoice`: The @chainsafe/lodestar-fork-choice module.
* `modd-spectests`: The @chainsafe/lodestar-spec-test-* modules.
- `mod1-beaconchain`: The @chainsafe/lodestar beacon-chain module.
- `mod2-validator`: The @chainsafe/lodestar-validator module.
- `mod3-lightclient`: The @chainsafe/lodestar-light-client module.
- `mod4-api`: The @chainsafe/lodestar-api module.
- `mod5-cli`: The @chainsafe/lodestar-cli module.
- `mod6-statetransition`: The @chainsafe/lodestar-beacon-state-transition module.
- `mod7-types`: The @chainsafe/lodestar-types module.
- `mod8-params`: The @chainsafe/lodestar-params module.
- `mod9-utils`: The @chainsafe/lodestar-utils module.
- `moda-config`: The @chainsafe/lodestar-config module.
- `modb-database`: The @chainsafe/lodestar-db module.
- `modc-forkchoice`: The @chainsafe/lodestar-fork-choice module.
- `modd-spectests`: The @chainsafe/lodestar-spec-test-\* modules.
###### `scope.*` Scope Indicator
Scope is comparable to Module labels but less strict with the definition of components. It applies to both, issues and pull requests.
* `scope1-audits`: Resolves issue identified in the first audit.
* `scope2-memory`: Issues to reduce and improve memory usage.
* `scope3-performance`: Performance issue and ideas to improve performance.
* `scope4-benchmarks`: All issues with regards to benchmarking.
* `scope5-networking`: All issues related to networking, gossip, and libp2p.
* `scope6-metrics`: All issues with regards to the exposed metrics.
* `scope7-ssz`: All issues related to SSZ serialization and deserialization.
* `scope8-bls`: All issues related to BLS and cryptography used.
* `scope9-testnetdebugging`: Issues uncovered through running a node on a public testnet.
* `scopea-eth1`: All issues related to the Eth1 provider.
* `scopeb-ci`: All issues related to the Continuous Integration and Github Workflows.
* `scopec-documentation`: All issues related to the Lodestar documentation.
- `scope1-audits`: Resolves issue identified in the first audit.
- `scope2-memory`: Issues to reduce and improve memory usage.
- `scope3-performance`: Performance issue and ideas to improve performance.
- `scope4-benchmarks`: All issues with regards to benchmarking.
- `scope5-networking`: All issues related to networking, gossip, and libp2p.
- `scope6-metrics`: All issues with regards to the exposed metrics.
- `scope7-ssz`: All issues related to SSZ serialization and deserialization.
- `scope8-bls`: All issues related to BLS and cryptography used.
- `scope9-testnetdebugging`: Issues uncovered through running a node on a public testnet.
- `scopea-eth1`: All issues related to the Eth1 provider.
- `scopeb-ci`: All issues related to the Continuous Integration and Github Workflows.
- `scopec-documentation`: All issues related to the Lodestar documentation.
###### `prio.*` Prioritization Indicator
A simple indicator of issue prioritization. It mainly applies to issues.
* `prio0-critical`: Drop everything to resolve this immediately.
* `prio2-high`: Resolve issues as soon as possible.
* `prio5-medium`: Resolve this some time soon (tm).
* `prio7-low`: This is nice to have.
* `prio9-none`: We might get back to this one day (maybe).
- `prio0-critical`: Drop everything to resolve this immediately.
- `prio2-high`: Resolve issues as soon as possible.
- `prio5-medium`: Resolve this some time soon (tm).
- `prio7-low`: This is nice to have.
- `prio9-none`: We might get back to this one day (maybe).
###### `q.*` Effort Quantization
Effort estimations can help planning to tackle issues that are particulary easy or difficult with regard of work force required. It mainly applies to issues (before work is started).
* `q0-trivial`: Can be fixed by anyone with access to a computer.
* `q2-easy`: Can be fixed by copy and pasting from StackOverflow.
* `q3-medium`: A fair chunk of work, not necessarily very hard but not trivial either
* `q5-substantial`: Can be fixed by a developer with decent experience.
* `q7-involved`: Can be fixed by a team of developers and probably takes some time.
* `q9-epic`: Can only be fixed by John Skeet. ;)
- `q0-trivial`: Can be fixed by anyone with access to a computer.
- `q2-easy`: Can be fixed by copy and pasting from StackOverflow.
- `q3-medium`: A fair chunk of work, not necessarily very hard but not trivial either
- `q5-substantial`: Can be fixed by a developer with decent experience.
- `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.
- `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.
###### `meta.*` Meta Labels to organize Miscelaneous Issues
* `meta0-goodfirstissue`: Good first issues for newcomers and first-time contributors.
* `meta1-helpwanted`: The author indicates that additional help is wanted.
* `meta2-breakingchange`: Introduces breaking changes to DB, Validator, Beacon Node, or CLI interfaces. Handle with care!
* `meta4-cosmetic`: The changes introduces are barely touching any code.
* `meta5-technicaldebt`: Issues introducing or resolving technical debts.
* `meta6-discussion`: Indicates a topic that requires input from various developers.
* `meta7-botstale`: Label for stale issues (applied by the stale bot).
* `meta8-excludefromchangelog`: This work is not relevant for the changelog (used by Github actions). Use sparingly!
* `meta9-dependencies`: Pull requests that update a dependency (used by Dependabot).
- `meta0-goodfirstissue`: Good first issues for newcomers and first-time contributors.
- `meta1-helpwanted`: The author indicates that additional help is wanted.
- `meta2-breakingchange`: Introduces breaking changes to DB, Validator, Beacon Node, or CLI interfaces. Handle with care!
- `meta4-cosmetic`: The changes introduces are barely touching any code.
- `meta5-technicaldebt`: Issues introducing or resolving technical debts.
- `meta6-discussion`: Indicates a topic that requires input from various developers.
- `meta7-botstale`: Label for stale issues (applied by the stale bot).
- `meta8-excludefromchangelog`: This work is not relevant for the changelog (used by Github actions). Use sparingly!
- `meta9-dependencies`: Pull requests that update a dependency (used by Dependabot).
## Community

View File

@@ -35,7 +35,7 @@ docker pull chainsafe/lodestar
- :writing_hand: If you have questions [submit an issue](https://github.com/ChainSafe/lodestar/issues/new) or join us on [Discord](https://discord.gg/yjyvFRP)!
[![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord)](https://discord.gg/aMxzVcr)
- :rotating_light: Please note our [security policy](./SECURITY.md).
- :mailbox_with_mail: Sign up to our [mailing list](https://chainsafe.typeform.com/lodestar) for announcements and any critical information about Lodestar.
- :mailbox_with_mail: Sign up to our [mailing list](https://chainsafe.typeform.com/lodestar) for announcements and any critical information about Lodestar.
## Prerequisites
@@ -55,22 +55,22 @@ yarn build
- :package: This mono-repository contains a suite of Ethereum 2.0 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: 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 |
## Contributors

View File

@@ -12434,10 +12434,7 @@
{
"id": "custom.lineStyle",
"value": {
"dash": [
10,
10
],
"dash": [10, 10],
"fill": "dash"
}
}

View File

@@ -4,16 +4,16 @@ To quickly test and run Lodestar we recommend starting a local testnet. We recom
**Terminal 1**
Run a beacon node, with 8 validators with the following command.
Run a beacon node, with 8 validators with the following command.
```bash
./lodestar dev --genesisValidators 8 --genesisTime 1578787200 --enr.ip 127.0.0.1 --rootDir </path/to/node1> --reset
```
`--genesisValidators` and `--genesisTime` define the genesis state of the beacon chain. `--rootDir` defines a path where
`--genesisValidators` and `--genesisTime` define the genesis state of the beacon chain. `--rootDir` defines a path where
lodestar should store the beacon state, `--enr.ip` sets the enr ip entry for the node while the `--reset` flag ensures the state is cleared on each restart - which is useful when testing locally.
Once the node has started, make a request to `curl http://localhost:9596/eth/v1/node/identity` and copy the `enr` value.
Once the node has started, make a request to `curl http://localhost:9596/eth/v1/node/identity` and copy the `enr` value.
This would be used to connect from the second node.
@@ -39,11 +39,11 @@ By default, lodestar starts as many validators as the number supplied by `--gene
the `--startValidators` option. Passing a value of `0:0` means no validators should be started.
Also, take note that the values of `--genesisValidators` and `--genesisTime` must be the same as the ones passed to the first node in other for the two nodes
to have the same beacon chain.
to have the same beacon chain.
Finally `--port` and `--api.rest.port` are supplied since the default values will already be in use by the first node.
The `--network.connectToDiscv5Bootnodes` flags needs to be set to true as this is needed to allow connection to boot enrs on local devnet.
The `--network.connectToDiscv5Bootnodes` flags needs to be set to true as this is needed to allow connection to boot enrs on local devnet.
The exact enr of node to connect to is then supplied via the `--network.discv5.bootEnrs` flag.
Once the second node starts, you should see an output similar to the following in either of the terminals:
@@ -52,9 +52,9 @@ Once the second node starts, you should see an output similar to the following i
Eph 167991/6 6.007 [] info: Searching peers - peers: 1 - slot: 5375718 (skipped 5375718) - head: 0 0xcc67…3345 - finalized: 0x0000…0000:0
```
For further confirmation that both nodes are connected as peers, make a request to the `/eth/v1/node/peers` endpoint.
For further confirmation that both nodes are connected as peers, make a request to the `/eth/v1/node/peers` endpoint.
For example, making the request on the first node via the following command:
For example, making the request on the first node via the following command:
`curl http://localhost:9596/eth/v1/node/peers | jq`
@@ -76,4 +76,4 @@ will give a result similar to the following:
"count": 1
}
}
```
```

View File

@@ -30,15 +30,15 @@ To start a Lodestar beacon run the command:
./lodestar beacon --network $NETWORK_NAME
```
This will assume an eth1 client is available at the default location of `localhost:8545`.
This will assume an eth1 client is available at the default location of `localhost:8545`.
In case eth1 clients are available at different locations, use `--eth1.providerUrls` to specify these locations in the command:
In case eth1 clients are available at different locations, use `--eth1.providerUrls` to specify these locations in the command:
```bash
./lodestar beacon --network $NETWORK_NAME --eth1.providerUrls eth1.url1 eth1.url2
```
It is also possible to start a Lodestar beacon that does not follow the eth1 chain. For this, use the `eth1.enabled` option in the command:
It is also possible to start a Lodestar beacon that does not follow the eth1 chain. For this, use the `eth1.enabled` option in the command:
```bash
./lodestar beacon --eth1.enabled false --network $NETWORK_NAME

View File

@@ -1,34 +1,39 @@
# Easy script to join the merge devnet(s)
This is a setup to run and join the devnet with a single shell command. This script will pull the appropriate images and config and spin up the EL client and lodestar.
###### Requirements
1. docker
2. git
3. A bash shell
###### Just run the script with arguments
```bash
cd kintsugi/devnets
./setup.sh --dataDir kintsugi-data --elClient geth --devnetVars ./kintsugi.vars [--dockerWithSudo --withTerminal "gnome-terminal --disable-factory --"]
```
###### Example scenarios
1. Run with separate terminals launched & attached (best for testing in local) :
`./setup.sh --dataDir kintsugi-data --elClient nethermind --devnetVars ./kintsugi.vars --withTerminal "gnome-terminal --disable-factory --" --dockerWithSudo `
2. Run *in-terminal* attached with logs interleaved (best for testing in remote shell) :
`./setup.sh --dataDir kintsugi-data --elClient nethermind --devnetVars ./kintsugi.vars --dockerWithSudo`
3. Run detached (best for leaving it to run, typically after testing 1 or 2):
`./setup.sh --dataDir kintsugi-data --elClient nethermind --devnetVars ./kintsugi.vars --detached --dockerWithSudo`
1. Run with separate terminals launched & attached (best for testing in local) :
`./setup.sh --dataDir kintsugi-data --elClient nethermind --devnetVars ./kintsugi.vars --withTerminal "gnome-terminal --disable-factory --" --dockerWithSudo `
2. Run _in-terminal_ attached with logs interleaved (best for testing in remote shell) :
`./setup.sh --dataDir kintsugi-data --elClient nethermind --devnetVars ./kintsugi.vars --dockerWithSudo`
3. Run detached (best for leaving it to run, typically after testing 1 or 2):
`./setup.sh --dataDir kintsugi-data --elClient nethermind --devnetVars ./kintsugi.vars --detached --dockerWithSudo`
You can alternate between `geth` and `nethermind` to experiment with the ELs being out of sync ( and catching up) with `lodestar`.
###### Script parameters help
1. `dataDir`: Where you want the script and client's configuration data to be setup. Should be non-existent one for the first run. (The directory if already present will skip fetching the configuration, assuming it has done previously). You can also clean indivizual directories of CL/EL between the re-runs.
2. `elClient`: Which EL client you want, currently working with `geth` and `nethermind`
3. `devnetVars`: Contains the configuration specific to a devnet, like images, or urls for EL/CL to interact. Will be updated with new vars.
4. `dockerWithSudo`(optional): Provide this argument if your docker needs a sudo prefix
5. `--withTerminal`(optional): Provide the terminal command prefix for CL and EL processes to run in your favourite terminal.
You may use an alias or a terminal launching script as long as it waits for the command it runs till ends and then closes.If not provided, it will launch the docker processes in *in-terminal* mode.
5. `--withTerminal`(optional): Provide the terminal command prefix for CL and EL processes to run in your favourite terminal.
You may use an alias or a terminal launching script as long as it waits for the command it runs till ends and then closes.If not provided, it will launch the docker processes in _in-terminal_ mode.
6. `--detached`(optional): By default the script will wait for processes and use user input (ctrl +c) to end the processes, however you can pass this option to skip this behavior and just return, for e.g. in case you just want to leave it running.
Only one of `--withTerminal` or `--detached` should be provided.

View File

@@ -1,12 +1,14 @@
# Geth Docker setup for running the sim merge tests on local machine
###### Build geth docker image
```bash
cd kintsugi/gethdocker
docker build . --tag geth:kintsugi
```
###### Run test scripts
```bash
cd packages/lodestar
EL_BINARY_DIR=geth:kintsugi EL_SCRIPT_DIR=gethdocker EL_PORT=8545 TX_SCENARIOS=simple yarn mocha test/sim/merge-interop.test.ts

View File

@@ -1,7 +1,5 @@
{
"packages": [
"packages/*"
],
"packages": ["packages/*"],
"npmClient": "yarn",
"useWorkspaces": true,
"version": "0.35.0",

View File

@@ -19,10 +19,12 @@ const api = getClient(config, {
baseUrl: "http://localhost:9596",
});
api.beacon.getStateValidator(
"head",
"0x933ad9491b62059dd065b560d256d8957a8c402cc6e8d8ee7290ae11e8f7329267a8811c397529dac52ae1342ba58c95"
).then((res) => console.log("Your balance is:", res.data.balance));
api.beacon
.getStateValidator(
"head",
"0x933ad9491b62059dd065b560d256d8957a8c402cc6e8d8ee7290ae11e8f7329267a8811c397529dac52ae1342ba58c95"
)
.then((res) => console.log("Your balance is:", res.data.balance));
```
## Prerequisites

View File

@@ -10,19 +10,19 @@ type PeerInfo = {
declare namespace LibP2pBootstrap {
type Options = {
list: Array<string | import("multiaddr").Multiaddr>,
interval?: number
list: Array<string | import("multiaddr").Multiaddr>;
interval?: number;
};
type Events = 'peer';
type Events = "peer";
}
declare class LibP2pBootstrap {
constructor (options: LibP2pBootstrap.Options);
constructor(options: LibP2pBootstrap.Options);
on (event: LibP2pBootstrap.Events, cb: (peerInfo: PeerInfo) => any): this;
on(event: LibP2pBootstrap.Events, cb: (peerInfo: PeerInfo) => any): this;
}
declare module 'libp2p-bootstrap' {
export default LibP2pBootstrap;
declare module "libp2p-bootstrap" {
export default LibP2pBootstrap;
}

View File

@@ -1,16 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "libp2p-bootstrap-tests.ts"]
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "libp2p-bootstrap-tests.ts"]
}

View File

@@ -1 +1 @@
{ "extends": "dtslint/dt.json" }
{"extends": "dtslint/dt.json"}

View File

@@ -7,22 +7,22 @@
declare namespace LibP2pMdns {
type Options = {
broadcast?: boolean,
interval?: number,
peerInfo: PeerInfo,
port?: number,
serviceTag?: string
broadcast?: boolean;
interval?: number;
peerInfo: PeerInfo;
port?: number;
serviceTag?: string;
};
type Events = 'peer';
type Events = "peer";
}
declare class LibP2pMdns extends LibP2pBootstrap {
constructor (options: LibP2pMdns.Options);
constructor(options: LibP2pMdns.Options);
on (event: LibP2pMdns.Events, cb: (peerInfo: PeerInfo) => any): this;
on(event: LibP2pMdns.Events, cb: (peerInfo: PeerInfo) => any): this;
}
declare module 'libp2p-mdns' {
export default LibP2pMdns;
declare module "libp2p-mdns" {
export default LibP2pMdns;
}

View File

@@ -1,16 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "bn.js-tests.ts"]
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "bn.js-tests.ts"]
}

View File

@@ -1 +1 @@
{ "extends": "dtslint/dt.json" }
{"extends": "dtslint/dt.json"}

File diff suppressed because it is too large Load Diff

View File

@@ -33,9 +33,9 @@
// export default LibP2pMdns;
// }
declare module 'libp2p-mdns' {
import { PeerDiscoveryFactory } from 'libp2p-interfaces/src/peer-discovery/types';
declare module "libp2p-mdns" {
import {PeerDiscoveryFactory} from "libp2p-interfaces/src/peer-discovery/types";
const mdns: PeerDiscoveryFactory;
export default mdns;
}
}

View File

@@ -1,16 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "bn.js-tests.ts"]
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "bn.js-tests.ts"]
}

View File

@@ -1 +1 @@
{ "extends": "dtslint/dt.json" }
{"extends": "dtslint/dt.json"}

View File

@@ -3,7 +3,7 @@
// Definitions by: Jaco Greeff <https://github.com/jacogr>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module 'libp2p-mplex' {
declare module "libp2p-mplex" {
const mplex: import("libp2p-interfaces/src/stream-muxer/types").MuxerFactory;
export default mplex;
}

View File

@@ -1,16 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "libp2p-mplex-tests.ts"]
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "libp2p-mplex-tests.ts"]
}

View File

@@ -1 +1 @@
{ "extends": "dtslint/dt.json" }
{"extends": "dtslint/dt.json"}

View File

@@ -3,7 +3,7 @@
// Definitions by: Jaco Greeff <https://github.com/jacogr>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module 'libp2p-tcp' {
declare module "libp2p-tcp" {
const tcp: import("libp2p-interfaces/src/transport/types").TransportFactory<any, any>;
export default tcp;
}

View File

@@ -1,16 +1,16 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "bn.js-tests.ts"]
"compilerOptions": {
"module": "commonjs",
"lib": ["es6"],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": ["../"],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": ["index.d.ts", "bn.js-tests.ts"]
}

View File

@@ -1 +1 @@
{ "extends": "dtslint/dt.json" }
{"extends": "dtslint/dt.json"}

View File

@@ -8,7 +8,6 @@
> 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.
## Installation
@@ -53,7 +52,7 @@ import {GENESIS_SLOT} from "@chainsafe/lodestar-params";
### Presets
Presets are "constants"-ish defined in the spec that can only be configured at build-time. These are meant to be treated as constants, and indeed are treated as constants by all downstream Lodestar libraries. The default preset is `mainnet`. The only other preset defined is `minimal`, used only in testing environments.
Presets are "constants"-ish defined in the spec that can only be configured at build-time. These are meant to be treated as constants, and indeed are treated as constants by all downstream Lodestar libraries. The default preset is `mainnet`. The only other preset defined is `minimal`, used only in testing environments.
The active preset is exported under the `ACTIVE_PRESET` named export.