STAKEHOUSE 1-Click Ethereum Validator Installer Demonstration

EthStaker Workshops and Technical Guides · January 2021 · 34:39

This EthStaker session demonstrates Stakehouse's 1-click Ethereum validator installer, showing how the tool automates the setup steps that normally require manually configuring execution and consensus clients. It walks through what the installer handles versus what stakers still manage themselves.

Speakers

Topics

From EthStaker Workshops and Technical Guides, hosted by Eth Staker.

Transcript

so now what i want to do is i think this is a great transition so uh the first validator workshop that we hosted was something like with three three and a half hours uh we went from bare metal server or a new machine and spun it up on a test net the videos that i followed using samara's guide it was just a quick and dirty like get you up and running those unedited i think were maybe 45 minutes um we want to make those things uh simpler for newcomers into the scene and we want to make them quicker

and that is exactly what colfax and remy have been working on in terms of uh tooling for making and lowering the bar to enter into the solo staking scene and it's it's something incredible what the the two of them together have have produced and it's honestly i i'm convinced it's one of the reasons why their bitcoin grant was so successful this round and why the reception for the product itself has has been welcomed because it drastically simplifies the process and makes it easier for non-technical users or maybe someone that just

just really isn't comfortable or willing to work with the the command line so what i'd like to do first uh colfax if you want to share your screen and kind of showcase exactly what you've been working on and walk us through the whole thing sounds good i'll pull it up right now thanks for the intro let's see here good to go looks great okay awesome so yeah as michael said uh we heard a call out from the eastside community actually on a from superfiz in a one of the community calls

to basically build a one-click installer for setting up everything that michael's creating guides for that summer's guides helped you do for going from nothing to ethereum to staking and we have built now a couple different applications that can help automate a lot of that process so this one's called steakhouse and we just released it open source a couple weeks ago definitely very much in the early beta stages but i'll walk you through sort of how it works here on the welcome trend you can sort of see it tells you what it's going to be setting up for you so this is going to be your eth1 node your e2 beacon node and your validator and under the hood a big shout out to uh

rocketpool so we actually use rockapool's install infrastructure for this that's one of the reasons why we were able to build it so quickly and so uh it's pretty amazing i think we might talk about uh the rocketpool um staking infrastructure a little bit later but for now i'll just jump right in so first what we do is we run a couple system checks this is pretty bare bones right now um as i mentioned still in like the early beta stage for this one click installer we want to add more system tests here to check for example like is your hardware uh performant enough to actually run a node successfully a few other things and here under advanced we're going to support uh picking more individualized features but for now

it's meant to be very simple install we'll pick a random eth1 and eth2 client for you to run so that promotes client diversity and healthy networks so without further ado i will click install so i need to type in my password here and right now as you can see it prints out a few log messages of what's going on behind the scenes and it's actually doing the install for you right now so everything that you see in michael's video is happening automatically behind the scenes and depending on how quick your internet is i've seen it take

as little as 30 seconds up to i mean it could take longer i mean i think the max i've ever seen it take is like four or five minutes mostly downloading stuff here um but as you can see just like that install complete redirecting and now we have everything up and running uh there's a lot of work still to be done here i'll go through a couple things on this screen uh this is basically telling you so the randomly picked client was teku and uh for e2 eth1 is geth you can see you're all online here this status here for geth right now is probably going to change the syncing soon once

you connect to some more peers and start pulling in uh the historical data these statuses i want to it right now it says your validators online one of the objectives is to actually have a little bit more granularity in that so telling how many validators you have right now we don't have any validators set up but the validator application is running here are some good resources for you to take a look at and [Music] that's basically the entire install process it all happened behind the scenes and now you're up and running hey coleman ask a quick question yeah what's up what uh what systems are supported um youtube is asking a lot about windows what's it built so right now it is

