2 of 2 Getting started on the Kintsugi Merge Testnet for the Ethereum Beacon Chain

EthStaker Special Events · November 2020 · 31:38

The second half of this EthStaker workshop continues getting node operators started on the Kintsugi merge testnet for Ethereum's beacon chain, building on the initial client setup. The session connects the walkthrough to the broader network upgrades work ahead of Ethereum's transition to proof-of-stake.

Speakers

Topics

From EthStaker Special Events, hosted by Eth Staker.

Transcript

hey everyone uh super fizz back here with my friends remy roy and colfax hey guys hi there so a couple days ago was it two days ago i think it was two days yeah okay we remy and i and colfax popped in for a while we recorded a uh walkthrough of kitsuki setup um all the way up to uh adding metamask and getting coins from the faucet but what we didn't do was launch a validator and in the time since then we've had time to poke around with it um i set up my own validator on the system we were using then and remy uh went a step further and documented the instructions very clearly how to set up

a validator on kensugi so what i did was i just went ahead and set up a new box i'm funny a lot of people use virtual machines and virtual machines are fine i think i'm actually running this in a virtual machine uh running my desktop on a virtual machine but i like running uh this stuff on hardware so it's actually running on a nook on the other side of my office um i have a little like intel nook farm um how many how many of of uh those nugs do you have and four i love them so i i've actually been meaning to talk about this more but like virtualization is fine but sometimes i just want to run something on hardware

and and like it's i don't know it's just who i am so anytime i run a test that i generally run it on live hardware and then i like tend to leave it for a couple months until i have to repurpose the hardware that's the least i have the same i'm up to three nuts on my farm over here so yeah you can't have too many like they're just a valuable piece of kit right um okay so that tells you where we are i just went ahead and again on this account um added so what i found out if you go to um if you go to kitsugi.merge.dev you can just click add network to metamask and it will i've already done

it so let me do it again it will just automatically add that it's much easier than the instructions then i went to the testnet faucet faucet.configure.merge.dev i requested some test netiz and now i have 50 in there on this system from the last video we did we have guest running as a service and lighthouse running as a service and they are running it's a completely new test net for kidsugi so many people will be familiar with historical test nets where we maybe use girly eth and uh we have test that's called things like prater and piermonts and even before that things like madasha

but kitsugi is a merged test that is brand new uh the chain starts from zero so it for this test net we're not using any of the old chain stuff it's all uh brand new kitsugi chain stuff um and i heard kansuki is supposed to run until february did anybody hear that um i don't have any specific on this yeah so there's actually um uh these cat herders did a podcast with uh peritosh and marius today i think and they're supposed to be a lot of great information that's where we found out that um bellatrix is going to be the name

for the the hard fork that brings the merch i haven't actually heard it i just saw some notes about it but i plan to listen to that when i exercise today so i'm rambling you want to go back to the guide and then um let's do it let it so i want to point out this is remy roy's east staker guide and if you look we're about halfway through because in the last video we did all of this setup and so now we are we've already installed uh kensuki on metamask and we already have testnet tokens and so we're here adding a validator and i'm going to let you talk while i copy paste all right so the first two

new tools that we're going to be installing are f2 vol tools and each roll or ethereal and then um so installing those is quite simple if you already have go installed which you should uh if you followed the instructions that were already provided um installing this second tool here um ichi reel um can take a while so uh maybe we'll have to fill up the time here but um yeah i'd like to point out these two people um proto-lambda who we know is proto uh has been wildly valuable in kind of being like a swiss army knife

jack of all trades kind of guy for solving every problem in the world related to ethereum or eth dev so um thank you to him and also this is wiltek um and are we all tech i'm not sure how to pronounce it but i know him as jgm or jim mcdonald he uh develops ethereal ethereal and also the east do tool for key management uh he is probably like the preeminent knowledgeable person about key management um in ethereum so just really really uh superstar guys and it's it's exciting to use their tools yeah props to jim um he's been he's been in in this for quite a while i

remember reading a bunch of his post like uh from like two years ago almost yeah they're just super guys and i i don't i know proto mostly through buddha but i've talked with jim quite a bit more and they're just really you know i i go on the social layer almost as much as the technical layer but i enjoy both of their their social contributions and obviously their tech is a superstar so thanks to them so we're running dependencies yeah so like i said this tool takes a little while to install so we'll just have to wait here so the go net do you know what pnp is i have no clue me either

