New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Grandine on Windows

DevconTue, Oct 7, 2025, 12:00 AM

In this talk, the speaker will discuss the problems encountered in porting Grandine, an Ethereum consensus client, to Windows systems and the solutions from the perspectives of language, engineering, and cross-platform. The speaker found that these problems are common to the current Ethereum infrastructure based on the Rust language. Finally, the speaker will summarize and look forward to the development of Ethereum clients based on the Rust language, especially from the point of cross-platform.

Transcript

[Music] okay let's okay challeng sorry I have sleep yeah yes okay okay uh hello everyone my name is Jim my project for EPF 5 is gring on windows so in the hood I will discuss the cross plan Form Engineering challenge for erism Cent challenges the all my challenges can sum up to one sentence it is hard to run erism validator on L Windows uh this is my challenges table we have a memory allocator program we have a stack Overflow we have test failure we have R running problem all this just for special for Windows we have a missing system Matrix and we also have unsafe Windows API problems we also have uh special user case for Windows like uh screen server or sleeping uh finally I was found it was not e to run a validator yeah okay like to see how we can solve this challenges first of all GM Lo uh the is solution we just disable it like most uh rust project in in favor we in favor the windows building locator the truth is GM lock is great for S side but neither lary for age nor better uh uh okay for the stockle flow in debac mode in fact L is a big challenge because for developers because uh it's proven to you from De bargain the uh workr is uh you uh solution you just re uh run the project in release map uh the direct reason for for L stackle for all is because there are unstack allocation in debug mode in Rust Li P2P Co stack this is detail of uh Co but if if I have enough enough time we we will come back so for L challenge I have two Reflections one is uh we should limited glob State status and I recom to use a top signon to manage other signon this is a comper in R project yes uh secondly uh uh you you you say in fact we have a uh deep with the true program lives in the Deep Library so you cannot El fix fix age so we just use overround uh I in the debarking of of L stock overall I I have reviewed the live P2P source and relative Source Cod I found Lara Mell engineering program so I suggest uh we should res sync and uh even may we may overh our lce uh fun statement laor race like labor P2P because it's really crucial for our uh horror ISM uh cor infact okay uh for the test failures uh in the consens spe test is just because uh the uh uh default configuration of a gate on Windows it uh it is uh inconsistent uh the configuration this cost this where cost the gate on Windows changes the the uh ssz related uh T architecture so we have this uh uh s uh T failure but listen here is the uh consistence and debuggability are so important for developers permanent person so never over emphasiz on this topic I think okay we come to the r running problem in fact it's also a big problem because we need two two kinds of uh CL C in instance running your in your computer in your load to form a a full validator yes so you cannot just consensus Cent right the rest you in fact uh uh we met problem is a database commit 98 in in fact now are M list on on our course but in fact it still exist uh the work around is J we run the rest in wsr on Windows the G use the wsr windows can inter uh interactive with the uh lative Windows uh s seamlessly but uh the big problem here is uh we are going through to other inconsistent case we for the same database fire it can work the race can work where on Linus but cannot work on Windows okay the lesson the lessons here there are two lessons here uh the one the first the first is uh even for rest uh it but rest it is a we engineered r project but it is still are not good and ready for uh running on Windows okay then the other uh uh Point lesson here we want to it's a it's a big problem we want to mention a which is related to the root of a problem is the backand database engine of R it is uh uh mdbx uh King value embedding uh uh database but uh if we have enough time we come back here uh for the missing system Matrix I just the work solution is I just Implement what the missing so there are two interesting point here want to point uh the the first L is uh uh the statement related Matrix in fact has its API propose from the uh bing CH in team so I I'm I feel uh I feel with our erism uh has a great Community here yes the second Point here is after my face the grounding now has a b set rated matx support on Windows than than Lighthouse you know the grounding is a uh milder Cent but the lighthouse is a major Cent okay uh for unsafe uh Windows API we just upstreamed unsafe to the uh Upstream libraries but the LI P4 for most rust project is the forbidden in Lynch which we we most of R team like to use it but in fact just work the codes in the current workspace not for Row in the libraries so okay for the uh uh the special use case for Windows like uh let's Lun like the uh screen server and the sleeping that's that's okay we can recover from age uh or finally we uh we come to the last uh challenge I have is uh what I said it is not a to run rism validators the solution is for me is just to Lear and to try okay but I think this is this maybe okay for uh for me like a great a great development but this is not good for come users I think so uh I so I propose we in the future we we can have a we can explore uh great uh in Integra integration of our current laid uh uh Cent Yeah in our uh eras some core infrastucture okay finally I want to I hope uh running a eras validator should be should be less hard okay let's we come to the S and conclusions uh firstly rust is great for cross plan cross plan form yes we have we have a what many different Target with support but uh but for current situation we have not fully utilize it yet uh secondly uh RM CLI often share come Implement and uh fundament libraries as we say the lab P2P like but um if one have a bark in the F fundamental libraries in fact in fact from engineering is not not good I f up the infrastructure World infrastructure uh Cent so it's this I think it is a uh defective for the Cent diversity yes third I think we can get more best practice from wider in uh rust uh ecosystem uh finally I I think uh EPF is great because I'm this Co five EPF C five so I in in this process EPF I'm began to have a big have deep understand poal the development and the source code of several our several core CL Clans yes uh fin as I want to say say big uh thanks to myal uh the uh solers from granding team and the w w day from GR sorry I I'm not exactly the weekday name so this is gate Hub Candler I'm also appreciate Tim B uh he introduced uh the EPF to me and Al appreciate the josa and the major of EPF thanks for your great hype thanks for all your okay Le about me so I'm great in in R database and the JK and theism core infrastructure so um uh if you guys has uh this related opportunity you can don't hesitate to to contact me thank thank you that's my PR all right thanks a lot Jin any questions for Jan on his uh project on grandine support for Windows all right uh next we will welcome up BMA and zaratustra for uh their project [Applause]

Automatic transcript — names and jargon may be misspelled.