only built for ubuntu but we are hoping to launch more operating systems in the future if you have any experience with supporting applications and building them on different platforms i would love for you to come join here let me bring up the github repo and i hope we while you're working on that i want to say a little bit about steakhouse so you know we're building the eatstaker community we recognized a need for these tools i put the call out colfax um actually brought a team together he's working with remy and some other people to develop these tools and it's incredible um so steakhouse is is actually the first

tool can i tell you what the a little can i talk about the bigger plan ship it the bigger plan uh while steakhouse was the name of that installer we actually want to zoom out and make steakhouse an umbrella department of e-staker so that colfax will organize developers to build tools that support the staking ecosystem whether that means helping a um an existing tool incorporate more clients or whether it means providing like things like the single-click installer or maybe one-off tools that just help validators uh

do better we're looking for the future of steakhouse to be a a building wing of eatstaker and i know beyond a shadow of a doubt that we have the right team and um the skill for that and really if you have any interest we've even talked about you don't have to be a developer if you're willing to learn and write documentation we want you to feel as welcome in steakhouse as we hope you feel an eath staker and so i hope i didn't steal too much from you no i was in fact just about to jump into that so steakhouse now is becoming much more than just this tool

and as you'll see next remy's gonna demo a tool that he's also built um that is also aimed at lowering the technical bar mistaking and so i'm really excited about that and that sort of opened my eyes up to the fact that the community doesn't only need a one-click installer there are many tools that can be built to help lower the techno bar to ethereum two-staking as well as promote the health of the beacon chain and do a lot of different things so we're trying sort of build this community to facilitate a lot of that development and so a few updates we just decided to launch the community so we're going to be updating a lot of stuff we're probably going to be creating a github org

for steakhouse where we can host a lot of these tools this is the repo for steakhouse the one-click installer which we're going to be renaming and as you can see here there's a lot of like to-do's here that i've identified for some additional enhancements for this project and we're also going to be having many other projects that we're going to be spinning up within this umbrella and to get back to steakhouse the one-click installer quickly i see some questions about validators and things like that right now we do not officially support going through the deposit process but i'll show you here so once you're fully synced you can click deposit here and what we're going to do in order to

actually get your validators up and running is we want to utilize the launch pad the ethereum launch pad which was um very well put together and very thoughtfully put together to actually deposit your eth and you'll go through a similar process of creating your mnemonic and your keys like envetica was alluding to which he was playing with the cli earlier and then you can actually import that key store into the steakhouse one click installer application and then you can start running your validator with those keys but this is not fully built out yet so this is one of the features that hopefully um we'll be able to build out once we have a few more people involved the thing people always want to know

about this and about this kind of tool and i know it can be frustrating from the development perspective but what's the time frame that users can expect to be able to use something like this like let's say um you know i'm sitting on some ether and i want to stay but this looks like the right way for me how long do i have to wait to use this that's a great question and it's a little hard to answer because it really is not a binary scale it's kind of like a sliding scale of how mature the technology is and how ready we are to recommend its use like on mainnet so right now explicitly it's only supported for the test net

and that's not because it's too difficult to configure for mainnet it's because this is definitely an early stage tool and i don't want people to put their real ether in the tool because we're still working out how to make everything super secure um eventually once we build a few more features we want to get an official audit done to make sure that we have a third party sign off on how the tool works and then we will release it for more like main net use and encourage you to do that in terms of a timeline i mean just ballpark days weeks months years i'd say months probably not weeks but not years so i hope that kind of answers your question super fizz

that's great i i just know how how difficult waiting is especially when you're trying to be patient um yeah so just at least having a window is very helpful yep and all this will happen much quicker if more developers jump on and and help out so that's maybe an incentive if you want to use the tool and you have some skills that can help out even if you're non-technical there's plenty of product related things and other things to do if you're interested in working on this tool reach out to me on discord uh and i'm sure we'll post a link to the github somewhere and you can come join the team and help out it's all totally open source uh steakhouse the one-click installer no fees

