Set Up Your Own Ethereum Node
ETHBarcelona Talks · July 2024 · 32:39
David Scheidl guides participants through setting up their own Ethereum node. The hands-on session covers running execution and consensus clients and why operating a node supports decentralisation. Running a node is presented as a direct way to take part in and verify the network. Held at ETHBarcelona.
Speakers
Topics
From ETHBarcelona Talks, hosted by ETH Barcelona.
Transcript
my name is David uh today I'm going to show you how you can set up your own ethereum no uh using steum um I'm a member of the rock logic I'm going to uh start talking about how who we are so we get a little bit of an image um plus uh Rock Logic the rock logic G was founded in 2012 uh we worked in various Industries so we are not just a a blockchain company we are software development and server infrastructure company uh we in the 10 years uh since we were funded no 11 uh we were working with banks uh retailers um real estate uh education public transport so we have experience
in various Industries uh we started to get involved in the blockchain industry in 2014 with an arbitr sport actually uh it worked great on good days and on bad days it was a huge catastrophe so um over the years um after F came up um our founder Stefan uh started a hobby project uh e doer composer um which had his first commit on the 13th September of 2020 which is roughly around two months before the Big Chain main it actually launched uh over the last 3 years we
basically took the time to uh build out what uh from what we have learned better setup that I'm going to show you today live if I can hopefully uh first uh let's talk about eum nodes in general so basically um I'm pretty sure most of you know what an ethereum no is uh etherum node in like really short form is your access point to the ethereum blockchain the eum blockchain lives on the noes um there are different kind of nodes uh three categories uh full notes uh which are used usually for staking archive notes which archive blockchain data and light notes which are uh currently still in
development um uh if you not in short uh consists of three different clients we have first the execution client which is responsible for uh producing the blocks the consensus client which is responsible for following the chain and the valid dat client which is responsible if you are staking if you have a staking key uh so you can write to the E blockchain basically um why should you run not um they are different pretty obvious reasons um first of all uh to decentralize the network um while it's true that only sticking notes have basically an access to right um your
node will still verify um um also which is really important um uh you have your own access to the F blockchain so I'm pretty sure you're all here developers I'm pretty sure most of you use RPC providers um with with your only F not you're not uh you're not limited to the RPC provider or what the RPC provider gives you and last but not least uh the thing I'm going to talk about I'm going to show today uh is solo staking uh what do you need to run your own mode uh first of all uh you can run it on a local server a VM or in the cloud uh doesn't really matter um the St the
resources you see here are recommended resources you can probably start at a little lower but I recommend you this for uh for functional solo sticking so uh that's 2 terb storage it has to be an SSD because an HDD is not FAS enough to follow the chain uh at least eight CPU at least eight course CPUs more is always better and uh 60 GB of RAM also uh a broadband internet connection please don't try the Wi-Fi doesn't really work um with at least 25 mbit per second so uh there are different ways
how you can run your own notes I don't want to only talk about what we do uh are various projects actually in the staking ecosystem of ethereum uh some of them are for example uh you can set it up yourself along with a guide uh a good resource for that is the samai Sal guide uh he's a like step by step it's a really nice resource uh then the E Staker Community has its own installation tool it's called ether wizard it's uh maintained by a eake uh a high high eer contributor called Remy um as well as e doer which is also maintained by another E Staker personality uh called diic as well as uh
the known avad and deep deep node which use basically the same architecture and also last but not least what I want to talk about today is steum itself uh steum is uh an if note setup uh we basically uh we basically Ved it with um with ease and flexibility in mind we want to have so if you need a full note you can make this in fre4 clicks which I'm going to hopefully show you as well as um you can go into every single config just uh play around with it if you want to I will also show this um uh short overview uh what Ste is of
um how far we have come over the last 3 years before I go into it uh currently there are 15,000 blocks produced with stereum we know this because uh if you set up a steum note as a default you have st.net as a graphity if you change it we obviously can't track you we don't collect any data which is really important to us it's also free to use um I can talk how we Finance this after if someone has the question um we also uh currently from today on is like uh 15K downloads still 2.0 as well as we won two Awards one is the Aus blockchain award 2021 as well as the pr which is a German award
specifically for district so now I'm going to go into the uh setup itself as you can see uh what you need for steer to work is basically first you go on the website and download the launcher we are uh we we act with the assumption that you already set up the server yourself so because you can use anything we don't like try to limit you in the architecture itself um this is multiple reasons obviously not everyone can like uh run a very uh very strong setup um also what's also really important what you need is umun 2024 is a c rise this is also various
reason especially uh with time tracking uh Windows has a lot of problems uh with the clock which is uh which is really uh negative when it comes to solo sticking where milliseconds are important so um I already prepared a server as you can see on the login screen itself you have uh two different methods to um log in you can do it with password but we also support SSH Keys also with password if you have one I don't have one so I'm going to just going to log in takes a few seconds okay um this screen is the basic uh basic installation screen you have three
different options on the left side you have the one click installation I think that's pretty um self-explanatory but it's also the one I'm going to show so I'm going to uh focus on the other two for now uh the custom installation which is an option for people who actually have a little bit of expertise who know what they are doing who are capable of basically connecting the clients themselves modifying themselves who maybe want to run a little bit more complicated setups or anything like that as well as the config import option the config import option in the steum settings you can export so if you have a note can export the settings the configs of the note and uh take them with you and then just import them here and uh
basically set up a note with the same configs you had before it's quite nice if you maybe have to migrate from from one machine to the other um yeah so I'm going to go into the one click installation uh we not only support theum main we also support hynosis So for people who don't have 32 e if you want to try out staking it's especially an option uh also because girl is a little bit uh Supply limited I have to say um we also support uh girly and sepolia um I'm going to go with girly for this this one um as you also can see we have uh we also support different protocols uh so the classical solo
staking on the left side um then you have meth boosted solo staking which is basically execution consensus validate the client plus meth boost uh where you can select the relay yourself uh SSV Network which is a uh with the SSV technology you can split Keys into four different parts uh it's basically a ex uh additional fallback uh if you have if you can set up four machines you can run your key keys on four machines at the same time and if at least uh two of the four uh attest you will attest and um it's basically just uh extra security um oal uh pretty similar also SSV technology uh just a little bit more
um just a little newer um it's probably going to uh both of them probably going to release on Main net I think in one month or two months at least like on the road there um it's currently only for early test net so I'm going to go with staking um as you can see uh you have here uh recommended clients so as soon as you start up we going to uh what we're going to do is uh we're going to fix the execution plant it's basically always SC this is a few reasons um it's the most stable one and for beginners probably the best option uh then as consensus client um you can also change the execution client if you don't want
to have G we also support uh basil NE mind and Aragon as well uh as for the consensus clients Lighthouse prism Nimbus take and load stop I'm going to go with NE mind and lighs it's my favorite combo um you can also change the installation path uh per default steer chooses your chooses the installation path with the highest storage um if if you want to change it if you run multiple and you have a different uh idea you can always change it in here I'm going to leave it as is um next is the syn option as soon as you installed the note it has to sync the etherum blockchain um for the
execution clients usually do uh you only have the Genesis option for the consensus client uh there's the checkpoint option which basically has the name basically already tells you you're are going to start sying from a checkpoint onwards uh you can here select the source but you can also if you don't trust any any single entity in here you can also input your own URL it's just a URL all it needs or if you need it for example for uh data uh I recommend the Genesis option so now you can see there's a small installation summary it just tells you
where you where it's going to install what it's going to install uh we also install with perers profana as well as promeo not exporter and a service that's called Ste notifications uh the promeo and profana are for monitoring uh we need them for the control page which I'm going to show you later and um the Ste notification Service uh is basically necessary if you want to uh receive uh mobile notifications for F note we have an app it's going to come out in two weeks hopefully we're just debugging it currently and with this you can basically just connect it with a QR code and you receive uh note alerts you can also set the note alerts up yourself in
raana so if you don't like our default alerts you just make your own so installation takes a few minutes um it's first going to uh update your uh first it's going to install w packages update it restart the server it has if it has to then it's going to um start installing the clients and uh connecting them and then modify the firewall um if you run into any problem while doing this you can basically go in here there's a little small task manager here for example you see some data if you run into an error it's going to Blink red so it's going to be red uh we have a Discord server you just can't you just copy it out there's a small copy
button here you just put it in say hey guys I have this Arrow what's up and we're going to help you out as soon as we got time to do this uh as you can see it's basically already installed the node itself what's it's going to do now is it's going to turn out the clients one by one I'm not sure if you guys can see this there's like a little red dot I can see this really good I'm not sure um as soon as they're going to start up one by one um I can show you how you uh first of all how it's sinking where you can see how it is thinking as well as how you uh inut a valid dat the key here so they now all turn on I can go on the control page uh as you can see we are
completely finished with this uh we still uh discussing what kind of data we want to show uh the syn status uh so light has just turned up what it's basically doing now is fetching the blockchain data from the checkpoint it's going to take a few seconds then it's going to uh turn turn to 99% synchronization because we used the checkpoint sync and uh NE mind is already starting uh usually just so you know uh the rule is basically this the consensus client SNS before the execution client so because the execution client needs the data from the consensus client um also if you're developer and you're interested as you can see already
sying if you're developer and you need your RPC and point you can just open it here and basically copy it out from NE mind just takes a few seconds it's on on now I can copy this and just put it for example into metamask if I want to run it over my own note uh next up um as maybe let's talk a little bit about of the alerts as you can see we have a a small alerting system uh when you set up a eum note for stacking uh please don't forget to set a block Fe recipient this is really important if you don't do this and you produce blocks you're going to send them to the burn address which is okay for everyone else probably like this likes it a lot but for yourself uh it's could
be quite you could be quite missing out on rewards um next up uh the staking page itself I'm going to import a key here second um I'm chooseing the keys then I can choose what validate the client I want to import to also really important please never import the keys on two different validator clients you are going to get slashed um having said that please also don't build any complicated fallback mechanisms for staking this is not necessary I will talk about why in uh as soon as I'm uh finished join um for a little bit I'm going to import
this into the Lighthouse at first asks me if I want to use a slashing protection database SL protection database I think the name already says it uh you can import you can export this as soon as you remove the uh validate a client for your note uh it gives you just an extra bit of security uh whenever you import a client going to choose no because I don't have a slashing protection database with me then uh I'm asked to enter the password um it's going to take a while it's going
to import basically uh after importing it could be that um the key is not like straight away in the list this um as the reason that uh some clients not all of them are the same some clients take a little bit longer with importing uh there's also a top sorry wrong PW um um oh yeah uh basically as soon as after importing uh the double ganger
protection starts this is an extra additional layer to prevent you from slashing for some clients this can take a few minutes for lighthous it's quite fast that's why I like it so much to be honest um as you can see uh it's already a testing actually as it's it's going to started testing um uh it's uh active since for like 2 years now you can see the balance here uh you can copy the public key if you want to you can set a block Fe recipient for a specific key so if you run multiple keys I don't know in as a institutional Staker or for your friends and you want to give them like a little bit extra you can set it up like this um you can also give the uh uh uh
valid dat key additional identifier you can remove the key as as well as export the uh flashing protection database and uh you can start the withdrawals so um just click here for withdrawals for example you just click here put in your validator key password then it goes into the valid uh withraw exit que as soon as it's going to go through the valid withdrawal exit queue um your your key is basically marked as wants to withdraw it will still take some time because this works like sweeping uh so it goes through every single one so even if you are processing through the withdraw
valid data key it can still take one or two or a few additional hours um next up I want to show how you can modify so if you want to have a little bit more complicated setup or want to play around with it um you can a uh first go into the locks it's a double click here or you go just go we just go here on open blocks can choose one uh you can copy the single lines you can export the logs uh uh we show the last 150 lines if you're searching for something specific you can also use the search box here and you can switch through all the clients you have installed uh all the services you have
installed on not okay uh next up I want to show you the settings itself second can go into the settings here uh if you we we have a little link for the service talks so if you're a little laser you can click here as well uh but probably more interesting is the expert mode uh in here basically all the configs are handled how the clients are connected with each other uh what settings they use for themselves so here for example girly you can change something in here so if you want to for example build a not setup that use external nodes so with as I said
fallback for execution consensus client uh you could Bas basically specify them up here here okay um next up uh this one is a normal taking note let's say you want to install MEF poost you have it long enough running and you're now interested in running MEF poost as well uh you can simply go into edit note here you go on the right side you will see in here all the clients you can as I said this is also the custom installation option so basically you drag and drop whatever you want out of here uh I'm going to search for me boost it's this one it's going to drag in here uh I can
pick the available block uh block block uh block relays here I can connect it to the consensus C here please make sure that this is green uh just add here and then confirm it it's a lot of steps but it's necessary because if you play around around too much with it or you could break something pretty easily otherwise um no M boost is installed I can go in here as well choose the uh block relays we have like little America flag if you want to know what's compliant or not um with meth boost I give also give the tip just pick as many trusted relays as you can it doesn't matter if you choose all of them it's always going to uh pick you the
best block one of these relays produces this means if you pick all of them it just takes the best block all of them produce if you only pick two it only takes into consideration the two relays basically picked okay uh next up you still have uh options here you can restart you can start stop you can resync if something breaks um it it's going to break uh sometimes if you have a powerage your blockchain database is corrupted um if if the uh could happen then you just go in here can just resync basically deletes the old database and starts
sinking again okay um last but not least um maybe just going to show you so you can see you can also open grafana so if you have a favorite staking dashboard whatever it is you can import it as well it's going to probably take a little bit um so uh that's basically it uh you just have to wait as soon as you basically have the installation done you just have to wait you can import the validat client before the chain is completely synced actually mean meaning
as soon as the synchronization picks up you basically started testing um so I just want to talk about some uh small stuff now if this [Music] works uh uh some small TOs and Tes um as I said already uh the most important stuff is please please don't try to over engineer this it's not necessary if you have down time even if you have down time uh you make back in around the same time you were down this means let's say you down for 8 hours you will have it back in 8 hours just uh the the chance
that you up um whenever you uh try to move the keys to much or there could be a validate the client Park that doesn't show that the keys are still install uh imported or anything else this could really ruin you slashing is really the highest risk you have you will lose uh as soon as this happens it's like basically pretty instant uh you you lose one e and your chain uh your key gets kicked out of the of the out of the blockchain um yeah um last but not least I want to talk a little bit what's next so you have seen what we currently have uh we want to do some uh General polishment and improvements there's
still a lot left to do especially when it comes to the eye the back end is pretty tested we developed this for three years the UI itself is basically the new part with 2.0 um we also have uh we also want to improve the better handling of multinode setups meaning if you have if you have the machine to run etherum node and the agnosis node at the same time we want to enable you doing that uh also integrate more use case for example L2 nodes come to mind here um and other staking protocols as well as work on the mobile app itself um I want to talk maybe how you can get involved if you're interested in this uh we have like open source GitHub
you can contribute as I think most of you are um comfortable with um as well which is a little bit simply different uh we're also currently searching for translators so if you speak a language that isn't English um please reach out to us you can earn a 100 die we hope to reward this it's pretty simple we crow in for this like eum is just an hour of work one and a half hour of work so uh if you if you don't mind and want to help us out please reach out to us um you can uh the the left one should be stereum itself the right one is uh company it's rock
logic and um yeah um I want to for the last five okay okay uh just want to open some questions if anyone wants to ask anything um I would like pass it over to basa have to drink something sweaty um so if anyone wants to please raise your hand uh this generated uh you generated yourself we want to include an option to for you to generate an sshp in there but Cur you just have to generate and put it on your server yourself as I said you can also use the password it's uh
whatever you are most comfortable with someone else huh say okay uh what is the stake for test NS is it the same as M uh basically so um if you use the gly test it's basically the same as for menet um the uh test net leads a little bit less
resources than main that you should keep that in mind but it's not that huge of a difference also if you want to try out staking you have to do it on girl because is a permission validate the set so you can't you can only use it for develop a DF development but cly you can just try it out um as I said it's a little bit the problem with the supply of the girly e right now because you can't get them that easily uh but that's basically already solved because because uh I think with 15 of September if I'm not mistaken um we will have another eum test net it's called hinski and uh if you want to try it out then um please just join the Discord I'm pretty sure we
have some Eve to like just give out to try someone else yeah just how things can go wrong I'm U I'm not okay what can go wrong is so given that you don't try to play around too much okay let's say you're really a newbie and you just set it and forget it um actually what happens the most so as soon as you set it up it just runs okay um the biggest problem you probably run into is either there's a client update that changes maybe the CPU resources that happened already okay and suddenly like some people are left behind can happen if you go too low the resources also the most common problem
is actually that you run out of storage the um if your main net grows around 30 GB per week around so if you don't have if you just set it and forget it and suddenly doesn't work anymore uh you will probably see it um on the control page anyway have it opened uh as you can see here you also have like you also have here the 3 GB it's like it's just a tested mode so they don't have to have two terabyte for it because the setup itself the itself are really small it's just the blockchain data that uses the storage and that's the most common thing also um if you use something like avvs or something like that uh what they tend
to do especially with virtual CPU cores is to underprovision them so we had this a few times with RVs users uh they said yeah have eight cores but they they're not enough basically so this is most common stuff if this happens to you for example let's say you have an outage and your blockchain uh blockchain database is corrupt just set it up no there it doesn't take this long you would be surprised especially with checkpoint sync you basically cut uh cut off like two weeks sinking it's and Ne mind which I use uh it has it in a few hours four five hours and it actually scales with your resources meaning the better your
resources the faster dat is going to see but if any of this happens am I getting slashed no no no no no you can only get slashed if you import uh the same valid dat key on two different validator clients okay meaning if I for example I have this key now in here here this key one in here if I now set up another note okay on another server and import this I get slashed and other than that it's just offline PES that's all that can happen to you and you make them back in around the the same time so down for 8 hours you let it run for 8 hours and this is without block fees so if you are lucky and get a
block in the time you have it back way sooner someone else okay uh then thank you everyone uh I hope you have a wonderful stay in Barcelona if anyone has like specific questions maybe wants to set up a specific note now we will be outside probably going to get the smoke so it's fine uh wish you all a nice time and thank you very [Applause] much