Stefan Kobrc - Stereum, become a Node Runner & decentralize with determination

EthStaker at Devconnect Istanbul 2023 · November 2023 · 19:54

Stefan Kobrc introduces Stereum, a tool for setting up and managing Ethereum validator nodes, in a talk at EthStaker's Devconnect Istanbul 2023 track. The session frames running an individual node as a way solo stakers can strengthen Ethereum's client and validator decentralization rather than relying on staking pools or centralized providers.

Speakers

Topics

From EthStaker at Devconnect Istanbul 2023, hosted by Eth Staker.

Transcript

hello everybody my name is Stefan I'm the founder of sterium and I will tell you a little bit about sterium and how to set up your own ethereum node so first of all a little bit of introduction about stereum and rock logic Rock logic is the um the company that is developing stereum actively um roic itself was founded 2012 um we worked with work in various Industries always with the focus of it infrastructure for example banking public transport and so on we started to get involved with blockchain um in 2014 um and the first commit to steer's

predecessor was done in September in 2020 that's two months before the beacon chain uh mainnet launched so we got way earlier than actually the main net launched for ethereum um steum 2.0 that's the latest version that was just released last week started we started developing um already in December 2021 so that's almost two years now that's that's a pretty long time so let's talk a little bit of let's talk a little bit about ethereum nodes um well there are a couple of ethereum no or first of all what is an ethereum node

an ethereum node is basically a computer that connects to the um to the ethereum network and can interact with it um there are different node types of course like a light node that doesn't store that much data um you also have like a full node that stores almost all the data and then of course the biggest one the archive notes that store almost all the data that is out there um and of course you can use the full nodes for staking so why should you even run an ethereum node well the first and obvious reason is that you help the network to decentralize um it's the more people run

an ethereum node the more resilient um ethereum as a whole gets um because local outages doesn't affect e that much anymore the second big reason is you want to access ethereum that's for example your um your metamask you can connect to your own node or you just want to keep up with the chain and collect some data for your Bots or whatever of course you can stake with your own node and um it's always better to not trust anybody and verify yourself right um what do you need to run your node well that's very easy you need approximately eight CPU cores um 16 GB

of memory and um 2 terb SSD and of course um broadband internet connection that doesn't mean it needs to be low latency I myself also uh ran um an ethereum node on starlink that's notorious for higher um latencies so it wasn't a problem at all well how do you run your own node well there are a couple of guides out there they guide you through the uh process of setting up your ethereum node um with the CLI so you type in the P the the commands that the guide tells you to do um then you have like more simpler

setups like e Docker and of course um way simpler setups like avado or a DP node and of course theum um then you can run it on almost everything right now or already you can run it on cloud providers like AWS or Google Cloud you can run it on VPS providers like hna contabo and you can even run it on arm um processors for low power consumption um and that makes it pretty versatile well now let's talk a little bit about stereum steum itself runs also on almost everything you can run it on your own lab own um computer at home

that's maybe idling in a corner because it's too old for doing some productive work you can also run it on VPS you can run it on on um arm of course like Raspberry Pi and it's fast you can um set up with sterium and ethereum node in a couple of minutes and you're done you don't need to customize everything but we give you the ability to do so and it's easy to do so um we also use theum ourselves so it's not only an open source product that um that we want to offer to the community we also um use it for example for uh Lio to run a couple of thousand validators Keys

um and of course we run over mainnet small over menet cluster with it also SSV and safe stake we also try right now so to give you an example about what um sterium is capable of up until now we sterium helped to produce around 20,000 blocks on the main net already we have around 20,000 downloads of serium V2 GitHub repo artifacts that's also including update files and so on that's why the number is a little bit inflated and with steer we also won some awards for example the Austrian Brock chain award uh two years ago but let's jump in and set up a note with theum so the first first thing is

you download the launcher that runs on your local uh computer on your local desktop PC and we also support U Mac OS of course we support Windows and you can even run it on an up on to desktop for example um so if you open up the launcher this is what you see um it's a login mask to your remote server it just needs to be an OBU 204 everything else doesn't really matter and you need SSH access of course um um you just enter a name because you maybe want to save the connection for later use so you don't need to retype everything the next thing is of course the IP address or the uh domain where your um server is running um the port is

also customizable if you run SSH for example on a custom Port because of security concerns or something that's also something uh sterium is capable of um then you enter a username of course to L in and a password we also support SSH Keys um to login also with password so the next thing is we fill this thing out right and then we come to the next step for new notes of course only uh you get presented with three options the first option in the left uh the pink one is the oneclick installation which presents you with a couple of options to install your node the second one is a customizable uh solution that only sets up the most

necessary parts of sterium and lets you do the rest all by yourself so no presets on this one and the last one the blue one is to restore a note where you exported the configuration so let's talk about the setups in this case we chose the oneclick install of course to show you the fastest way possible um the first two options are just staking one with meth boost the other one without meth boost then we have of course SSV and obber integration um so you can run your own operator over and SSV operator with aium and then we introduced arm that's a very important step for us because um it

is important to for people who might have a high energy bill to be able to run their own um node at home with arm and the last one would be um arive node in the next screen we see that everything is already pre-selected we selected the vanilla staking without any MEF boost or so so the fastest one possible and um we see everything is already pre-selected so we got the G client selected we got the lighthouse client selected um as well as some monitoring tools like promeo um not exporter and kafana to visualize these metrics of course to the user the um the um installation path is also possible to customize it's it's