so obviously it's some kind of networking tool um no idea what it does but i'm not even sure at this step it's like compiling anything or like i don't know exactly what it's doing so it's worth pointing out we are running this stack on uh geth and lighthouse we do always talk about client diversity and i think it would be great to see other people maybe even us create more of these videos that include uh less dominant stacks it's just a great way to get your feet wet and you'll notice uh i don't know if you have us adding graffiti i haven't

looked down here but if you watch the uh chain let's see the explorer you'll see that um that the validators use graffiti sorry what i'm doing here i just want a validator i'm clicking around blind uh what i want is the the list of last blocks um let me try to help you there oh maybe it's here and if i really what i want to see is graffiti what you'll see if i ever figure out

where i'm going this is easy on my own if you click on on you got it well it should be here if you click on the top menu uh there should be like uh blocks right and then maybe maybe it's because you're too narrow there we go okay yeah sorry uh it took me forever to get there you'll see that the block proposer combination is is here in the graffiti and so uh obscure combinations are very valuable because what the developers are going to be looking for um is some kind of fault or some kind of issue and they're going to say aha every time we have a proposer a block proposal from x

and y something goes wrong and that gives them the opportunity to work backwards and so if we're looking at four eth2 clients three e1 clients we talked about this the other day there are 12 possible combinations for block proposals and what we want to do is just give all of them a test yeah and i believe those gravity those gravity uh are created by the the main guys behind the kinsuki testnet um like i guess they are running a bunch of validators to see if it works

i want to see if my other well there are 70 000 validators right now so the likelihood of proposing a block pretty early is low i have not yet proposed a block uh but when it does mine will say lighthouse geth super fizz another interesting thing is it might be wise to stick with uh this generic naming scheme because this is not a place where we're having fun this is a place where we're documenting use we're documenting use of the clients and what what someone's gonna do is scrape all of this and then group by each of these combinations and

even for me it's fun to like add my own graffiti in but it's probably more appropriate to just stick with the default something fun to add since i was not at my machine last time we met i actually haven't set up from the beginning yet so while you guys are doing this validator setup i'm going to independently follow remy's guide from the start and see if i can catch up to you guys by the end we'll see maybe definitely yeah we squeeze this into two hours but you can really do it in about 15 minutes we'll see maybe you can i don't know about me yeah well i mean remy's copy paste is just it's awesome uh after going through it

the first time last time uh this morning i zipped through it uh in in no time the longest thing uh it took white house a minute to build but that was it yeah nice and i tried to write those instructions to be as reliable as possible there's a few pitfalls but i try to avoid them as much as i can [Music] that's awesome yeah it looks really great so excited to be first hand i would really like to and maybe you would prefer that i do a pull request to put these videos at as a link at the top for people who walk into it i think it's believe i added your uh the initial video at the top oh okay sorry yes great thanks i see it there now actually ah beautiful oh great all right

perfect thank you wow it's yeah we're still going yep uh i'm gonna go ahead and pause this so we're not uh burning time all right it is like two hours later i don't know there's a clock up there it actually took a lot longer than i expected um but we got ethereal uh down and installed uh and so am i gonna do what i always do and test that oh i have to export the path first

anyway you want to check out the versions installed yep serial 2.6 and i guess everything just uses uh the syntax now yeah i don't think yeah there's even a version prompt for the it just it is what it is you got it it exists we got an error so we're good um and so now we're going to generate

two mnemonics and these are exactly the same aren't they yep and i'm gonna do the same thing again and then i'm gonna copy all that echo is actually part of my mnemonic it is how confusing is that all right um so i've got that done let's see we need the metamask yep the next part is going to get your metamask wallet address and your

private key so that is the private key part of it i don't know if you've copied your address as well so that part is pretty easy and obviously um i have to say this every time we show any private key or an ac phrase do not ever ever ever share this information with anyone under any circumstance the only thing you might share is your wallet address giving anyone this information will give complete control over everything that you're doing if you're this far you already know that but i still feel compelled to say it

yep and we're on a test network so we're just testing stuff out yeah um but never share those values and so really what someone could do now um and i don't encourage you to do it i don't care if you do it or not this is just for fun uh you could actually take my validator index i'm sorry my c phrase and you could use that in a validator and you could potentially cause me to be slashed which it's a test net do it for fun i don't care but uh it would just be interesting sorry i'm clicking around here all right so we've done all of this stuff yep great here we are and we're going to create secrets

so we'll be using this file to store all the values we need to do the deposit the keystore generation and the um the actual deposit transaction if you're new to um to linux number one if you're doing this and you're new and you're not doing it remotely you should install the ubuntu desktop version and work from there um these aren't things that you're ever going to want to type in manually when you do nano secrets you can do control shift v to paste and then control x and y to save so we need to modify that yes we need to fill out four fields which are uh described below

so the first one we have to fill out is the the two mnemonic which um are going to be validators mnemonic and withdrawal of mnemonic gotta make sure to keep those double quotes before and after your value which i believe is fine there and then the other field we need to fill out is f1 from address which is going to be your wallet address that starts with ox 0x right and then the other field is f1 priv from priv which is the

private key and you will have to add the 0x value in front of it that is super easy to forget in these um and you'll bang your head because it'll give you like invalid private key errors and you're like oh it's there um but yeah all right is that it and that's pretty much it okay so we added four fields validators mnemonic withdrawals mnemonic um eth1 from address and each one from once you're done you save your file and then the next step will be to create a script that does everything for you using those values and that was control x and y by the way and i think people

who were this far already know that but again i i just wanna uh this oh could you even put it in there beautiful yep so we're going to create devnet deposits and i wonder what happens yeah that should work good yeah gorgeous uh and this does not need to be modified does it it's already set right it's it's all set yeah so you save it you make it executable and then you run it so you will be prompt to

answer this question just type yes oh it's crazy oh whoa it's doing the deposit for you yep it does the deposit it creates the deposit okay data file and it and it creates your key store i uh i did a janky style and i ended up like paste create you know copying together my own my own deposit json and but i worked it out but this is great yep it does it pretty much all for you and so in the response you got to that um execution you also could see your uh validator public key yes i'm curious do we know i'm curious where that's stored right

now so the deposit data is stored in in slash temp tmp but your key store files are stored in in assigned data so it's a file that should be called yeah so that's the directory where you'll have your keystore data awesome in slash temp you'll get a file that's called i believe it's called deposit data dot something but text gorgeous um all right and so

from here we have a validator key and i know this won't work but we can take it to the explorer yep and paste it in and it will say nothing that it doesn't exist because it doesn't exist yet that's correct another thing i can check is the each one transaction yep which i there should be a link in the guide that will uh oh i'm sorry did i did i get ahead of you because you probably have this all planned out great i'm sorry thank you so yeah if you click on that transaction explorer link you'll be directed to the contract the contract on the

kinsuki testnet and then you could see that like two minutes ago that should be your transaction there let's see if that matches up with that's 23a yeah there we go great how cool uh if we click in the right place we should also be able to get the validator index from that right um i don't think or not yet because it doesn't have the validator index yeah it just shows deposit my apologies the next step would be to configure your uh i was like we're done lighthouse validator client it would be a bad idea to stop right now

i mean you would have a deposit but no validator client so that's that's what we should talk about like uh right now we've installed lighthouse as the consensus layer client we used to call it eth2 and we've installed gas as the execution layer client which we used to call each one and we got uh kensugi eth from the faucet and we generated um validator keys and we made a deposit for that validator but what we don't have yet is uh an actual validator client running we have the beacon node running but we don't have a validator client to um basically be the bridge between the keys and the beacon chain uh so that's what we're going to do next is i'm like

oh we've already done that right it's good because i it's fresh on my head so we're gonna do that so the first few steps are pretty standards um creating a new user creating a directory to hold those data for the service the value decline service and then setting up the permissions now this part you'll find out um about your keystore password right so when we created the keystore um there's um a password that was created for you will need that password uh when doing the import

and i'm grabbing the public key that was just created right and so if you don't remember where that is it came it was it was up in one of the earlier steps the validator key but remember it begins with ox and you can also find out when you do listing in that secrets directory and so that's your password for the keystore what did we just do pardon me what i don't i'm not i'm not i don't know what we just did we just read oh we just read okay so we could have gone to that file

okay and we could have read that it's probably root oh yeah okay we so yeah we just you just did it a different way i i yeah this is this is new to me uh so we're taking note of the keystore password so i want to write that down that's some kind of hash is it not i guess it's some kind of random password i mean it was generated there's something i don't know anyway matter did yours end at an equal sign that's all i wanted yes mine also ended in an equal sign maybe it's some kind of um base 64 encoded yeah that's what i was so the next step would be to import the

key store um for the validator client right so lighthouse as this command to import your keystore and in that step it's important to enter the correct password which we just got and so when you'll enter it it won't show up but if you enter the correct password it will show the prompt password is correct and that is that is one of the most difficult things for someone who is new when something doesn't echo to the screen yeah and they're like it's not like uh when you enter a ssh password they're like it's not it's not accepting it and i'm like yeah just type in and press enter they're like no it's not accepting it

yeah so and that's i guess why the video becomes helpful because you realize it's not being echoed i have had that conversation with a lot of people who are like it's not taking my password yes it is and so we're almost done with installing the validator client all we have to do left is create the service for it uh this is actually a good place to do uh graffiti yes you if you want to have a custom graffiti there you could um include it in those um

flags so you want to to have yours to be like lighthouse plus yeah and then superfiz or something i'm going to double quote that to be safe i think that's yeah it needs to be double quoted um because i so to be honest because i'm doing this publicly um and it doesn't hurt to have a slash test on this network um i'm gonna welcome being slash it's gonna happen if no one does it i'll make sure to slash you thank you that's not

okay so yeah i just want to confirm i copied and pasted uh remy's notes and i just added in a graffiti here but it's i have a syntax error oh you need to yeah new lines happening with a backslash that tells yeah the system that this command isn't done yet uh and so good thing i checked it um it's it's fine i do encourage other people to uh go ahead and insert your graffiti just make sure that you get a backslash in there um all right so those remaining commands are common we use them previously but they are simply to refresh the

services definition and then start the service and check out to make sure that it's running properly it is running and we're going to enable it now enabling just means when you reboot the machine you want the system service to start up i love your czce or cc ze by the way it's a tool i recently um started using i didn't know um a few days ago about it oh really okay good because it's brand new to me you just taught me about it yeah um so it looks like we're going uh the chains are already synced um the reason that we are awaiting activation is

because we just made the deposit and we did verify that that deposit went through we do have a public key that we checked um and it says it's not available yet which is understandable sorry i'm clicking tabs click everything um let me go ahead and try that one more time i believe the beacon node fork that the kinsuki guys are using um the beacon chain fork the beacon chain explorer that they're using like it doesn't show depending validators right and so you might need to wait um a little before you can find out your validator from the public key there

but this is what you would do um that's a block search you would when you're a few clicks um the search thing on top um it's funny like as much as i use beacon chain that i knew what i was doing but apparently i don't um and so this is not gonna do anything for us right now it's just gonna be directions um your validator will show up here and then a few hours after that it will actually be active and i can actually can you see the activation i haven't seen the activation queue uh this is the valid air that i set up yesterday um and it's running okay

uh i you should not panic if you have if you miss attestations or if you have low participation it's because as a test net there's nothing at stake so it's no big deal for people to turn their note off to even create keys and lose them now we don't want anyone to do that we want people to take this seriously but some people maybe get halfway in the process and get stuck or maybe they're you know they're using a virtual machine that they end up shutting down just don't worry if you see that you're not getting perfect asset attestations like you might on mainnet all right

and that's pretty much it um if you go back to the guide i think we were at the end of the of the guide so if you want to keep helping people uh there's a bunch of tasks that you could try and do and if you click on that program structure link you'll see that the kinsuki guys have a lot of things that you can try and do and give feedbacks for yeah i love i love your guide thank you for making it so concise because my goal is always to convey information to our community in a way that like ninety

percent of people can figure it out and i know that some people are going to have trouble getting started with linux or some people are gonna have trouble with the command line but i do feel like ninety percent of people could watch this video and copy and paste those instructions and get through it so um thank you for writing this so clearly yeah i'm glad we can help people and we really love you anyone can fork um remy's guide and switch out different clients like give us a uh basu nimbus or something um that would be really helpful and we'll even go through if you want to join us make a video we'll do it by ourselves um just because it's really important that people get number one people get comfortable using different

clients and number two that we test everything not just being run by the implementation teams but being run by the community as well absolutely all right guys i'm gonna shut this off thanks again for your time thanks of course i don't know how to use this there we go