-
Notifications
You must be signed in to change notification settings - Fork 23
Easier Onboarding and Maintenance #480
Comments
Absolutely! Onboarding simplicity and health monitoring would not only help node operators, but eliminate questions like 'is my node ok' allowing team to concentrate on the project. Speaking about dashboard - at the moment its blocked by the lack of RPC, so lets hope this is something which will appear before mainnet. Also I would add builds simplification to the list, especially for native builds. Single 'make && make install' or 'build.sh' would be really helpful. Maybe it would even allow to reduce requirements for CPU / memory and use the cheapest of vps. |
And one more item worth discussion... Taken into account vps typically doesn't provide enough hdd space for full geth and infura is not that cheap - would be great to find some alternatives like:
|
Who's our ultimate audience here? Are we looking for a "node in a box" where the team and/or community actually maintain a full from-scratch script, or just the pieces to allow other people to? One of the reasons I haven't advocated for a 1-liner setup is that it usually requires bad trust assumptions. If we can get to the point where people can choose, I'd love it. You guys want to describe a setup experience you'd like to see as a new staker? Is it more like
or are you thinking to go as far as
|
Cool, how could I miss it!
This is my personal preference with './configure' between 'git clone' and 'make' (which would install all the prerequisites and ask for things like keystore path, eth rpc and so on). But mostly because for me its simpler to just ssh to vps and do things above than to investigate how to push things to vps using some non-standard solutions :). ... which is funny taking into account here https://github.com/ElderOrb/keep.network-build-scripts I'm trying to implement ugly hybrid of solution 3 and 1 :)
This should make most of non-technical users happy but might take significantly more efforts because each vps has some peculiarities.
magic-keep-setup allowing to select between docker & native, configure and push to vps, deploy health monitoring and mining bitcoins in parallel sounds like great idea for ICO. :) Too much efforts imo.. Independently on the approach, actual peers list and contracts could be pulled by 'configure' script from git and written into config file. Especially peers list which causes a lot of questions in discord. |
@mhluongo I get your point of avoiding a scenario where trust is needed to ensure a script, binary, or whatever is secure. What about utilizing IPFS plus a Once the nodes data points are ready as well, a simple dashboard can be hosted in IPFS that would allow for the boostrap peerlists to be advertised to users. If you want decentralization, we can do decentralization! |
I have created simple scripts that I believe will significantly simplify onboarding for ECDSA v1.0.0 testnet nodes connected to the blockchain via Infura. This should be easy to update for future versions as well as mainnet, or for people who want to connect to the Ethereum blockchain via something else than Infura (e.g. Cloudflare for mainnet). Here is what it looks like from the user perspective for the setup of the node. The script automates all steps usually found in tutorials. Since it is already a well configured file, there is no risk of copy pasting issues with line ending formatting and such. Parts of the scripts are taken from @afmsavage's guide here. In concrete terms, the UX would look like this:
And this is it. Note that this doesn't require any knowledge of command line instructions and can be easily used to onboard newbies. Furthermore, it gives insight into what is going on under the hood with command line outputs to ease newcomers into learning the stuff they will need to maintain future mainnet nodes. Attached are the two aforementioned scripts. I have QA tested this from scratch locally. I believe this is the simplest way to setup a node pending the development of executables. Note: This also simplifies issues related to compatibility between different tutorials in terms of variable naming and such, and clearly flags the files as |
Awesome work @jeremyid /experience. You should create a github repo with these files in place, and your walkthrough as the README.md. I could help you with working with |
I will look into this on Monday when I get back to my workstation. I thought I would get some feedback here before creating a repo. Thank you for your comment! |
You want the feedback on your repo, not in a comment on a different project. PRs are the way of the future! I took the weekend away from KEEP really, but am starting to think back about easier onboarding items that can be done. I am going to schedule a Jitsu call for sometime this coming week for all stakers to come and get help or give help. |
Hi guys, But I’m worried with the third issue. As a month old node operator myself there are some common issues which IMHO should be better addressed by the whole community:
The core Keep Network are their nodes, so these nodes should be as safe as possible. If we manage to keep downtime issues minimal, Slashing should only occur if there is misbehaving, and our Keep Network will be really healthy. |
I wanted to share my monitoring setup here in case anyone comes across this. I think its still a good topic to keep up for now, especially if we can generate some conversations around new node runners coming on board for mainnet. I plan to do a better writeup eventually but for now this should get people on their way. Monitoring Setup |
I want to start a discussion around different ways to ease the onboarding of new nodes as well as making it easier to maintain a node after it has started running. There are some data points about to be exposed from the node which will help in monitoring. Some ideas that have been tossed out are:
Any discussion or additional ideas around these items is appreciated. We would like to make running a mainnet node as painless and possible as it can be. Real money after all!
The text was updated successfully, but these errors were encountered: