GithubHelp home page GithubHelp logo

dappnodepackage-lighthouse-prater's Introduction

Lighthouse DAppNode package (prater config)

Lighthouse prater ETH2.0 Beacon chain + validator

Lighthouse is an Ethereum consensus client that connects to other Ethereum consensus clients to form a resilient and decentralized proof-of-stake blockchain.

We implement the specification as defined in the ethereum/consensus-specs repository.

avatar

Updated Champion/s
✔️ @pablomendez_95

dappnodepackage-lighthouse-prater's People

Contributors

3alpha avatar alexgonmad avatar alexpeterson91 avatar dappnodedev avatar dsimog01 avatar eduadiez avatar github-actions[bot] avatar lodotek avatar marketen avatar mgarciate avatar nabsku avatar pablomendezroyo avatar pol-lanski avatar tropicar avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

dappnodepackage-lighthouse-prater's Issues

Use same beacon API ports for all Eth2 clients

Consider using the same beacon API port for all the eth2 clients for consistency (for instance the dappmanager could require this API for the module chain drivers to get beacon sync status)

Use port 3500 for Prysm, Lighthouse, Teku, ?

Lock `public_keys.txt` file to improve security

Context

The public_keys.txt files contains the public keys used to start the teku binary for the validator flags. This file must not change unless the public keys exposed by the web3signer API are different, then it should be edited and the process will restart

To do

  • Find a way to lock the file public_keys.txt and unlock it when required to avoid possible bugs.(chattrd cannot be used in docker containers)
  • Consider using docker volumes stuff to provide read-only access

Wrong license

need to implement the proper license Apache-2.0 not GPL-3.0

Review metadata files

There should be review the metadata files before released:

  • README.md
  • setup-wizard.yml
  • dappnode_package.json
  • getting-started.yml
    ....

Test Lighthouse + web3signer in network prater

Test instructions

You must have at least 2 Prater validators.

Install the web3signer prater and the client Lighthouse. You must get the hash from the Github latest release "dot".

In the client use the checkpoint sync feature to be able to start validating in minutes.

The web3signer will listen only to one client, you must select the client Lighthouse at config.

For a deeper test, you may find it useful to check out the grafana dashboards from the client, web3signer, and docker host.

Test report

With an editable unique comment report any errors and feedback you may find necessary.

Testers

setup cronjob to periodically fetch public keys

Context

Eth2 clients must notice when a new validator is imported into the web3signer, so the public key is loaded into the eth2 client and start validating for it as well.

Approach

Setup a cronjob to periodically fetch public keys from web3signer API, so if there is a new pubkey restart the container to load the new public key

Track Lighthouse

Track the most important features in the road to Eth2 multiclient in DAppNode of the Lighthouse client.

  • Implement web3signer support
  • Immplement validator remote keymanager API: 🚀 sigp/lighthouse#3162
  • Implement fee recipient: #52
  • Run as separated services
  • Checkpoint sync
  • DAppNode package for Gnosis chain
  • DAppNode package for mainnet
  • Implement JWT

Lighthouse Prater v0.1.2 not working

Describe the bug

Lighthouse Prater not working

To Reproduce

  1. Install the package
  2. Check logs

Expected behavior

Lighthouse should be synced after a while

Screenshots

image

DAppNode version:

  • Package version: 0.1.2 (v2.3.0 upstream)
  • core.dnp.dappnode.eth: 0.2.55
  • dappmanager.dnp.dappnode.eth: 0.2.50, commit: 552ab6c8

Consider not persisting validators in the client

Currently, there is not implemented a way to delete validators using the Lighthouse client API. Consider not persisiting the validators in the docker volume, so it fetches from the web3signer every single time

Review cronjob

Review the cronjob used to fetch the publicKeys exposed by the web3signer API.

  • Is one minute a good period of time to repeat the loop?
  • What period of time would be considered as spamming the web3signer API?
  • Prevent the cronjob from possible infinite loops

Prepare Lighthouse client for the merge

Add the configuration required for the Bellatrix upgrade:

Before this update https://github.com/sigp/lighthouse/releases/tag/v2.4.0 (07/22/2022) some flags were another.

  • Indicate API engine endpoint

--execution-endpoints

  • JWT authentication for the Engine API

--execution-jwt

  • Override TTD flag

--terminal-total-difficulty-override

  • Update to version 2.4.0 of the client

This configuration has been tested on Ropsnet network successfully.
Repo: https://github.com/tropicar/DAppNodePackage-lighthouse-ropsten

Improve quality code

Code for eth2 clients must be high quality, review all the code files and try to improve them

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.