Superphiz and JCRTP demonstrate the new RocketPool Terminal User Interface (TUI)
EthStaker Workshops and Technical Guides · January 2021 · 34:52
Superphiz and JCRTP demonstrate Rocket Pool's new terminal user interface in this EthStaker Workshops and Technical Guides session, showing how node operators can manage a Rocket Pool minipool directly from the command line. The walkthrough covers the practical side of running a Rocket Pool node, an approach to liquid staking that lets participants stake with less than the standard thirty two ETH. It targets operators comparing staking setups within the Ethereum ecosystem.
Speakers
Topics
From EthStaker Workshops and Technical Guides, hosted by Eth Staker.
Transcript
hey everyone i'm superfiz i'm here with my good friend joe clappis uh who you know is jcrtp from rocketpool oh see if we were cool we'd have played uh rocket pool in the intro that's stuck in my head it's been like six months i always have that stuck in my head it is i'm very happy in fact i told him recently that that's my favorite uh jam of his uh that's jonathan mann uh rocket full song uh so joe and i joe did something really awesome uh joe's been working on a thing that's really awesome and i feel like i've honestly been more excited about it than he is is that fair uh
i i know you've been excited about it so this has been a labor of love for me it initially hit the design back in january so i've been working on this for a little under three months now uh we've put a lot of tlc into it and i'm excited for people to be able to use it on mainnet i would say when we first released the beta version for our pareto prater beta testers to use i was probably about the same amount of exciting as you were right now now i'm more relieved that it's out than anything else can can i tell you a secret sure i haven't i haven't tested it yet okay well i just i haven't even seen it and so yeah and that's that's what i'm excited about like i i've i've promoted it a
little bit on twitter just because i love the screenshots um but i haven't really touched and so it's great because um i do think this is gonna be a really great way to onboard people who are a little bit intimidated by using the cli and uh so i'm very comfortable with the terminal interface for for rocket pool but today um i hope you will help me upgrade my crater node to the new interface is that something we can do together i would be happy to and if all goes according to plan this should not take very long and we can do a little bit of exploration awesome record this is not scripted we're doing it live so if something pops up we're
going to fix it live it's it's going to pop up well and it's um i i shouldn't take this for granted but i have so few issues with rocket pool like um i i know i get this brand as like an eternal rocket bull pumper uh but i pump rocky pool because it's just it's a freaking awesome product um it's just where i'm at so let me see i have just a couple scripts here one of them is going to be uh update rocket pool and this is also speaking of first times i've never used powershell before i'm a native linux user but i had it's ssh like you're it's real yeah i know it just it feels like i'm using windows and i it makes me sick to my stomach
so my update rocket pull script is pretty simple okay uh so we have i'll give you a couple of of tips as far as this goes hey i might want to create oh i can it does work okay yeah so thing the first we have a a little docs a webpage on our docs website that walks you through what the migration process is going to look like so the installation process is basically the same but it shows you what's changed what's new uh how to use the new features we're going to go through all of that together so you don't have to bring it up now but that is available for people that don't have access to put me on a zoom call and i can walk them through it and that kind
of stuff that's all there uh thing the second and i did this just for you is uh the dash n crater flag that used to be part of the installer is got you don't need to do that anymore so the installer will now dynamically figure out what network you want to use through its interview process so you don't have to manually specify that which is great because if you accidentally forget to do it when you're upgrading and suddenly around the main net release you know you don't which i do frequently exactly so that's that's been taken care of uh the dashboard you know the great thing for me that there is um not having to modify scripts between my test node and my main net node so that's pretty handy definitely there's been a lot of quality of life improvements from this
thing the third the service starts i would put service config in between those two things so service config now it's not intrusive uh it doesn't really get in the way in any respect but it does show you what's changed from one release to the next so if you like updo an upgrade it'll tell you okay so we have a new lighthouse release um this version of the docker image has changed and also they have changed their max peers setting by default so if you're using the default of 80 and they change it to 100 we're going to make you use 100. if you changed it to 90 or something like that you get to keep your 90.
okay um i we were actually just talking about song of day man um and um i realized that he's still using i gave him this version of script that has prater in it so um i'm gonna let him know update your it'll let them know there's a little message being like no the the network flag the dash n is deprecated you don't need it anymore but it won't break anything oh good so it that is really awesome oh so my assumption honestly was that uh it would revert back to prater when he ran that so it just says you don't really need this anymore you can keep it i'm gonna ignore it but in the future you can you can get rid of it okay
all right i'm sorry for no problem uh so the rest of that looks good great um i it looks like i don't have the bottom of my i don't have the bottom of my screen here so i'm not able to see the nano command uh task bar okay uh so i'm going to pull the smart node installer um i'm going to stop the service i'm going to install the new service i'm going to run service config which i'm not familiar with but you did mention it i'm going to start it and then check the version sounds good pulling it oh okay oh you have an old version of the uh
blanket you have a release candidate on there oh so do i need to go blow it away yeah yeah so just get rid of the old release came the diversion or the the the directory itself with all the installation files on there like your dot rocket pool or whatever oh yes there's an easy ish fix but the the for the sake of this i think the simplest way is just to remove the user settings that you have in there which is the the file that the new 2e creates okay so hold hold on if i delete rocket pull that'll work too uh that deletes everything uh exactly what am i deleting so what you need to do is that
user-settings.yml file yes uh that's the one you want to remove because that's an old file that has an old configuration okay and that's the only thing that i'm deleting yeah and obviously for anybody who's watching i've been running crater for a long time if i removed this entire directory it would remove all of my chain data and everything that i is important i would be starting from scratch so careful just to remove one file yeah so what i will point out there is since you have the the system listed there's a folder in the middle called old underscore config underscore backup as part of the migration process to go from whatever the previous version was to 1.3 we back up literally all of your settings everything that's from the chains folder to your start scripts to
the the settings you've chosen and stuff everything gets put into there and the the guide for the migration that i was mentioning earlier has a little section on how to revert back to the old version if you need to if something has kind of gone awry or whatever so okay people who do a fresh install don't need to worry about it people who do an upgrade will need to delete uh settings.yml and that's the only thing they'll need to do well no that user settings isn't there normally okay people who upgrade on mainnet from like version 1.2 or whatever to 1.3 that file isn't going to be there that's only an artifact of the release candidates got it got it it's just me fooling around okay got it let's just do scripts
and so now i'm going to run my update rocket full script again and do i need to that looks like a permissions problem to me looking in bin it is owned by fence so you you removed the rocket pool binary uh so now that you've identified it you you have to give it yes you're right oh great thank you um and so yeah uh just to reiterate what what uh joe said nothing is wrong here i deleted this
file uh foolishly um and no normal users won't run into these problems i'm going to try again yeah our documentation covers everything that you're doing here and it walks you through how to do these things so if you're new to the smart note stack and things like that then this you won't run into these problems but i have been seeing this for like months and i was like i'm going to wait until i can do it cold so this is what you're looking at here is the migration so it knows that you had a previous version of operator install like a 1.2 or something like that so it's try to preserve as many of your settings as possible usually it gets all of them unless you've messed with the docker compose files manually
and then you can just review this as a verification that it got them right or you can adjust things as necessary great yeah but this is the server this is the new service config screen so rather than the text based interview we had before that was a single question and then a single question a single question this whole process is much more dynamic it's much more visual it's easier to use and hopefully uh people find that it makes it trivial to do updates and changes to their smart note stack like for example changing your e2 clients or your consensus clients yeah so i i don't want to to jump too far could this be used to switch from crater to mainnet oh yeah because you still
need to clean out all of your no it does that for you and you're you're certainly welcome to try that it gives you a big warning being like look we're about to delete literally everything including your wallet and all your validator keys i'm hesitant i'm hesitant because i i you know i value my prayer up time um but you're sure it's going to give me a you wrote it right so oh i wrote it just for you fizz now let's decide which mode i don't i want out i want back i got scared oh great oh it does it's like uh i i love the whole it's tui it's like straight up real tui on the bottom uh those little okay navigate select the labels show you how to do things love it so i'm going to
stick with praetor just because i'm comfortable okay we can always mess around with this and try to do like a new install and go to mainnet afterwards and i definitely i want to do a speed run i want to do like look how i can install rocket pool in you know 10 minutes sure um it takes less than that you can get so less than one i'm locally yeah well hey it does i was going to say people don't do scripted setups anyway the one drawback of this might be the difficulty with scripted setups but no so we cover that too there's a headless mode uh where if you are not able to like do an interactive terminal ui like this and everything is scripted uh the rocketpool service config command can accept flags for every setting you
want to change so you can just run that headlessly that's gorgeous great we actually had some of our oracle dow members who run in that kind of configuration yeah i think that i saw that yeah okay so i'm keeping guest i'm not going to use a fallback client that's fine and let's see consensus client mode i would like a locally managed consensus client i'm currently running lighthouse everyone knows my secret now make sure when you're talking to ben about this uh you you mentioned the terminology update that we went through with execution client versus consensus client versus oh it's funny because i i did notice on the previous screen um yeah
where it says formerly east 2 client i was like ah it's it's uh updated language i love that but i'm i probably won't bring that up to ben all right so lighthouse it's just describing the client hey this is so great because uh yeah press press enter on prison watch what happens you get this little note that like maybe yeah think about that if you if you really want to have you you may not know we uh we have new data today uh suggesting that prism has 54 percent uh so that's right you should take that out then still validating the data but it's it's pretty exciting um thanks shout out
by the way to michael sprawl for for developing that thank you uh and okay so i'm gonna stick with lighthouse so this is my graffiti it's basically keeping track of everything that you had previously set and it's recording it all here so you don't have to go back and change anything i didn't even know that was my historical graffiti well now you do that's too many characters well you type more than that i like to search by my own graffiti but okay that'll work okay and checkpoint sync so i don't need checkpoint sync now because i'm already synced up okay so you can leave it blank
and doppelganger detection um i am not going to i can i can say that um interestingly i saw a post on reddit today of a guy who said he almost got slashed he did i because i cringe i was like please don't say you almost got slashed i think his name was so yeah this was this was a little thing that happened last night after he updated he changed clients from lighthouse to nimbus and uh i don't do slashing database migration yet so the the clients don't share them so as a stopgap to make sure you don't get slashed uh the smart note enforces a 15-minute cooldown between when your old client stopped and when your new client starts up to make sure that you don't accidentally double the test and get
slashed it's in big red letters and we can take a look at that if you want but it tells you like hey guess what we're going to stop you from starting this thing up until your validator client has been offline for 15 minutes and it gives you a little countdown that regularly updates when the countdown's done it starts you up and he i guess misread that or something and ignored it and tried starting it up anyway and the only reason that he didn't get slashed was because he didn't put a checkpoint sync provider in so his new clients started ah it took a while yeah okay because when i saw that i'm like you know i spent all of my time convincing people that rocket pull is is easy to stake with uh and then it's like i almost got slashed and i'm like i don't say that
at the end of the day i can only protect you from yourself so much you know yeah and he's he's a good user so i don't he's a good person i don't um all right would you like to enable metrics yes i want metrics loving the dashboard still all done you're ready to run if you'd like to review and change all the smart nodes i just have an exit i want let's review them yeah so this is the settings screen that you see after you've run service config for the first time you can always go back to the wizard if you prefer it because you like the workflow there's a button on the bottom right of the screen there open the config wizard but most of the time if you just need to change a quick little setting or two then this is going to be the way to do
it oh and this is what we just went through exactly this brings you right back so you can just press enter a bunch and go through that where do service config again that's fine did i so i think i quit did i do it right without saving which is okay if you run the updater again it'll just go through this whole process and we can zip through it again really quick exactly just press enter a bunch because i don't think you changed anything in here no i didn't so this is what it meant when i said you can do it in less than a minute yeah so well i i that's that's just incredible correct yeah and so this is the more kind of fine grained control you have over different facets of the smart node stack so like pick a random category you can
drill down into it and see what it looks like so here's your consensus client center and so i can modify that now yeah so all the stuff you had before like whether you were locally or externally managed which is basically docker mode or hybrid mode for older users uh which client you want to use that kind of stuff well that's configurable here plus some additional things that some of our power users might want to play with like if you need to change your tag manager like so this is yeah the container tag right here if lighthouse comes out with a new version you can put that new version in right here and it'll use it you don't have to wait for us to release a new smart node version that has it baked that's so great and that's one of the questions i get from knowledgeable new users is do i
have to wait for rocket pool to update clients and i'm always like no it takes one edit editing one file to download the new docker image and this makes that even easier editing a text box we so you always want to do your due diligence when you're running that uh sometimes client updates come with breaking changes to like their api services or whatever that means they aren't going to be compatible with the smart node stuff until we change our code to make it compatible with the new stuff but that's pretty rare i think that's only happened once in like the entire time i've been working on this thing and that's with the release of the actual beacon chain itself so yeah and that would be more about major releases anyway than incremental hot fixes
if you're looking at just a patch version usually it's safe to do that tell me about add-ons so the notion behind add-ons this is actually something that was brought up by our community uh we simply don't have the the manpower to do every little feature that people have asked for things like integration with uh beacon shot dot i n um the beacon chain websites uh their notification system and their uh metrics monitor for like hardware metrics and things like that uh we've been asked about that a few times remy ron's graffiti wall changer that lets you kind of write on the graffiti wall that kind of stuff all that is there so we put in this add-ons feature that allows uh our users to essentially extend rocketpool
with their own docker containers that have access to the smart node stack they can see that they can query the eth2 api they can query the e1 api they can do whatever they want in that respect they don't have access to your validator keys so it's safe in that respect but people can write stuff uh put it in a docker container get access to the smart node stack and everything that lives in there and so this would be yorick downes uh e2 docker to run uh i could run my my other keys against this using his docker image with this as a plug-in here perhaps yeah okay you can think of this as sort of like a community managed plug-ins kind of system i love it yeah so if you wanted to throw another validator container for solo keys or whatever you could totally do that
this is just incredible i knew it was going to be good and i was so excited by the screenshots now i'm i'm afraid that i'm going to exit without saving it it won't break anything you just have to go through this process again okay so if i escape escape eventually gets me to the top level and then i have to tab to here to save it right yeah you have to you have to save on purpose essentially there's no accidental saving and it tells me the changes uh would you like smart notes start smart note services automatically now and off it goes
oh that was easy so this is going to start twice i believe because it will automatically start after you're done with service config and then your script is going to try to run service start ah it's already been started so there's nothing interesting for it to do which is fine yeah so this is the it's trying to start again and then it gives you the version information looks gorgeous yeah i love it so um to to get back there i would it's it's rocketable service convic again is that right okay and then just ctrl c to exit that's it that is just gorgeous you want it makes my day you got clients or switching to mainnet or anything like
that this is my my prater baby i mean i've been uh i've been i've been coddling this it's it's i launched it i think the first day that rocket pool went live on crater um i i have affection for it like a main net node sure but we could change clients maybe not i don't i'm not into it i'm just scared that's fine i'm you know on one hand as superfiz i'm like relax everyone everything's gonna be okay and you're not gonna break anything but i'm also a human like when it comes to my own stuff i'm like don't mess with stuff that you don't need to mess with so like i'm not afraid of being slashed
but i also appreciate uptime we can do a secondary install that's not your main one if you want and you just never start it essentially oh you mean like on the same machine same machine yeah so we can have a second folder that has a completely new rockable installation totally new wallet no window validator keys all that stuff and we just never start it so that way it doesn't interfere with your existing one but you can still go through the service config process to see what that looks like if you're interested uh yeah i'm thinking about something i may have um i may have a clean virtual machine let me check that real quick no i think it's that's kilm
i think it's basu teku basu maybe i was i don't have i don't have that machine up okay let's do it here talk me through it okay you wanna do the second uh folder uh yeah but yeah let's let as an alternate director that i'll delete when i'm done yeah i mean this is easy because i do this during testing all the time okay so what you want to do is do a rocket pool service install and here you're going to do a dash p which stands for path and you give it
the folder you want to install to and so this can be anything else besides the default yeah that's fine and then do a dash d as well to get rid of the dependencies oh yes okay and i so um other people won't have this i i should probably spell it i use an alias yeah i do the same thing because i'm lazy mine is rp the same idea um probably because you're an r developer ah just kidding all right so a long lifetime ago sure i used to be obsessed with r uh rocky pull service install um the location is going to be rocket test and don't install the dependencies if you're upgrading you
can't you can sure enough yes and so so if you go to that folder now the rocket test folder you can see there is a completely fresh install in oh wow yeah so now do rocket pool service config but before the service config after the rocket bowl there uh you want yeah right there you want to do a dash c which stands for the config directory and you just put in this directory here so tilde slash rocket test or direct yeah there you go and then sc after that okay so since this is a new install it's going to give you that same wizard and
it says we're going to be configuring this partner for the first time so this whole process is the same but it doesn't have anything pre-filled for you because it doesn't have anything to migrate but you can go through this real quick and pick whatever you want we're not going to start it so you can feel free to mess around i did mainnet i mean that's fine inferior will always be available will be always be helpful for like checkpoint sync and stuff right like even now once in a future version we're going to disable inferior in pocket and provide people plenty of warning and heads up that this is going to happen because they are not compatible with uh the merch specifically with uh proof of custody i believe is
so i i get that for uh for execution later but yeah won't it still work for checkpoint on consensus layer yeah but that's totally different yeah i know i know it's still a different side of appearance yep um fallback execution none i don't use external but i should and consensus quiet it's going to be locally managed random i do love this random oh there you go hey um hey so yeah i i i think uh lighthouse may end up being the new majority client at some point we might need to start pushing nimbus here i am trying to champion them no i'm with you i'm with you
i love nimbus um i do too it's the best one okay what to tell me other than efficiency what what do you like about no it's efficiency i mean okay from a feature perspective all the clients basically have the same feature set uh but nimbus uses like half the ram and half the cpu of everything else so i am happily running it on i will admit this out in the open i have a raspberry pi uh it has gone through my specialization procedure that i talk about in the guides and things i have four validators on mainnet right now with it and i sleep at night just fine yeah yeah yeah i i don't um i'm not against running on raspberry pi it's because of nimbus that i can do
that let me just say that yeah i do this is one of the things that doesn't get enough credit all four clients uh and even probably um lodestar like did i say that right yes um are are going to they're like they're successful clients i i don't think yeah there's no superiority issue they're they're pretty much equivalent there's really not from the client side perspective they all work just fine in terms of validating and profitability all that stuff they're all basically the same so i i will always champion the clients that is it has the lowest representation but nimbus has a special place in my heart no i'm the same way like i i always
i champion decentralization across the network but rocket pool always has a special place in my heart like i totally get it warm and fuzzy all right so we'll save this it's going to ask you if you want to restart say no and now run service config again with the uh go back i got to do that yeah yeah just up oh i should have up you're right there we go there you go yeah so now go to your consensus client and where it says lighthouse that second drop down change that to something else here does that work oh is that referring to one up right there yeah open that up with enter and then scroll around with the keys
and change it to something else almost tip i most randomly chose prism and i'm like wait wait we're doing a narrative here okay so press escape to go back okay and review changes so that's that's it it's gonna change you from lighthouse to nimbus uh you you wanna say no because you're not starting the containers but that's all that's involved in changing clients with rocketpool that's client switching that's client switching right there you just did it that is that is insane i want to do it again just because it was so easy hey so i i'm going to change this then
i'm going to ask you about yeah about either one so i could now just change to teku yes and escape tab and save save and i i would hit yes but i'm gonna no right and now i'm changed to teku um that's it yes easy as pie um my question my next question is going to be the new hotness might be uh alternate execution clients is that something it's been on our radar for a while the important part was getting this out to make all that switching easy and stuff like that and especially now that the merge is basically going to remove the
availability of like clients like infuriating pocket and things uh we know that we can't just have death as the only option here so as uh in future versions as we progress and gets closer and closer towards the merge we're going to be adding as many as we can into here that's awesome the most part i believe they have feature parity with respect to the api so not a lot needs to change on the back end side of things and it should be pretty trivial to put them in my only constraint with that is after reading some of the documentation for some of those clients they can get heavy uh like another mind for example recommends you need to have 16 gigs of ram free to do this so you didn't see this with your system because you have a pretty high powered system but when you're running
relatively low like a low number of cores or a low amount of ram uh the wizard when you get to the portion where it asks you to pick a consensus client it actually warns you when you get to teku because it says tekku uses a lot of ram you probably don't have enough to do this are you sure and that kind of thing so i will probably have to do some profiling on the clients and throw that in as well to make kind of save the user from themselves yeah yeah i just i i know i've said it but i love the decentralization value that rocket pool is bringing to the beacon chain um like i know right now it only represents one percent of the chain but and you know i i do i stand by this need
that you know we need to have enough decentralization that no no governance model has more than 20 percent but if rocketpool had 20 i would be extremely comfortable knowing that like it's that they're good stewards of the network um and so it makes my day thank you jeff i mean at the end of the day it's it's more about who controls like the the voting power right and with rocketpool the node operators control the voting power we don't have any say in it so if we had twenty percent of the network that's twenty percent distributed across a thousand and ten node operators which yes yeah which is great right it's an uneven distribution we have some whales in the community who have a lot of validators but not all of them well you know it's we talk about um
you and i are you know we've had that kind of discussion about uh centralized providers as providers for rocket pool and it's something i've kind of i'm like i'm not really comfortable with um but at the same time seeing seeing the the overall diversity of rocket pool like it it's okay like we're s it we i cause i'm rocky pool it's still a really diverse platform with a thousand operators um it's not like uh you know two or three or even you know 20 operators running the entire show so that's cool all right joe um so it's funny i was going to say what's
next i don't even want to know what's next because i want i want to enjoy the cui for like you know six months because it's just the coolest thing ever on your own time when you've got your virtual machine set up uh go over to the smart node and tx fees uh option there at the top uh-huh yeah open that guy up and you see that network drop-down where it goes from ethereum mainnet to prayer oh yeah switch it up switch it up and see what it does let me know how that works for you i would love that uh because you know i i just i wa so he's public so i won't uh i don't have to hide it um jonathan man song of day man just onboarded and we used 1.2.4 um and we had you know we we manually
wiped away uh prater to bring him up to mainnet uh it would have been really neat to try this but i just i wasn't ready um like i'm like it just released and i need to do you know tried and true best practice uh but it would have been so cool to do this well in the future you know with whatever other onboarding you happen to be doing it's right there so play with it see how it works uh it's got a nice little warning that says we're going to delete literally everything so back up all your stuff and then it gives you a fresh install on the new network that is so great relatively soon that drop down will also have support for kiln too which is exciting oh yeah um i've you know i've got you use raspberry pies i use nuts i've
got my pile of nuts over there and i've got my my solo solo kill nook and i've got my raspberry pi sorry my kiln nook just ready to go so yeah all right i'm going to end this recording thanks everybody for checking us out and um joe i appreciate your time let me figure out how to stop her thanks for putting this together