stake-house / eth-wizard Goto Github PK
View Code? Open in Web Editor NEWAn Ethereum validator installation wizard
License: MIT License
An Ethereum validator installation wizard
License: MIT License
For ease of debugging any issue a user might encounter
At the disable automatic updates step on Windows, don't prompt the user if the automatic updates were already disabled.
There are various options with Prompt Toolkit and async httpx. Let's explore these.
Just output a warning message.
At the improve time step on Windows, don't prompt the user if the time was already improved.
Syncing verification after geth or beacon node install can take a while to complete. The retry method is alright but it is too easy to reach the end of the retry attempts while ending with a negative verification because it took too long to find peers.
Improve this using some async pooling of the REST APIs and a live display of the sync values and peers value.
We currently support only installing Lighthouse, but support for multiple clients would be nice. Prysm should be our second client.
Add the possibility to install everything on Windows
Bundling with PyInstaller can drive some AV products crazy on Windows including Microsoft Defender. Let's explore ways to make this a better experience for everyone.
Similar to what we have for Ubuntu at https://github.com/stake-house/eth2-validator-wizard/blob/main/eth2validatorwizard/platforms/ubuntu.py#L39
To avoid security issues coming from the test tools.
This is for the following tests:
Use something similar to what we use for Teku on Windows with checking peers count and is_syncing
To avoid potential penalties, we should recommend that people wait until their beacon node is fully in sync before doing the deposit at the deposit step.
We could also automatically test it and show a progress bar on that screen.
Make it possible to use something like ~/validator_keys
when entering the validator keys directory for instance.
We can use the eth2-client open port checker for this:
https://port-checker.vercel.app/
https://github.com/ethstaker-core/eth2-client-port-checker
Seems like permissions are not removed correctly anymore on Windows 10 to protect the keys directory.
Current Geth dashboard in constants.py
needs to be updated with the latest version available on https://gist.github.com/karalabe/1e26f9ea5c842fb118584edadc454e18
https://discord.com/channels/694822223575384095/825118946192785438/851183029354364928
We should retry with multiple different servers and give it more time to get.
Prometheus + Grafana and configure them for Ubuntu
Let's explore options for Windows as well.
Similar to the other test, add a test that will check for available RAM and make sure the system as at least 8GB of available RAM to pass the test.
Just like what we did with #31 , we should improve geth syncing verification.
When testing for teku to be synced, it might already be and return an not syncing result. Test for that case and continue with the installation.
They have rebranded/moved to a different name/site.
Since v2.0.0, checkpoint sync has been available with lighthouse. Let's add it. See https://lighthouse-book.sigmaprime.io/checkpoint-sync.html
It would output something like this:
Eth2 Validator Wizard completed!
Network: Pyrmont
Number of validator(s): 0
The state file looked like this:
{"step": "wizard_completed", "context": {"want_to_test": 2, "selected_network": "pyrmont", "selected_ports": {"eth1": 30303, "eth2_bn": 9000}, "selected_eth1_fallbacks": [], "obtained_keys": {"validator_keys_path": "/root/eth2validatorwizard/eth2depositcli/validator_keys", "deposit_data_path": "/root/eth2validatorwizard/eth2depositcli/validator_keys/deposit_data-1628899005.json", "keystore_paths": [], "password_paths": []}, "public_keys": ["hidden but real public key"]}}
Here are the logs from a user: https://gist.github.com/remyroy/1ad480d46785ede16fe2c50ee0d6e8bb
Request that the user create an Infura ETH2 project for fast sync (in minutes) with the --initial-state
on Teku. See https://docs.teku.consensys.net/en/latest/HowTo/Get-Started/Checkpoint-Start/
It seems like some Ubuntu users don't have setuptools and it crashes if that is not provided with the humanize package. See https://discord.com/channels/694822223575384095/825118946192785438/850762588286353430
We should bundle setuptools with package
Add join queue information (Number of waiting validators and queue time) on the network selection page.
Use /api/v1/validators/queue
endpoint on beaconcha.in API to get that information.
Possibly with PyInstaller?
Show status of installed clients/tools.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.