just totally a community driven tool to help the community for anyone who's familiar with a mythical man month colfax kind of suggested you know if we have more help we can get this done more quickly if he has more help he can work on more projects and spread out the effort more widely so we really me i i'm going to be promoting steakhouse a lot in the next few months because i know that um it's one of the it's one of the most powerful directions for eath staker and that was really solidified by this git coin grant where everyone that could gave to um steakhouse so we've kind of heard

that and we want to embrace it yep and so for that steakhouse community umbrella we're talking about we just launched the discord channel for it it's going to be on the easttaker discord if you're not a part of the estate or discord run over to the url invite dot gg eatstaker and you'll see one of the channels is called steakhouse and just keep an eye out there for more updates on how to get more involved and i'd like to make one last shout out the steakhouse installer supports all four staking clients because it's based on the rocket pool installer that supports all four staking clients and the rocket pool installer supports all force taking clients because our

friend jcrtp uh heard one of my previous kind of like hey we need rocket pool to support all four clients and he's like hey i can do that so jcrtp spent a couple weeks hammering away getting pull recourse requests submitted and approved and because of his work because of the east acre community um rocketpool now supports all four clients which allowed a steakhouse to easily support all four clients uh that's a major win um because we are promoting client diversity rather than allowing the community to uh kind of collapse down on one or two

popular clients which would not be in our best interest so that's actually and a few other things that or go ahead michael i was just gonna kind of extend on what phys was saying there and he'd mentioned this in a previous state of the steak episode where there are a set of questions that we kind of ask ourselves as a community in terms of what's healthy and what's not healthy in relation to the beacon chain and one of those questions is is it open source and the reason that's important is because it allows the facilitation of these other tools to grow and help mature and push forward the overall ecosystem if rocket pool wasn't open source we wouldn't have necessarily this product in the in the shape that it is now because we

have to do everything from scratch so these things allow other people to sort of take the baton and run with it so something to kind of keep in mind as you may be looking for solutions to solicit in the ecosystem one of those questions is to ask if it's open source that's it's a big driver yeah that's exactly what i was going to say and so i look at steakhouse the one-click installer is standing on the shoulders of giants i mean it's really a very thin layer of code on top of all of the infrastructure of the actual nodes and clients that are running and then the rocketpool install infrastructure and now we just basically put a little ui on it and automated a few a few things so it's

all only possible because all these tools are open source um so a big appreciation to rocketpool for all the work that they've done and the fact that it's open source steakhouse is also open source so i encourage you to even build on top of that someday that would be pretty cool and not just rocketable i don't want to forget joe uh jcrtp has just yes he has been a uh a real motivator for all of us he has helped me recognize our potential and so i'm very appreciative of that seeing all four clients being picked by steakhouse as a result of jcrtp's pull requests adding uh nibis and tekku is it never stops making me happy teku got selected now it wouldn't have

been possible without jcrtp absolutely so i think that just about wraps up this demo so i'll pass it back to envetica absolutely well thank you very much for showcasing this this is uh i can't help but smile every time i see it work because it's just so cool the amount of uh just the simplicity of it is is awesome but not to be outdone here uh remy's got his uh validator wizard here and it is it is equally as cool and uh definitely as important to the ecosystem remy if you want to showcase your uh your tool here sure uh thanks for uh giving me the the talk here i'm gonna share my screen

right now there you go all right so um i'm gonna showcase the validator wizard which is just another tool another one click installer that you could use um eventually to become a validator so we will be sharing the link to the github repository for the project but um one way to quickly start the wizard is simply to go down here and we have a simple command line that you can just copy and paste which i'll do here i'm just copying this command line here just paste in here

and then it'll download the um the wizard and it'll ask you for your password to get started and so once you start the the validator wizard you will be shown this nice welcome uh page where um it'll explain what it is and where you can get additional support right we're still part of the eat sticker community and so uh like if you need additional support if you have any issue with the wizard you can always refer to people who are gonna help you there all right so let's start um with the next uh dialogue here uh we're showing an overview

of what uh you will need to get started uh to become a validator you'll need a 32 if for each validator you want to run you also need like a net one client and a two beacon node you'll need to generate your validator keys you'll need to import those keys and then you'll be able to do the deposit afterward and then eventually you'll have to wait and then you'll become an active validator the next dialogue here will uh prompt you to select a network so you can become a validator for a different network