it's of course a default value there but in the end for example if you have like a VPS with two different volumes um then you can point sterium to um the bigger one or the faster one whatever you prefer so you can store your data somewhere else um this lets you choose um the checkpoint that your node uses to sync you don't need to use it you can also um just use the drop down to select one you can also use your own checkpoint server if you like um for the execution client unfortunately there is no possibility right now so there is only Genesis sync then the next one is very easy

steum is doing all the work we just watch it sets up some some uh system packages operating system packages it installs the fire war and configures it for enhanced security and um it also creates some configuration files for the services that sterium is capable of managing after that we already have our uh new setup it differs a little bit to the last version we saw so the relas release last week uh changed a lot in this in this um in this regards we see all the services that are selected we see the execution client the consensus client we see the validator CLI of course uh we also see a varning in the right that the fee recipient is not set

so stum tries to steer the user towards an optimal uh setup and we see some Services um like aana and so on in a in a smaller in in in smaller um proportions the next page is the control page now you can switch between three pages the first one that we just saw is the note page uh this is the control page which which gives you an idea of um how much memory does my clients consume how much um CPU usage how much RAM memory usage of course also peers that's also important if you see low peers that might be due to some network issues that

you might want to look into and you also have um um a a witchet that shows you how much um sync is already done with the clients so solo staking because that's what we are here for right um this shows you a graph or not a graph a mask that's um that we did with a more advanced setup you see here we have multiple execution clients multiple consensus clients and validator clients and they are connected with each other in certain ways and we seen one in this case the mouse hovered over the uh teu execution

uh sorry consensus client so you immediately see what other services this very service uses which makes a lot of sense if you want to um want to figure out um some error with some um Mis attestations or something you might know immediately where to go instead of crawling the lck files and configuration files first but let's jump in into staking so first of all um the is nothing staked right we just prepared our keys and everything and we drop it on the we can drag and drop it just a file on the black big surface and the next one is of course um ethereum recognizes this

dropped file and um asks where you want to actually import it if you have multiple um validator clients like you saw in the first in in the previous picture um you can choose them in this case there is only lighthouse um the next one is it asks for slashing database um if you want to migrate keys I would Al always recommend uh using slashing databases uh to ensure um there is no slashing of course also please wait to EPO before you import to really verify that the old machine is gone for good next we just enter the password at the bottom um like here and then the UT already starts so not much hle around

here um after some time depending on the client the clients take it differs from the client how long they take that's not a not a steum specific um thing that's how the clients decrypt the key and encrypt it again and we got a nice report of how they do how how um what the what client sorry what validator keys are important and which failed maybe because of a password or something else and then we already see that the um the validator key is um imported every time we log in now and click on the staking page we see this again and we can see on which service this runs

also um since when this is active for example of course the state and um how much balance this validator has you can also for example exit one validator um or give it a name if you have for example one note that that you share with your friends and you have in some like two or three validators you can name the validators um like the owner which makes it easier to identify them so how do you configure and customize AUM to your needs well the next the next thing is um you have an expert mode that's on the top you can collapse this one and see

all the configuration for this service there is nothing hidden from you you can do everything what you want you can do um a a new volume for the docker container you can do Port mappings you can edit each parameter that's that's there of course we also have some other um options that are more convenient like in this case the uh port settings for external Port um and next one is updates that's also a very important thing to do um the first thing is you use you can uh see the uh the version of your launcher that you're

running and on the top you also see the um operating system uh operating system updates that might might be available also you see uh what node theerum node version you're running that's also updatable of course and the plugins that you need to update and on the bottom now in Gray there is is a update all that makes what it says it updates everything except the launcher um and then to the settings we go um of course we also have some languages available for people who are might be not as fluent in English as um others and at the bottom of the page you

find a steum auto update that's also very convenient um you can select this usually it's set and by default it's set to manual so you need to take care for the updates but you can also set this to Auto and it will check each morning early morning um if there are updates available and install them immediately so what are the dos and Tes well the first one is keep it simple that's very important don't over complicate your setup don't run a failover nodee with keys already imported or something that's that's a disaster to happen it's better to have a little bit

of downtime than to get slashed always so what's next for aerium first of all we have external connectivity this means you could run a beacon node and a execution client on one server and for example a validator client on another then custom Services maybe you wrote some bot that scraps some data from the the from the um ethereum apis that's not a problem you could pass it just in and you can manage your Docker Service uh completely with with stereum turn it on turn it off link it whatever you like quick server switch and multi note

setup um is is the same the same um using the same server for um for multiple config erations as we saw earlier we have um we had multiple execution and consensus clients and these um can be also reflected in the future in different configurations so you have a more uh separated um setup and beacon chart. in monitoring app is also currently integrated so you don't need to use the stereo mobile app that we have right now you could also use P Chad's mobile mobile app to monitor your node well if you now got so much

interest that you not only want to actually um install ethereum node but also get involved we have GitHub of course please drop every bug that you find in there it helps us a lot and also join us Discord for discussions and everything and there is a gitcoin um round coming up so if you want to help us help us financially just drop us something it's quadratic funding very nice to see uh some involvement there and here are some links the first one is st.net that's our project web website the second one is Rock logic that's our company website and if you want to um message me something directly here you go that's

telegram thank you very much especially to the ethereum um sorry e Staker um event organizers that's always an awesome event and have a beautiful day thank you very much [Applause] bye-bye yeah if there are questions uh you can catch Stefan in the hallways