Launch your own decentralized LSD staking pool powered by DVT / MarkoInEther
Prague DeFi Summit 2023 · June 2023 · 1:32:29
MarkoInEther leads a hands-on workshop at Prague DeFi Summit 2023 on building and running a decentralized liquid staking (LSD) pool on the Goerli testnet using distributed validator technology (DVT). Participants learn how Ethereum staking and DVT work, deploy the staking pool smart contracts and backend, deposit into the pool, create a validator key, split it into keyshares and run it on a DVT network.
Speakers
Topics
From Prague DeFi Summit 2023, hosted by Prague DeFi Summit 2023.
Transcript
hey everyone I'm Marco I'm with SSV Dao and today I'll be walking you through how to launch your own LSD and uh hopefully uh I just want to ask at the beginning who has the PC who wants to build their own LSD and launcher their decentralized validators who's doing that two three four five maybe okay um so I'll start with a short presentation on uh basically how how we do this uh how we make it possible for anyone not
just to launch the smart contracts but actually run their validators using SSV Network on the back end and I'll talk about it right now why why it is a big problem and how do we solve it so I'll do that first and then uh the the ones of you who would like to build your own and launch it on girly uh yeah we'll we'll do that after perfect okay so everything works so let's go through it uh as I've said this Workshop the the ones that will be
following following along uh I will show you and you will run basically uh uh an LSD pool on girly with a fully functioning distributed validator uh and yes this is what you will get out of it I'll I'll explain how the ethereum staking works if it's not clear and how SSV goes into the picture um well deploy is taking for smart contracts uh will deploy or we will run the back end and we'll show the whole process work from from the person just depositing some eth uh and showing how the valuation gets created how it gets
deposited to SSV Network basically will will have fully functioning LSD pool something like Lido or apple you're familiar with okay so I'll Pro with this Workshop let's talk about incentives I'll provide you with some girly ease uh they are they are hard to come by these days so uh yep that's all we'll do and yeah I think talked about all of these points and uh I have a little bonus for you that I requested from the Dao uh the the per the the people participating and
actually finishing this uh we'll have a good chance to you know uh get a get a 25 SSV which is around 500 USD right now nobody knows what it will be in the future to you know get a good Prague or something so yeah that's something to to get you started and and give you some additional incentive here uh so who here does know how SSV Works raise your hands perfect uh who who here is running their own validator good who knows okay uh who else doesn't run anything
but knows how ethereum validation works okay so almost everyone okay good so I uh I'll not go into the details uh but it's good before we start building to understand the the big picture because there are there will be more parts as we go uh so basically the the most basic things what happens with LSD pool that we will be building is that the first step is user deposits and he's maintained some LSD right uh and what happens in the back end uh we see it here uh in the back end the user deposits in the pool but then the backend the pool operator needs to actually take the ease in the pool and
stick it somehow so and part problem we are solving with SSV and you'll be solving this Workshop is how to ensure operator good good behavior and run this uh eth run around the staking in the safe manner um the the current major solution is what Lido is doing they're using small set of operators but they have a good relationship when they trust them uh with with the if they delegate them rocket pool requires collateral uh and the secret LED cells we are using is a dvt-based network which uses trustless operator set but basically every validator is run in a in
a special cluster so it's very hard for uh for the the participants to collude in any way I will not go into I have a special presentation for that but I'll not go to details that uh of that right now for the purposes of this Workshop it will be basically using uh SSV for the back end but one thing to get just quick 101 about DVT Tech uh basically the one the ones of you who are who know how to run a validator but are not familiar with the basically what what you're doing you are taking one validator key and splitting it into several key shares and that's relevant for this Workshop
because you will be picking basically four operators to which you will allocate these four key shares so that's that okay so the the ones uh so who is who's building who has a PC I see one maybe two okay yeah I'm curious if there are Builders builders for this anyway uh I'll run through it for those of you who are building you can go directly to the link uh and
yeah that's that this is basically a a short or not a short but basically some kind of a schema how SSB works it is not very relevant right now right now I'll be starting with the basically I will be doing the deployment myself and uh you can follow with me so let's go I'll give you a minute to set up your PC everything I'll have a coffee
foreign is there anything unclear any questions at the beginning let me put the the link here while we are waiting okay maybe I'll give some people uh uh
I'll give you a motivation and show you how the the final I mean it's not really final but how the how something what you allowance look like this is a staking pool that I uh launched with the repo yesterday and as you can see you can launch the front end I'll hopefully hopefully I'll get the the internet working the internet here is not amazing uh where is my phone I'll share yes
yes I know the wife have password is um let me write it it's parallel Napolis let me write it into the presentation I think that that will be the easiest we so Wi-Fi is parallel police I'm not sure if the spelling is correct and the password is uh like this if someone has a problem I don't have much data but ideally if you have used
data if you don't have data and the Wi-Fi doesn't work for you I'll provide you with my uh with my hotspot I would okay just just jump at me uh call to me if you need a if you need a hotspot if if this one doesn't work for you because the Wi-Fi doesn't work much for me uh it's super slow okay so do you guys have internet running so so you need uh I'll give you need a hotspot
yeah uh let me actually let me change the the password of my Hotspot to to this one to make it oh okay so I'm sharing the the hotspot right now uh the password is the same the name of the hotspot is m dot s20 dot PP let me know when it works for you
uh please don't stream much porn right now I don't have much data here Let's uh so uh what we will uh get to do I think it will take us around half an hour if there are no uh big hiccups but it should work now and so basically we'll get to uh a staking pool which is fully working where you can stake you can unstake you see the the pull amount the pool under management and you will also be running a backhand which will be checking uh if
the pool has enough funds to deposit a validator and then it will basically just deposit and run the valiator uh we'll also do uh verify all the contracts launch them to etherscan and yeah and basically this is this is a validator I've launched yesterday we can we can check it it should be live anyway what you can start doing uh everyone open the initial setup will uh do this readme if you are a
domain uh when you go to the main folder this readme smart contracts and front end MD open this one it's quite straightforward and you can you can start right away you don't have to wait for me I'm just showing uh some preliminary stuff how it will look okay so this is a validator that I launched yesterday with my pool there seemed to be some problem with it it's not always perfect on girly but but you see like this the later that I launched with the back end yesterday uh it's life and and uh I am not I'm running it with SSV Network so this is
an uh necessary Network Explorer and we'll basically we should find it here I'm not sure if I maybe I should not put all X okay yeah I see the validator here okay so you you see here the live evaluator that I launched yesterday this is this is something where we're get to today and for those who want to uh get a beer in Prague or something as you see this is a very uh Bare Bones so you can play with the front end there are various things that need to be done with the back end etc etc so should I make it larger
everybody has an internet running correct yes what steps are we at okay I'm going to do the lounge let's let's do it let's not wait any longer oh yeah uh so yeah yeah please clone the repo that's that's the first thing uh yeah it's not here actually it is it says git clone here installation as you see okay so uh let's do it like this there are more parts to this there are there is
front end there is a backhand and there are smart contracts so let's do front end with smart contracts and then we'll do backend uh so clone the repo please uh follow the tutorial so you will do CD front end yarn install uh open it actually in this other here you can get if you if you are quick and do do a quick photo you can get some girly ease from this private key that I'm showing here uh but let me open the this here
I think we can have it like this yes okay so I'll have it side by side uh I'll open the console as well uh is there someone using uh windows windows windows are using uh WS are using wlsl okay it's no problem are using Ubuntu do you have WSL like a subsystem for Linux use that ideally for the front and is not an issue some of the scripts you would have to do manually what what is being done automatically so uh I've obviously cloned the repo uh
then do this do go go to front end the front-end folder is uh where the where the front end lifts it's a mono repo and there is everything in one so right now we'll go through the the front and folder so oh uh I've already installed everything it's it's working but it's like extremely slow so I'm using my moon it's like I couldn't load a website oh actually I have a
okay I'm gonna a lot of you have this done uh so for those of you if you have the the front end running on localhost that's the first step then you can huh you guys is this uh I want to make it work first with this and and we'll launch and deploy to girl if when when this works basically if it doesn't work on localhost anyway so I'm running the front end I'm opening new terminal uh you can edit the front end but let's
uh let's deploy the contracts first yes the idea here is first we deployed locally if the local deployment is cool uh send me uh actually I I are in the telegram group I created a telegram group I'll shall share a link and send me your girly your address there to give you some girl eth for the so you have East for girly deployment oh at this step uh you can just follow the tutorial and deploy the contracts so you can do yarn Fork I will do this in the this the second uh
repo who is running on Windows and needs some help perhaps ideally just follow the tutorial the fronten one and tell me when you run into an issue I think that's that's going to be easiest because everyone has everyone has a different issue so once again yeah yeah just good one you can register and you'll get one for free oh do you need it to go into
okay okay okay sure perfect yes uh I'm going there yes basically this is the command it's calling uh you can you can call it directly from the hard hat packages folder but show me also running in uh around this in a different terminal from where you're
running front ending not to interfere with it sure perfect yeah so go go for the front end yeah and what happens if you were yes uh it will account for a girly Network please go to okay yeah yeah I see I see I see what's that uh there is a problem in Hardware configuration go to the uh CD uh
packages packages hard head just go yeah go there open it alas uh there is a hardware config and there is a problem with the not localhost but go to girly I think you need to add the girly deployer private key in your EnV file it should be uh yes either you'd direct like paste it there or uh
are you running the uh you're not running the chain let me see what's that oh yeah you see what is the issue no no no no no no no that's not not a not an issue or just try to comment this out the let me try to okay so there is a a problem with the with some configuration account zero for girly expected string received undefined uh so if you are running a fork of this if this will be a
problem we'll just do it directly on girly but let me let me uh I think it will be easy to solve but let me check uh so Networks
okay uh let me just call command this out and see if that solves the problem oh yeah I I think let me see if it is works I commented out the girly Network
and uh just running the yard Fork also as you see here this should be enough to just give it a fork URL and you don't in this case you should not need to specify the network let's see if it works yes it should get installed when you do uh yes when you install front end okay so uh just comment out the girly network from the hard head Json it solves the problem uh
okay so for those uh running yarn Fork uh there is a problem uh with this uh uh counts object either with this or with girly URL yeah you can there are more things how you can solve it uh you need to put the keys into your EnV file girly inferior key and uh deploy a private key but right now well you can just to make it quick you can just comment out the girly Network completely are you do you have the right config
it's in packages it's not this it's packages hard hat so the the hard hat config where I'm at you find in front end slash packages slash hard hat uh this is a quick fix uh I'll do like a proper fix as well uh yes ideally what you do you will need it for the next step to uh go to your uh EnV file or create an EnV file in the
you have an example.emv in your hard hat folder okay so uh you got it running just comment it out for now uh you need a a deployer key just comment this out yeah just this one the the girly Network the whole girly Network just just commented out yeah and just run yarn oh you have it
oh perfect so we made it work this is a local network it's it's running you should see you should see the the keys printed out on the on the network that means you have a fork of girly running or uh document out the whole whole girly network uh yeah what you want to do I also show you need to put you need to find and put your keys into the EnV file in her in the hardware folder so you are in the packages hard hat uh the the config.js the problem is it's looking for the deployer private
key and inferior key okay so you need to get these keys uh an easy way how to get a deployer key what uh everybody what you can do like it's it's a quick and dirty way there is a uh there is also a function for that in the uh like you can create a Contracting hard hat whatever but you need this private key also in uh you will need it also in Firefox uh Firefox what's the name in metamask so what do you do here
if you if you need a new private key that you will use for the deployment you will need this later on so I can go to my metamask just do create account it will give me new account and I will Expose and I will just copy and paste the the private key Account Details here export private key typing password okay
so here you can get a a private key that you will need later on and also a public key okay so these are like two things you want to have for the girly deployment you don't need it right now but you will need it later on so here we need girly deployer private kit is what I just got and uh girly inferior key uh you can just go to to the furrow web if you don't have a key and get get one key there and here in the uh hard hat folder you have example EnV and just
copy it and change it to dot EnV what we need here uh we need these two things for the Gurley deployment Gurley inferior private key girl infirorki and Gurley the player private key I've just got the deployer from my metamask and I will find you this this address later on and inferior key just go to the website of infuria and get the key uh I have
inferior blah blah blah this is my inferior key so you need to have something like this in your own EnV file for for for the hard hat okay let's go to the next step uh who is running the the forked the the chain locally with no problem one two three okay perfect yeah on the complier and I don't know why it does but it wants to compare all the contracts before you launched yeah um yeah what
share your public key not private key if you are hearing something this is not too sure yes yes you I want you don't want to export private keys I mean or I like Senator but it doesn't matter yeah yeah send me the the public key in the group perfect so the the fork running oh how is it no trial or
in what what do I see the Clone also okay let's move on CE again yeah okay
yeah it doesn't matter you can put whatever okay yeah and also this is the address but only the last part and be careful that it is Lena it doesn't matter like your key thing should be the same for Networks okay I'll go to the next step not right now right now it's not necessary have you deployed the contracts so uh for those
who are following this uh we have a front and running we have a local blockchain and we are deploying the contracts now uh so go to front end again and do yarn deploy okay who has deployed the contracts locally uh perfect so now uh let me show you some stuff about the front end how you can edit the front end uh your where's my Local Host let's okay so uh here in the front end you are connected idly or localhost how
to change this you have the mjsx file just do like Ctrl p in your uh in your vs code and go to app.jsx file yes yes we are uh still in the front-end folder there is a different deployment you can use using brownie as well uh but not to over complicate things we are doing it still from here uh here in this app jsx file this is like the the main starting file for the front end and uh you need to have here the on the line 56 networks.localhost
and you should see when you deploy it you should see here your contracts that you have deployed you should see them here and be able to interact with them I have here girly uh I'm not sure why let me save this and refresh maybe there's a this should be localhost Maybe let me see reusing staking pools taking will deployed at this address ox3a okay here I see that the mind is not connecting
to local holes but it's trying to connect to girly sometimes this happens for me uh oh okay sorry I have actually I have uh two repos opened this is a different repo okay so this is the correct repo that I'm running front and then I'm usually running front end from a different repo than backhand because I'm using Windows uh uh okay so once again fjsx and you should be connected here to uh uh you need this you need to be networks at localhost
I'll save this uh the the front end should get should change the automatically now you see it right you have a local host and you should see your deployed contracts here okay uh who is at this step everything deployed everything working locally yeah uh you can just like uh okay we'll be going to running a backup soon uh if you guys won't uh go take a coffee if you are at this step uh also make sure your deployer address send it send it to the telegram group is there something not in the telegram group for
this okay I'll I'll share the um how to share this I can put it on screen the telegram group or dear QR code yeah yeah I'll do that or you can go to my Twitter I'm Mar at Marco in ether and I share the telegram group there uh
EO probably it's SSV uh not Community meter but LSD Workshop let me let me share it okay anyone uh you can find it uh on my Twitter that may be the easiest uh if you just open I have a pin post this D5 workshop and there is a link to the telegram group here here is a link to the telegram group but I can also record
I can enlarge this I can also share the the QR code directly just go to my profile that is easiest uh go to my profile mark on ether first post which is pinned and the link is there uh the link is here 's the link to the telegram group and send me your Public public girly address there uh once you have that let's let's have a actually we don't have much time for a quick break so let's let's finish it up and have like a girly deployment
yes Marco with K in ether I'm also putting it here and uh doing the QR code I'm also doing the QR code for you now uh you see the post click on it and and in the reaction I also have it here okay so send me the addresses I'll send you send you girl please Linux nobody needs help
everybody is is running the has anyone everyone sent me the address just send me send me the results I'll be sending the the east uh we can be also running the back end in the meanwhile back end is the magic part that you actually like deploy everything um
you did find it Marco with K in ether yeah here okay okay so let's do the let's do the girly deployment uh I need everyone's addresses is there someone who is still trying to send me the address so I can send out these uh click on the post on the paintball
yes uh scroll down there yeah okay is everyone in the group and see the link uh send me their public address okay I have two addresses here okay three addresses uh is there some
someone else who wants to do the deployment I have three addresses so far who is still trying to okay water trying to I'm trying to copy who needs help because it's like I cannot just copy it why not you don't have telegram on your
PC yeah you can like uh okay oh yeah or see me on Twitter send it to me on Twitter it's also okay someone else also having problems the media press perfect ly foreign
let's wrap it up let's have some nice deployments I have three addresses so far oh four so here we go no you don't need to stop anything no it's all right no no like you can stop it but nothing happens if you don't
we will need to restart from them uh you will just I'll show you you'll just point front end to the girly deployment okay so you get some uh what you can do please fill in the EnV file you need uh the etherscan API and private key you need to put in into the EnV file be to do to do a deployment
you need to do the step that I've done here here in the EnV file there needs to be your girly inferior key and girly deployer private key yes just send me the address oh that's the easiest thing yeah yes of course there are also changes you need in your uh look at look into the readme and you
need to do you need to whitelist your deployer so he'll be able to uh send out or to deploy validators uh go to your deployment script in the hard helped slash scripts folder there is a deploy and you need to update the values for the ease of use use the this private key or or the public address of the private key so basically this public address that you are sending me here sorry
uh it's hard hat slash Scripts and there should be deploy zero zero deploy and zero zero one deploy Ed yes let me show you here oh sorry not in script this is in deploy hard head slash deploy and what we want to this is a whitelist
address key generator and also withdrawal address change this into uh into this this public key you will be used as a deployer this could be a different address just just to make everything uh super simple and easy choose operators here basically as I've said here you are choosing which operators will be running uh your no no no no no no please just these ones are the ones you need to change these two key generator and with your actually even withdrawal could be a different if a withdrawal is a different address it
basically means a diff the if you withdraw the validator it will go to a different address but for the the launching for the back end just change these two addresses not to complicate things yes with the public key you are using as a deployer okay so uh 0x2 okay I'm sending out
uh uh let me you need to specify the network you can do yarn deploy this Dash uh this is girly but you need to let me let me finish this up and for those who know how to deploy with uh with hard hat you can deploy uh I'll I'll do a walk through uh you can change it to girly or you can but you need to edit the girly Network and uh you need to let me
finish this up okay so everybody should have their girly is on their deployer at the moment now we are going to do the live deployment so there are two things two main things uh we want to do so okay everybody you need to First change this the the key generator and
withdrawal I hope everybody is done with that so I'm deploying it from the front-end folder uh and I need to make sure that the hard hat config file which I have here has either a good URL this URL you can get from your infuria you can just hard code it here or if you have and uh you need here the the girly deployer private key so uh there are two things here uh you can hard code it here but
you have this process.n env.girly the poor private key this basically what this does it will take these values from your EnV file right so here you need to put your deployer private key and I think show me how your uh config file looks like okay perfect so this should work once once you put it there I don't know I've somehow edited uh okay so there are two things the girly Network in your hard head config file needs to point to a correct uh girly girly address you got from infuria this
is basically what you get from infuria uh the end part is your key and the account is your private key there once you have this you can just do yarn deploy uh Slash dash dash Network girly let's do another deployment why not normally I have this hard coded here you don't need to have it hard coded you uh it's a better practice to have it in the EnV file 0x F2 did you send me the address yeah okay how are you doing
deploying okay perfect too girly and is it a local hose or is it growing okay perfect you can close the localhost so then you're sure it's good uh which one is yours okay 13.
sorry I had to miss you somehow okay so you should see something like this staking pool deployed SSV eth address deployed you see that perfect now what we want to do we want to point our front end to the girly deployment for so I go again to app.jsx file and here uh in the line 56 I need to change this
to point this to girly okay it's AB dot jsx you just search for it Ctrl P or command p and fjsx and refresh this and uh yeah you what you should see when this is correct you should see two things you should see the contract addresses change where is it yeah yeah in the in the bottom half of the application uh let me open the localhost so here on the in the up front upper
upper top you should see this girly and here uh you should see the contract addresses that you just deployed to girly do you see that uh sometimes what happens restart the front end just I sometimes have a problem we will actually launch the front end so it's not a problematic but if there is some problem with the front and viewing just press Ctrl C finish this and do like yarn react app start again deploy Network early
yeah okay yeah go for it no no no okay oh yeah maybe yeah yeah go there go go go go no uh it's only if you want to do it manually you should not you should look at it look at your front end uh okay and scroll down refresh it scroll down and it's still localhost right so you need to change yes save it but it should be
no not here not here okay oh look at oh let me work so this initial Network networks.gurly this is what you want to change in app jsx file is on the screen how is it going cannot read properties uh-huh yeah that's that's it was Zero
where where show me the config file for your hard head this is uh no you need to you need to uh on yeah yeah this one must be because it doesn't have the account save it okay you see the same control perfect uh try to try to interact with the with the pool take something in the pool ideally take 32 East so we can run backhand Let's test the pool now
you can yeah you can stake uh do whatever uh uh you can say glass doesn't matter it is taking it's a liquid taking pull you can take whatever but if you want to see backhand it works you will see I already staked more than 32 and you would see here that I've already have a validator there because my uh these contracts are already deployed so try to do like 0.1 first uh steak it doesn't really matter where you stake
it from okay uh now has everyone staked successfully perfect uh you should see it in the front end you should like get the okay get the transaction yes it's pending you should see SSV total so now we have this uh I'll just show you how to I'll not do that I'll run the back end because we're
running out of time but you can launch this front end so it's up and running nicely you can just follow the tutorial here uh you can verify the contracts super easy just run yarned verify and with your uh uh contract address I've already done this and do do this show off to the world do yarn search and this will basically upload your front end what you are currently running in localhost you'll you'll basically just choose an address Dot search.sh and you can just host it freely
so uh you don't need to run it locally and and now I will run the backend which is the more fun part uh no not really if it works it's not complex I mean the the the magic is in the in the background so you have open uh uh a new terminal but not in the front end but in the main SSV folder uh install the requisites like this dot setup.sh uh if you need to make it executable you need to make it executable at first obviously so uh
to make it executable change mode plus X setup.sh okay now it's executable now you just execute it what is it doing uh it's basically installing everything that needs to be installed this script it also is handling if you are using Linux or Mac OS well with Windows it doesn't work great that's why I'm uh I've already installed it so so you see like this so just install it and uh then we'll
just run the script which I'll show you how and I'll show you how it should work so then I'll run the script and pass it a config file my config.json uh let me go back a little have you do you have this have you run the setup sh are everybody needs to run the setup sh and then you need to edit the
uh you have there files sample config files so go to sample config folder and to stake config okay so and here put in a your infuria key here here you're in for your key here your private key for the deployer and here the only thing you need to change is your stake pool you need to add your staking pool address and that's it and after that we'll just run the script and actually it's better even if you don't
it's better to run it without actually so I'll do that now I'm just taking the SSV eth contract from here the contract address I will put it here also you don't have to wait for the install you can do you can have it be installing and just edit this script so I'm putting here the stake pool just follow with me uh it's sample config is not in front end
so we gain sample config and stake config yeah there we go is everyone in the folder is everyone installing prerequisites okay a look at the script it failed in
the install requirements but you you have like the main part of the script check the script the setup sh script yeah so uh but you can deploy the contracts to girly yeah sure yeah this is where it fails try to run it again but how are you doing um do we need to do anything here like
steak or something yeah you can you can stake or we can do it later uh it doesn't matter but it already uh connected to girly right perfect yeah uh just at the uh the script the backend script you have that um go to not from go out of front end uh where is it sample config stay config okay and here this uh your your inferior key here uh your private key yeah and uh the the address of her staking pool just take it
from the front end how are you doing okay are we stuck at any step I can have you deployed too early show me the error yeah yeah uh just added the address in the deployment script go to deploy yes you already did that yeah perfect so just run yarn deploy Network early okay
perfect did it actually deploy too early show me your config file your hiring config okay perfect uh okay so it should you should see it in your front end show me a front end perfect do you see the contracts there 0x no uh 0x50 is it the same zero x y o six yeah yeah it's perfect go to the next step just uh uh the setup sh not in the front end but in the in the main
perfect did it went well okay perfect and just edit the the file that you see there uh not the second thing but go to sample config stay config and edit edit this basically put in your staking pool and your keys here your private key and yeah yeah just grab the address all good yeah
yeah it's a maybe try to do like EnV y like run uh create an environment for you know how to do that like I'm not I I used to there's a lot of times yeah I'll Google it I'm not sure like uh python create VNV something like that it will give you it's like two commands I don't remember exactly okay but I'll I'll show you the grand finale even if you I think because I think I should be finishing soon yeah
okay perfect okay so uh now I'll show you how it should work someone have problems with their python libraries or stuff like that uh so basically what I've said what I have done uh I have created my own config file not to mess up these ones but uh you can see it's the same it's the exact same structure I just put in my info here uh I just need to make sure what changes if I do more deployments obviously the staple address is different but I use the same deployer uh I use the the same girly RPC etc etc so staple jazz is taking pool okay you had
staking pool and you have uh SSV eth okay you just need taking pull address so uh I am private key of course yes but you you don't you just put it there once right okay and uh basically now what I do uh I do Python 3 the script the main py stake uh the dash C and pass it my config file there so if you are using uh if you are using this stay config directly you just copy your relative path and what what you would be doing
the only change you you would be doing is this would be different this would be sample config slash stay config otherwise it's uh my stake config okay so now I'm running it now what what the backing does this is this is uh I don't have much time to go into this but this is the magic of the whole solution because like it's easy to do this you deploy some contracts and you deploy some front end but what we are actually doing here uh the back end is checking the the staking pool if it has enough funds currently the seeking full has a 0.3 eth okay so I'm
running the back end and I want to stake eth so it has eth for the full validator so I'll take 32 East okay insufficient funds I probably has have a a wrong address connected to this no there is some problem uh I just refreshed this you get the same refresh the front end or or stop it and start it again sometimes it okay so now I am I'm running the back end and I have just
Stoke no staked I'll just take 32e and here the magic will take place so the transaction needs to go through you see that the the sticking pool balance didn't refresh yet but now I refresh and you see the staking pool allowance is over 32 and let's look at the back end okay I'm probably running the back end with a different pool address okay when this happens it's probably my stake pool dress is is wrong because it doesn't see anything so let me double check uh the stake pool because I have more stuff running here so uh
this is my stake pool address no it's good let's see so question yes no no no no you just need to have more than 32 East in the pool you don't need to say anything if you have 32 to ease in the pool you don't need to stick anything
uh I'm running into some kind of a oh yeah uh sorry for that what I have done I have more these config files and I'm actually editing a wrong config file so my thinking pull doesn't work just to uh walk you through it because you can run into into similar error I'm passing through this config file but I'm editing Dash copy config file so that's the that's the thing here uh so uh anyway let me make sure I'm I have edited the address I'm running it again and now it will see that the balance of
taking pool is more than 32 it's creating the validator I'll show it side by side and you'll see that here it here in the events once it deposits the validator the staking pull balance is you still see like your balance doesn't change obviously you have still the the the tokens but the 32 eth has been sent and deployed as a new validator okay and here you see a different alternator yes should I generated some no no no no no
no oh show me the uh show me no no uh show me the config file quick file looks good probably your installation failed oh oh go down I'm running the script now yes uh there is a fallback if something happens in your script crashes there's a fallback and delete this if you run into some error and your script can't resolve uh
what is your problem there is phobic.json uh Delete the the fold Json file back.json uh not deleted completely but leave it empty and just put the curly brackets there yeah perfect yeah and run it again yeah we go to sample config right yep steak config yeah here your key your key uh your
private key yes the one the private key which is corresponding to one and your stake pool address you can take it from the front end okay perfect yeah now now you can't uh you have deposited 32 oh perfect so go go there you see it no you deposit the validator no no uh right press oh yeah no but uh I don't think you have a right oh oh sorry one more thing to run the validator and SSV you need some SSV on Gurley
uh so it will fail if you if you don't have SSV at your deployer okay so this is the the thing the private key that you are using for your deployer uh you need to go to facet.ssv.network and get some SSV and get it from the deployer address otherwise the depositing of shares will fail did you make it work
s happening so even with the with everything so I have it available but even with that yeah I'm not it's not it's not it's not working either there with the with the environment same metal you run the setup a sage yes exactly like in the virtual environment but it's not working yeah so in the vector environment it happened the same same error so oh okay which is your address I'll send you who needs SSV uh
send me the address again and write SSV okay perfect uh this is your the the private key that you put in uh your deployers perfect you've got some yeah oh you your RPC is localhost so he doesn't just copy the same RPC
and make sure your stake pool is the is the one you deployed okay you need SSV as well which one is yours uterus is yours I'll send you some SSV just show me here perfect so I'm sending you some SSV when you get that okay after after so I modified like this yeah perfect stay config then I just run right oh but you need you need SSV
okay so uh which address once again yeah come here you go to SSB you have SSV or should I send you
something okay but I already sent you so we are waiting for a transaction perfect yeah you got it is it going to the the manager folder and search it on B Concha like uh you can you can view the validator now like it's live on Gurley uh copy and go to like proctor.beekancha and also in SSV Network your front end is already showing if it's showing the contract is already showing the back end you have the SSV already yeah yeah
so once I stake 32 is it will be my validator but running on SSB network no no I'm uh I will be showing you uh I'm sending some links into the group so you can check your validator uh this is one this is another one uh I'm sending the the links there now basically when you have I think I need to change something probably yeah it probably failed the first time because you didn't have SSV uh delete your full deck or empty your fallback folder did you do the
did it run all right line 14. stay config so which line has it a problem with just I really do tricky it has a problem with the validator key can you do the setup sh once again just to see if it doesn't throw any
problems yeah there it was yeah you you don't have Pip there is some problem there 128 bit command not found I got this one so should I take 32 yes you can just keep it running stake it and you will see how the evaluator will get deployed okay perfect so your validator is deposited now yep it's waiting in the deposit queue and and normally like as a solo validator basically like anyone can
deposit a validator this this is like the the kind of an easy step if you are a solo validator your deposit the validator but you need to run the machine and with SSV you don't need to run the machine you will just run it with SSV so also check it with SSV check this uh the validator key I'm sending the the links there sorry yeah yeah is there okay so and this is my validator so just put it like your so it's just creating validity perfect yes that that's what it should be saying okay perfect uh we are running out of time here
uh so let me give you like a final more additional incentive or some some some basically uh I have asked for our doubt to do like a small incentivization to uh provide uh provide you guys with some SSV like maina this is me with real value uh this is right now it's around 500 USD is nothing like amazing but uh and this would be for you already have the the staking pool
you can follow the tutorial and launch it Lounge the front end as well and uh this will be for the for for the great LSD experience uh meaning you can like edit update the pool it's a very basic pool it doesn't have much of a functionality you know you can play with the front end play with the backhand and uh yeah I'll share more information on how to how to share this and you can work on it like throughout this weekend until the end of uh until the end of East Prague until Sunday and uh ask me questions in the group if anything if something
and here are possible things you can like think about how to do right now there are no oracles there implemented so it doesn't automatically update the prices as your validity rewards come in it doesn't update it automatically so this is something you could work on uh you can obviously work on the front end that's not amazing uh you can you can there is a nice thing how you can do an nft of the validator that's a little bit of a different thing so these are a couple of things you can you can play with and I'll share more info how to like share this via Twitter and uh get some SSV for the beer yeah so uh any any questions
I mean you will share only front end back end is running with you but you can do some kind of a thing where you you can run it on like free AWS or something we need to keep uh backend Paul I mean if you want to share it with your friends and let them let them stake I mean it's up to you no no you need backhand you don't even make it for validation or anything you need backend so that the the pool deposits the 32 East creates a validator and deposits it to SSV so basically even your backend needs to only check like when the pool has 32 each but it's not
running the validator the valuator is run automatically by SSV Network uh it's probably not loaded yet like or your link is different put the put it in search because sometimes you you put the public key with 0x sometimes without 0x uh so try with both with with and without sometimes it takes time for the for the front end to register it right yes yes it is yes exactly exactly exactly there are some splitting of it but yeah
okay yeah important questions like where are the keys stored you have two things keys and key shares and this is the last thing after this we finish uh but it's it's a good question uh here in the you can you see two things you see a folder let me close front end you see a validator keys these are basically your validators these are the the private keys of your evaluators and this is the deposit data the ones you have generated I have generated more so I have more of these here
and I was saying that we are doing key splitting because we are depositing key shares to the SSV Network and the key Shares are in the surprise surprise key shares directory so these are the key shares that have been deposited to the SSV Network perfect so yeah thanks everyone who attended hopefully some of you got it running thank you Marco for the great Workshop next we have another Workshop just the time to set up the PC and I'll introduce your next speakers [Music]