# ETHWarsaw 2023: Nethermind - Workshop

- Channel: [ETH Warsaw](https://streameth.org/eth-warsaw)
- Date: 2024-10-07
- Duration: 54:56
- Watch: https://streameth.org/watch/yt-6MoJJLbRJ0w
- YouTube: https://www.youtube.com/watch?v=6MoJJLbRJ0w

## Description

Workshop - Nethermind Ethereum Client.

Follow us for more updates: https://twitter.com/ETHWarsaw

## Transcript

yeah hello we can start um so basically I think we can start with the introductions so I will start with myself and then the rest of the team can introduce themselves I'm rock I U part of the BD team so I I work with the core core team to actually increase the market share of the ne M client on the execution layer um and I jump on a lot of calls with staking providers and we try to increase that maybe hello my name is wuk Aros and I'm eum call developer working on n client for over four years now hello I'm mik I'm ethereum card developer I my main focus uh is ethereum hard Forks hi I'm Camille working in nethermind for around a year round now mostly focused on quality assurance uh user experience of the client Etc and helping on hardw works and all all of the stuff around etherum hi everyone my name is Damian I'm also working in the core team as core developer and trying to make the uh NE mind client working as fast as possible hi I'm Martin subak I joined to NE mine two and a half year ago as an intern and right now I'm ethereum core developer and right now right now my main focus is preparation to Cancun hardw workk right so um at one point we'll get to questions but now we can tell you a little bit more about what we're working on and maybe uh wookash can expand on that yes so we are working on never mind theum client right hopefully every know everyone knows what it is so we are a competition let's say uh to GFF to Aragon to ref and bzu um and what our main strengths are we are focusing on validators so in order to achieve uh the best experience for them we have very fast sync uh I would say our sync is fastest on the market uh on good enough hardware and networking you can get uh head validated in less than an hour um our other strains are for example extensibility so we support not only ethereum but we support for example G this chain we will soon support uh op stack uh so bringing more client diversity there too so yeah thanks for that anybody wants to add anything Mark maybe okay and we are also working on ethereum hard for so we are preparing for Cancun uh we implementing for 844 and all other eips that will be included in canun yeah so from additional point so we are also working on increasing our stability so we we would like to be a most stable client among all of the other clients on the on the on the market so this is one of the our biggest goal instead of the performance and Jon RPC performance which is also our one of the main goals and right now we are also going into the Direction with improved uh database layout which will reduce database size improve me memory management will make everything way much faster than it is even currently where yeah that's basically the most important stuff and about database maybe D can tell a little bit more uh yeah I think that's that's a trend that is um that is now occupying uh most of the execution layer clients right so the redesign of the state database to to store the patrici Merle tree as efficient as possible in terms of um improving read performance uh which is kind of the step right now the next steps going forward is of course the implementation of vericle trees which is uh also being progressed by our team uh which is um we don't yet know exactly which hardw work is going to uh be but uh we are working on this which is a another broad step in terms of U providing zero knowledge and um working through the proofs that will actually be a major major difference to how ethereum proofs work right now yes and we believe that client diversity in ethereum ecosystem is extremely important and uh we are trying to be as performant and as stable as it is possible uh to just make it easy for users to to choose our client uh when running ethereum nodes okay so uh we think uh that it will be nice to ask questions Sobe my first question to you guys would be uh anybody of you runs the neine client or ethereum note at all cool what client do you use I've tried a little bit of each client through e talker because it's like pretty easy to just switch between the different clients get also gu sorry that's great so gu is a great team and they build a uh great clients so we actually not trying to compete what we're just trying to do is make ethereum healthy right and it's obviously risky to run uh the majority client so we would like to help you guys switch to another mind client answer any of your questions if you have them and then basically over telegram or any any other way you would like to to communicate we can help you and guide you through that um so maybe any of you have questions to our team we would love to answer them that's fine if you don't have any no problem we can tell you a little bit uh more about what else we were building so one of them on of these things is paprika and mukash can elaborate on that yes so uh one of the things that Daniel Daniel already mentioned before is that we want to redo our state storage right state is huge um there a huge problem to solve and actually actually G is also trying to solve it right now if anyone uh follows their tweets so basically what we want to achieve uh and I think we will have a release called never mind 2.0 when we get there hopefully this year so very soon uh is that uh firstly the storage will be smaller secondly there will be no need for pruning right right the storage will not accumulate any garbage so that's really crucial it's you can say that for example argon already has that we have we will have our spin on it the difference is with a thing that we are experimenting with is that uh Aron GAF Azu and everyone uses uh standard issues databases right argon uses mdbx G uses something I don't remember the name but used l Ro DB huh Ro DB no not Ro DB it used the level DB Pebble it used Pebble now okay because I switched recently I forgot the name uh we actually use Ro DB right now but our idea was that using a standard purpose database isn't something that will cut it like we cannot get to the metal with that and we are building basically our own database engine uh but it's not a general purpose one one it's very uh narrowly focused on the ethereum data and how it is stored how is how the layout is there yeah we have a question how much how much reduction are we expecting and will it be enough to run a archive note okay there are two questions there um truth be told the reduction I'm not entirely sure yet because it's still experimental and Shimon who is Work Main uh champion of this uh is expected to run this test in the next week or two to actually uh sync main net or gly maybe first uh that that's the big mindset he wants to achieve so we will have numbers soon we will tweet them definitely and the question was about archive and actually archive we will um archive is a different Beast of each other of this so we can think about the current state the head State and uh AR State and archive state will be solved a little bit differently but we hope uh we will do the Archive 2 and the expectation is there to be around what other clients achieved so around two terabytes probably plus or minus I don't again have final numbers there uh but the biggest biggest thing is to have a a state where we can also very well support rears up until to finalize blocks especially so for example if the network won't be finalizing we will it will the net the state will grow for us right because uh we might need to keep uh data from different Forks um while if the network finalizes we could flash that and we could flash that then to the archive index which was will still allow us to uh fork for example to have very deep Forks uh sorry not Forks rears uh but uh the method of the reorg would be a lot slower than the one that we want to do in paprika I actually have a question to the person who was saying that he runs all the nodes I think so um can you give us any feedback what do you think about the differences of between the notes yeah I I would say that um I I personally like all the nodes because like more nodes more CLI diversity uh yeah that's kind of my view on it more notes the better okay but is this some something particular that stands out from for example never mind or from other notes that you're missing a feature or missing something there yeah I mean there's a there's a new uh client like the Russ ethereum client so they're were like techco is also interested in uh trying out another M and maybe uh W as well just that they're also trying to optimize the storage component of uh the way the Merkel trees are stored mhm so for example ref focus at the moment is archive storage right that was I think sohm I think so yes yes so I'm saying that that it's archive storage well we got through the match Etc from the focus of uh being very stable uh node for validators that was our main focus right so with paprika and with State Storage redesign we are trying to get to that other market right so but we we like focus on different things so that that's that's the difference right for example between us and and ref well I run NE mind validators I can guarantee you that they're very stable and smooth I barely miss any anti stations so I do recommend it um and we can tell you a little bit more about some results that we had recently uh yeah so it's going to be really fresh kind of off the press because we are still working on it but the the kind of preliminary results give us about a 25% reduction in in Block processing time but the most important part is that we are able to flatten the spikes of the block processing which um affect U missing attestations right for Solo sters or generally for running validators which is which is very good um the the other good side is that we still that there is pretty much minimal impact on the sync times right which one which which as wuk mentioned before is one of our um main advantages right so um it all looks good uh so far but we still hope to to make it um even better uh going forward right and we will try to uh make a release until well by the end of this year uh hopefully attracting more and more uh people to try uh nethermind and see how it performs so I want to mention one thing that separates under mind um we have a team of 20 Engineers now in the core team and we are very supportive so if anybody uses nend bank client uh we ensure that we have somebody 24/7 um basically looking at Discord and helping out on telegram as well uh supporting anybody that runs or wants wants to run mind client and I think uh the next subject we want to touch on is uh what we're getting ready in the next uh hard work yeah so the main EIP will be 4844 of course and this is about um decreasing um transaction um improving scalability for ethereum by uh decreasing cost of inclusion uh data for L2 to uh what else we will have is 4788 um this EIP is about including um parent parent block route to uh evm so staking pools can um make proofs about um about things related to consensus clients and we also will include a few eips connect to evm such as M Copy and Transit storage op codes what else will be included is um one small flag in uh engine API and this is about um sensorship resistance so if your El node will notice that um okay there is probability that uh something is um something is trying to sensor uh trans actions El can give hint to uh your CL client and then CL client can uh use um blog built locally instead of uh blog uh proposed by me boost yeah thanks for that um so maybe I'll come back with a question I know we don't have too many of you guys here but uh if you could give us some guidance okay so first of all you mentioned that you r g right uh what made you use G over any other client and what could we do to actually you know help you and other people to switch so the biggest the biggest issue was knowledge of the language right uh we have a bunch of Engineers that know goang but that don't know c um and for us we had to customize right we are forking G um so we would have to also Fork nethermind probably or have plugins which is difficult um um having said that GFF is of course not perfect and one of the things that that don't work for us for example is having to run so we run multiple notes we run something like um 20 maybe and after Pro of stake we have to drive both kinds of notes right both beon and Y clients and with G the biggest hurdle is that it's very difficult to have more than one beon connect to one G note right you can you kind of are kind of stuck with this onet toone correspondence uh which is which is which is actually like U pretty bad for us um yeah so maybe one thing one thing that that could be nice from nethermind is if uh we could use nethermind in the mix as a kind of like um multiplexor node where we can drive multiple beacons from either G or nethermind kind of seamlessly okay very interesting topic so uh first things first uh very good question that in order to customize GA you need to Fork it right and then you need to maintain the whole code base which sucks and one of the feature I already mentioned in the beginning but this is exactly the thing NE mind supports plugins you don't have to Fork NE mind to customize it you can customize it in your own small repo only focusing on your small stuff and then the next version of Never mind comes and then the next version of Never mind comes and then the next version of accounts and the only thing you do you put your dll your assembly in the plugins folder and it should load right of course sometimes there are compatibility problems but generally we don't do much breaking changes there right and we try to document it but you know because it's so open it's sometimes hard to predict everything but generally we have a good feedback from the people who are using it so that's one thing where never mind is actually better for customizability that you don't need to support everything um second thing about uh multiple consensus clients to one con execution client right um there are multiple ways of doing it and I was actually thinking about it at some point so one of the way of doing it is that um you SE clients could send multiple each steal client can send different new payloads but only one can drive Fork choice right that's a very simple one because you only have to track one head uh there is a risk there of you know desyncing the seal clients especially if they go to different forks and uh depending on the storage model also you might not be able to properly validate every new payload then correctly so there's a risk the other way of doing that was to uh actually build a big block tree with you know every block uh from different payloads potentially from different branches because that that's the problem right different branches uh and uh keeping tracking you know for it for each uh CLS and CLS would have to identify somehow we can probably fairly easy do it by opening different for different CL with a current engine API right and the frange by that so it is possible and it was actually something I was uh thinking about but we haven't haven't actually explored it yet like in code um and it would require some redesign it would require some refactoring because uh the way the N mind is were designed you know we didn't design it this way so that there were there are some basic structures that would have to support that so there's a additional trickery there on top of engine API which is already extremely tricky to get it right right so so that's the thing but it's an interesting use case I I agree so I think you also had a question yeah regarding Mev boost how does nether mine kind of integrate uh Mev boost because uh I I think there used to be like a fork of gu called uh Mev gath so is there like a plugin with nether mind or how does how does that work okay so uh before the merge uh we had me gaav but right now me gaav is deprecated M can confirm because m is one of the auor of me boost and um right now it doesn't matter it's it's only you only need to run M boost so you you have to run consensus client uh execution client and if you want to um get benefits from from me then you have to run me boost and that's it this is not the fork of G this is totally separate tool um yeah that is the answer yeah so I guess um my question is like I understand for the like consensus layer and the execution ler there's like the JWT I think key that kind of like helps cross communicate between those two clients but how does like meev boost communicate between so Mev boost is actually queried and communicates with cl right so you configure MF boost on CL so that's there andless you're asking about potential block Builders right can might be used as a Blog build blog Builder client and I think we yeah we do have an integration with a relay right so uh we can send our blocks to the relay and we can include bundles in it for example there was something like that but truth be told this wasn't ever prioritized uh because of different reasons and one of the reasons is the state redesign because we cannot be competitive in performance without that uh so yeah I wouldn't recommend currently NE mind as a Blog Builder client in terms of like if you are competing for me uh and using that so that's actually not the use case we are optimizing right now so yeah that's it actually had a historical question sorry I think uh for correct me if I'm wrong but I think NE mind initially like before the merge they wanted to not have mining was it to kind of like focus on staking like I'm just curious so we didn't have mining because again it wasn't we we didn't feel like we can get a foot in the door in the mining business right so uh miners were hyperfocused on uh on getting their rewards and I don't think they would switch to different clients in in the large batches so we especially when it was obvious that the mge will happen we just didn't focus on that right it was another thing to implement the team was quite small back then so we would have to choose our battles uh we actually did support block building just not mining just not the I don't remember the name of the the protocol for mining whatever um so for example on the chain right now know this chain but at the time it was Z chain we we were block building at the time so that's where we battle tested our code also there so yeah it was just integration with the the mining protocol that was missing at the point I think that covers all the questions for now at least uh so maybe we could focus a little bit more about uh what we're excited uh about in the future you know where the ethereum is going what's the road map uh and everybody can chime in and tell us a little bit more about their excitement and the plans okay so my main focus is always the next hard work so from my side it's canun and for 844 yeah my main goal is to make the client as as performant as stable as possible so for me they I can say only from the point of view of our client the most important stuff for me is the database redesigns so the this is something I'm mostly focused on now yeah so as I mentioned in the in the very beginning I'm I'm looking very much to the vericle Tre transition and that the research that is happening around it and the way that we can actually migrate uh it's not going to be very soon but uh it's it's coming right it's on the pipeline and it's going it's going to happen eventually yeah in canun haror uh canun hard Fork will introduce blob transactions and uh they will be uh larger than average transaction right now and uh it requires different behavior from our transaction poll uh like generally in ethereum uh ethereum is trying to uh reduce uh using network uh when sending these transactions by uh pers ing them and uh my focus right now is to adjust our transaction pool to persist this blob transactions and reduce network uh usage way so I haven't mentioned varle trees and this is exciting update because um you will be able to stake without having uh stayed locally and netherite is the first client that uh achieved it on verle 3 test test net and my my guess is that after canun it is very possible that verle 3 will be the next main focus yeah actually uh Tanish one of our developers recently uh achieved that on CLA Ste I think that's the name test net yeah something like that I'm not good with the names as usual uh so uh the idea is that because uh with the veral Tre you have the uh veral proofs and veral Witnesses included with the block so you can just run the note and you process blocks first block you get you just process you don't have to sync anything and this is already implemented in what prototypes not properly implemented it's not production ready but it's prototyping never mind it actually works which is really really cool okay so uh maybe another question to you guys uh is there anything that you're excited about and you look forward to when it comes to ethereum road map AAP 4844 do you guys have any comment on what you think it might be used for oh so actually the the use case right so yeah we can we can expand on that yeah so the thing is that l2s right now when posting data to L1 they uh save data in etherum state and it stays forever and because of that the price of that transaction is quite high and 4844 introduce temporary data storage so thanks to that we can decrease the price of this temporary data and thanks to that we will achieve better uh scalability for ethereum so that is the main use case l2s given that uh will this data be available to Smart contract if yes shouldn't it be it be persisted mhm so we have new OP code which is called blob hush and this will be the only way that uh in this way it will be available for smart contract yeah I think it's partially because of the polinomial commitments so it's like that data will be there long enough for like rups to execute that data and then I think the like remainder of that data that gets like cut there's like a piece of it that's left that you can verify with the polinomial commitment but you can't do that with a Merkel tree that's my understanding of it but um I I actually had a had a question so um there's a website that I Ed to kind of track like uh upgrades for ethereum uh when merge.com it says the uh ETA for the Cancun upgrade is Q4 so I'm just curious like does that seem like based off of like where nethermind is at in like through like all core devs uh like maybe December or a little earlier I'm just curious about like what blockers there are not for just nethermind but other clients as well through those calls so basic on my experience but this is not offic any official timeline it could be done in early December in my opinion because it won't be done before um conference big conference Dev conect uh in November because people are traveling and so on and I think we will be not nethermind but generally as ethereum we we won't be ready before def connect so I guess it it will move timeline for ear early December and right now the status is that um all Cent most all clients or um maybe a few have some issues but generally clients are working and now right now it's uh a lot of testing needs to be done but generally it works right on devet so it requires more testing but I would say we are ironing out the last few things so for example from nether mind sign the one one last thing that is not yet ready yet is the um special handling in transaction pool for for for four transactions we are currently working on that and finishing that Mar is working on that I think it should be ready in a week or two and the other thing that is still uncertain for 7 and 88 the spec is being changed a bit about U how to um yeah how to interact with the pre-compile ETC uh so that's that's it's a detail but there is some things there that needs to be checked I think actually maybe Dev maybe do hard work at Dev connect no uh I'm that would be awesome you know all the people there all the big you know crowd will be exciting as long as you don't have to debug it yeah by the way uh another M team will be at def connect so if anybody would want to speak with our core team and everybody else you're more than welcome to to come up to us and and and speak with us okay so so next next subject that we can touch on so maybe I would just ask our team what would they want to see in the following uh hard work uh so I've already already said vericle threats and maybe eof uh so in my opinion uh it will be good if we work on something a bit easier so eof and then um make uh verly treats more product more production ready and yeah that that could be the plan so definitely very three so I was talking with h uh main implementor of V Gillam I think I don't want to butcher his name from G team uh and I was giving him pretty harsh feedback about verle trees in February yeah late February but from that time like all this feedback was taken into account but not only from me but also from other people and the progress is huge so I think verle trees might be ready for the next big thing so yeah that's that's it for me yeah From perspective of our Readiness and our current testings and what we are doing right now the veral looks like the something which will be great to have and eof as is is still being like moved into into another hard works it would be great as as well if it it will be final land and end of the hard works and it's something which we already quite Advanced on and it would be nice if it would be included soon yeah I I I would second that opinion I think um the the next thing would bef and then veral trees right not the other way around yes I I don't have different opinion that this thing so probably the the next is just the E I have I have a question if you could what would you remove from the spec spe from the ethereum spec yeah because eum spec is very complex right at this point and we are talking about adding like veral which is another layer and fortunately we don't have you know in protocol PBS yet um so maybe maybe it's it's time to like start thinking about what to remove from the spec you know so what we could do in theory is removing all types of transactions but then it might have it might cause problems with Hardware wallets that doesn't have um support for um for new transaction types H but what else I don't know maybe ukash so maybe not actually removing from protocol but one thing about removing something is I'm I'm very eager for for example portal Network to come upline and so having a archive storage of ethereum so that actually the nodes could remove the data so 4444 EIP so we can drop old blocks we can drop all receipts we can be really really light not at complete light client like not having nothing but uh having you know you know you want to keep last thousand blocks sure you want to keep last million blocks sure whatever your needs are and we can have that in protocol so actually never mind kind of has it right now but we don't want to advertise because it might not be super healthy for the network so um so don't use it or use it as your own risk um yeah so that's it so I would I would like us to just uh be able to cut uh requirements and this would be cutting seage requirements a lot that's it uh we have some some more people that came in uh do you have any questions by any any chance I know this is way better isn't it okay okay no worries I have actually a question so if anyone runs a node but it's not a never mind node what can we do to change your mind so the fact that you said that you for our support it's very tempting very yes so you can always go to our Discord and we have a support Channel there and there's always um developer member of the team there that who can help you so well by always you know sometimes people sleep but it's like almost so it's supposed to be 24 hours hopefully it is but uh you know there is always a dedicated person that should be there yeah I would say like a benchmarks so being able to like see how another M comp paars to other clients in terms of performance and like what is like Optimal so so for benchmarks like I said snap sync the best in the business uh archive sync or for example other other things are worse uh but this is the next thing we'll be addressing so if that would be the game changer for you wait for the next announcement for that I a question could you ask about full note please yeah okay so it's the same as G currently so it is it is very big and that is why we want to rework it uh because netherite is not very optimal to be being honest for for archive uh yeah and we are working on that but uh it's about 14 terabytes nowadays um yeah so so do you know what Patricia mry is the how the state Works more or less okay okay so it works let me still recap but uh the rec so you have this tree right and it's actually not one tree in archive note it's multiple trees right because with every new block you have different root and some notes change most stay the same but some noes change and this accumulates accumulates accumulates and you have a huge number of nodes that you keep and that's why those noes all weigh 14 uh terabytes the upside is that you can go to Every point in uh in the past right so we can go to a block 1,000 one 10,000 and you can read all the state at this time right you can just scan it and arigon and ref currently use different approach so they only have the current threee so only the three at the current head but for the old blocks they have two things they have that at this block value at this address or at this storage slot changed right so they have the previous value um before that block at if this changed and they have a second thing which is for each address and storage slot they have this index in which blocks this was changed so for example you cannot ask Aron uh print me the whole state at block X if it's in the past no you cannot do that you can only ask in Aron give me the state of this address or this storage slot at block X but you have to have it it's actually sufficient for tracing for example or even for eth call for most of the things but you cannot for example generate a proof of from the past so that's the downside right because the proof in the past would be a path in the miracle tree and they don't have the miracle tree in the past they only have the let's say flat storage and we are moving to the same thing because this is the only really way of doing that uh but that's the difference between the actual having full tree at that point of time or only having a Deltas what change at this point in time okay thanks okay next question [Laughter] M that's not fast enough we'll discuss this later all right so one one thing that I really liked was uh when you mentioned about less spikes in Block processing time in particular probably around the epoch transition right this is like the h huge problem so if if I could Multiplex you know my beon cluster um to to G and and undermind and Ne mind didn't have the spikes I think that would be a huge Improvement um because this is the biggest problem we see in like the cluster that we have that that there's that there's huge spikes that g g has right yeah so to be honest the the only difference between us and G right now in terms of like results of attestations Etc is are those spikes so the rest are looks quite quite similar or are around the same timings but the spikes which are caused by proning by a lot of stuff do which are being done concurrently at the same time are like breaking the block processing from time to time not breaking making it a little bit slower and the the change now will reduce that will reduce amount of the features which will be running in the same time so we will have more consistent results so I would say that we've uh fast enough dis it's not problem at all because uh I have uh my my validator at home and I have uh perfect performance uh with netherite node so yeah I can confirm I said that before and I say it again it runs very smoothly I don't really have to do anything so some people claim that running a validator is a problematic thing I can guarantee you I don't really do anything right um so from time to time obviously I have to dust it out uh but that's about it U so any other questions yeah I guess in terms of like uh ergonomics if you're running a validator what would you recommend uh people to do like to use eer or to use dap node or to run everything from like bare metal from the CLI okay okay I I can answer cuz another part another another component I no cuz I can speak from experience and being a noob as well right so it all depends where you start so I start with D node and that is extremely easy right switching clients is extremely easy as well so you don't really have to have experience and when uh with time I actually switch to our full node right just run it to bear and I also run rocket pole and that tool is also extremely simple so all you have to do is really read the docs follow the steps you can go on YouTube watch watch some tutorials everybody explains everything go on go on if stake Community get on our Discord as well and will help out yeah and also worth mentioning that we have our tool in nether mind which is called s and this is something similar you ask about if doer and this is basically almost the same uh so yeah you can check S as well and and if Docker is very good tool as well I I really recommend it for staking it is super easy to configure it has some extra options that you can for example prune nethermind uh in future it it won't be needed at all but right now uh yeah uh it helps a lot uh and also with if Docker you can have graph for your note without any like extra configuration you just click uh set up and everything is uh for you um okay so happy to answer any other questions uh if not we can move to the final topic maybe a little bit oh perfect um my question is uh one feature that I really like in the mind is uh ability to write your own Adon that uh uh could be run uh along sign with uh nethermind uh actually I haven't tried it yet but I I will try to write my own model soon and my question do you have some interesting features that will be uh available for developers of this adones what do you mean by features can you be more specific for example uh writing your or custom uh RPC request for example or okay okay and well Tru be told no I have a like um bbal Skeleton on my on my act on my personal GitHub of uh of uh of the plug-in you can write so we can use that for a for a starting point for example uh good question about like de developer documentation maybe or something like that so actually one of our colleagues OLG uh generated like chat GPT uh go through our codee that actually might be not not bad for querying it if you're interesting in something specific uh but in terms of Json RPC so I made a year ago I made a workshop in Berlin about writing plugins and never mind when maybe there is a there should be a recording there from uh it was from dcon uh where I showed how you can [Music] write um plug-in when you can add a Json RPC and when you can actually add your own eth subscribe uh so we can actually pump data from the node to your to your client right to whatever you're connecting from so yeah so you can do that very easily this is not like I I was able to squeeze it in like a 40 minutes Workshop so uh with explaining everything so it's pretty easy to do that yeah cool thanks uh do you have documentation for database layout okay [Music] um to some extent but uh do you want to access database directly because if you're run running a plugin you have all the abstractions for the database so for example if you want to um access receipts you have a receipts Finder right class if you want to access blocks you have block three if you want to go through state uh there are ways of going through state right uh so I'm not entirely sure that writing a plugin you need direct access to the database right that's probably a different thing because for example in ref you can also write um external application that has access to database but if you run rev plugin you have a direct access to our in memory abstractions over the database that's probably a better place place for you to start than going directly through database yeah thanks anybody has anything else to add about the the questions I'm not sure okay okay so uh what is the most budget way you can get rid of something like Alchemy and infura just to get some past traces because I I'm I'm newbie into the running a node and so do I have to have a full Noe to get like anything out of that or I can just do it on I mean archive note or I can use full note and just wait longer to query some past data so if you're talking about traces like Trace module from the RPC right or The Bu Trace yeah I mean like having a transaction ID and running through what happened in that particular yeah so uh you can do two things um you can you need to either have have an archive mode node right so again until never mind re works that I wouldn't recommend never mind for archive node yet or we have a trace plugin that actually records some traces for you when uh the block happens that you can actually later easily access it works similar how parity worked um but again it depends on the what do you actually need so archive note is more flexible okay so like buying SSD with 16 terabytes of ram like well Tru be told if you really need an archive now I would I would point you to the clients to specialize in archive right now okay and that's that's the way it is uh and I would also ask you to uh look out for our announcements because again I really hope we can deliver that this year okay cool thanks okay uh so maybe one controversial topic or something exciting uh how far are we from the light client anybody wants to take that nobody well Ro I would say depends what you need what you mean about light client because there are multiple functionalities right so for example with vericle trees that we already were talking about we are we are quite close to having uh a know that verifies that doesn't have to keep state but if you don't keep State on the other hand you cannot do eth call and you cannot do traces so there are always you know drawbacks right so it depends what that light client needs to do okay so I um um I'm kind of thinking more of uh the video that I think everybody saw with vitalic saying that he has his uh client uh has his node on on a phone so I'm not sure what's uh what's needed for that exactly haven't can we have a client on on our phone anytime soon vitalic uses nethermind right now that's yeah just want to comment just just a eum master node is nether mind yeah okay uh if any uh any other questions any other topics that our team wants to talk about not sure okay one sec I've glanced through the documentation and under security it is mentioned that do not use netm wallet signers for main net it handling can I please ask for clarification yeah I can comment so there is personal module uh in nethermind client and it uh gav has the same module and basically it yeah it's deprecated so this is about that we shouldn't use this uh personal module for other things than development and testing that is all about not sure if yeah ukash confirms yeah I think it is deprecated but but but not removed correct mat in in it's it's removed already okay in in give the code inside the node is still there so you can hack it but there is no way to access it from the API or from the CLI you have to use clef which we learned the hard way uh you know it was like an extra week and a half of development at some point because you know I think uh never mind it's not available by default you would have to explicitly reconfigure the RPC uh modules to access that but it just a warning not recommend domination that we don't use that for production keys for I don't know your actual keys right that you use on the main net because uh we are not a wallet and we don't want to be one right and that's pretty much it and I think if G already removed that then we should also remove it what one should use uh for Key Management with a nethermind node so again what do you mean by Key Management if you mean managing your keys in terms of uh your accounts your when I use G I can create a private key there and use it somehow could you repeat uh when I use G node I can uh create a private key there and use my account somehow every version It's I guess a little bit different yes and I would say it's not recommended neither in NE mine or G to keep private key in the node of your account you should sign in in an external your trans you should sign your transactions in external applications like uh proper wallets okay uh you guys you've just came in um maybe you've missed uh some of the good fun but if you have any questions we're open to them not yet not yet well you have kind of like a last moment cuz we're going to wrap it up very soon uh so if there's no questions or nobody wants to mention anything thank you very much for coming and uh please remember that NE mine is always around 24/7 here to support just find us on Discord on X uh you know you can find me on any of the conferences I'm always around and I will connect you with the core team we support you through your journey with NE mindes thanks everybody