if you want to become a validator from mainnet which is where the real value is you'll be able to select it here but i'm gonna select per mod here just for this showcase i don't want to use any real value i just want to demonstrate uh the use of this uh wizard the next step is the eth1 uh client installation here we're going to install gef this wizard only supports guests right now but eventually we might be able to add supports for additional uh each one client all right so it'll will tell you what it it's going to do he's it's going to install get from the ppa

um on ubuntu so i haven't mentioned this yet but uh the wizards only works on you ubuntu for now but maybe eventually if we have enough people who want to contribute or help us develop this tool maybe we'll be able to support additional operating systems and so it'll create a systemd service similar to what you can find into summer's guide so let's keep going here so you can see in the background what it does it's simply running similar commands that you you would see in the summer's guide but in this case it's all automated right so all you have to do

is look at the lug and then wait for it and so you can see that it it's downloading um gif 1.10 right now and once it's installed and the service is started it'll show the logs wait a little uh until synchronization starts and it'll test that your node is actually synchronizing right so um after a few seconds you'll see a pop-up or a small message showing that you are in sync you are currently syncing or that you are not in sync and you should wait a little more to get started right so here it and i'm saying that um gef has not

started syncing yet so let me just retry this so my gef node is still looking for peers so maybe i'll wait a few a few seconds before i keep going here i have not opened any ports to get incoming peers so maybe this will take a little longer but um what we want to eventually include in this uh wizard is for you to set up your ports first and test your ports and and test to make sure that your ports are open right so in order to promote um better peering and to improve your ability to sync with others you should open your ports

on your machine and we can actually test for that and colfax already uh built a tool um that we will be using for this uh wizard eventually let me let me retry here let's see if i'm getting synced there you go you can see that gef is currently syncing properly and we have a small information message so the next step here uh we are prompting the user to add if one fallback nodes right so it's a good practice to include fallback nodes for any e2 validator for their beacon node

because if your local node goes down if your local get node goes down it can fall back on any other public node and that's actually pretty useful if you want to do maintenance or if you need to restart your gif node it's pretty useful right so what i did is i already created an account on infuria and this is just a test account so this public endpoint is not going to be working uh after this workshop but um i'm just gonna copy and paste my end point here that i created using infira but we suggest that you create at least one um account with infuria and alchemy so that you can get

at least two fall backs for your node here so let me add this endpoint here i'm just gonna paste the the link i just copied and um make sure not to reuse this link because it's not going to be working after this workshop all right so when i add this new fallback the wizard actually tests that the fallback is working that it's a proper f1 public node and that it's on the right chain right so it tested that it was on the garlic chain and so once i'm done adding fallback i can just select done here and then now i'm being prompted for the lighthouse installation right right now

the wizard only supports lighthouse but like i said with um the e1 client we have a goal to support multiple for the e2 node but this is simply just to have a minimally working wizard right so this this dialogue explains that it will download the official binary from github verified pgp signature and extract it create the systems uh systemd service just like what you can find into the summer's so let's get started uh we'll see the log in the background um about using the gpg tool to verify the signature

downloading the lighthouse client and installing the systemd service sometimes it can take a while for the gpg signatures to be downloaded but here you can see that it worked fine and just like when we installed gaff we're giving the beacon node a few seconds to get started and start syncing um once uh we're done with the sync process here we'll actually test that the beacon node is syncing properly if it's not it'll show a message and we'll be able to try the test here so you can see a bunch of like failure messages in the background those are mainly because our local node

is not in sync yet so it's actually falling back on the and you can see the message here about the beacon node syncing properly we're not we're now up to the step where we'll be generating the keys so what each what it's being shown here the that the deposit ci tool will be downloaded um it'll be executed um locally and you how to answer a few questions regarding your uh validator it also has a message about uh you having to securely and privately store your mnemonic so that's the the words that you'll see

so it's just a reminder about that as well and we have another dialogue about the the this warning making sure that if you lose or if you lose your mnemonic you might lose your fonts all right so let's get started with downloading the cli tool and we're being asked a few questions i'm just going to say that i'll run this for one validator i'll type a password for the key store i'll just retype it and here i'm shown the mnemonic that i have to securely store somewhere in my case i'm just gonna copy and paste it but like in a real

world scenario you'll want to actually write it down and then store it in multiple in multiple places maybe in a safe somewhere if you have one which is fire protected so those are all good practices i'm just going to retype it here by just pasting it and then it'll generate the keys in the so just have to wait a few seconds once we're done with generating the key it'll uh import them into the validator client by installing the client as well so this will just create the the service for your validator

and import the the keys that we just generated so i have to retype the that i use when i generated my keys here it'll check that the keys were properly imported let's say that we found one key imported and it'll give the validator client a few seconds just make sure that it's working properly while showing your uh the log the logs here so you can see a few error messages in the background because the beacon node is not in sync yet and one thing i've been thinking about recently is adding

a net to beacon node fallback for the validator client uh using maybe infura or other services online so that could be another uh good things to add to this wizard all right so we're now done to the deposit and so it tells you where you can find your deposit file and it also tells you where you should be doing your deposit in this case since we're using the per month network we're being asked to go to this url here which is open and i'm just going to do the deposit but in a real world scenario you'll want read all the questions and really read all the warnings and

risk that you incur by being a validator but i'm just going to go quickly here to do the deposit i just want to show you the end the end result you're being asked to choose a net one client but the wizard already installed one for you so you can just keep click continue here same with your add to client in my case i created one validator so i'm just gonna type one here and i'm being asked to select the

deposit file which is in the temp directory so let me just find it here and i'll do the deposit using metamask hopefully this should work in my previous try i've had issues with this step for some reason and hopefully you won't have any issue with the launch pad but maybe i'll just restart it here let me just go quickly through those

steps again like i said um you should be very careful when you're doing your actual deposit to make sure you read everything here because there's a lot of important messages in there that you should be very careful about all right let's see if it works now there you go all right so now i'm being asked to select an account with metamask i have this account which

i requested um girl add on which should be fine and then it found some goeth currency so i should be good with doing the deposit i'm staying being asked a few about a few of the risk and i'm i'm down to the deposit step here so i just click on send deposit and hopefully i'll be able to do it with metamask here there you go so the transaction was

um we'll just wait a few seconds for the deposit to be completed normally on um on the uh girly network it's pretty fast uh but if you're doing this on the main net make sure that you select the proper amount for your gas price because i've just had a person today asking why his deposit was not working and he might have selected like a low gas price making his transaction take longer than expected let me just click on this beacon chain link to make sure if beacon shooting found my validator deposit

seems like uh the the deposit was not found on beacon chain yet i'll just i'll just refresh this there you go you can see that the deposit was found on the beacon chain and so if i go back to the wizard here when i click i'm done it'll check on beacon chain um to make sure that the deposit i was actually done i'll test it i'll find that the the deposit was done and i'll show you that the installation was completed right so um it also gives you a additional pointers for support or if you need if you have any questions and where to monitor your activation period for your

validator you can go on this url here and that's pretty much it when you click on quit it'll show you the public key for your validator here and give you additional information about your validator so that's pretty much it for the wizard so that's the whole process so you can see where uh we're going with this validator wizard is so great yeah it just definitely simplifies the process especially for those that don't necessarily want to run all the commands or are worried about making a mistake i think the the two of my favorite features on this uh is one that it it reminds me i have a

lot of nostalgia watching this wizard because it reminds me of like windows 3.1 kind of has like the same design aspects which i love same vibe right yeah but it also i i really love the feature where it's further promoting decentralization by default spinning up the eth1 node but then i love that you're adding the fallback so it's not reliant solely on a third-party service it's just using them as a as a safeguard and i think that's a a great way to go about it yeah