Keynote: Nomic Foundation’s vision for Ethereum’s tooling ecosystem | Devcon SEA
Devcon·Tue, Oct 7, 2025, 12:00 AM
Nomic Foundation is the nonprofit behind Hardhat. Nomic’s co-founder and CTO will walk you through Nomic’s long-term vision for a community-driven developer tooling ecosystem for Ethereum. Speaker(s): Patricio Palladino Skill level: Intermediate Track: Developer Experience Keywords: Developer Infrastructure, DevEx, Tooling Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum, https://warpcast.com/devcon Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on Swarm, IPFS and more. Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon SEA was held in Bangkok, Thailand on Nov 12 - Nov 15, 2024. Devcon is organized and presented by the Ethereum Foundation. To find out more, please visit https://ethereum.foundation/
Transcript
[Music] so hi everyone thanks for being here I'm Patricio Paladino I'm one of the co-founders and the CTO of nomic foundation nomic is a nonprofit dedicated to improve the ethereum development platforms for Builders like you at Nomi what we do is creating open source infrastructure and tooling for ethereum and our most well-known tool is harut and we've been building harut for quite some time we started it in 2018 so almost 7 years ago and it grew from being a side project to being a collection of different tools that include not just Hara the task Runner and the framework also a network simulator it includes things like a a deployment solution and and better support for solidity in vs code and different editors creating these things expose us to almost the entirety of the infrastructure landscape of ethereum and we got to learn about its limitations and I want to share a few learnings that we got so far the first learning is that building touring for ethereum is challenging it's actually pretty challenging and this is not something exclusive to harut if you were to to build any kind of tool or infrastructure in ethereum most probably you'll find yourself with a me unmet needs and you you will have to either create your own Solutions or or your own workarounds or hacks to see some examples if we were to create a solidity formatter which is just a tool that takes your solity source code and reprint it reprint it in a nice format the first thing that you would need is a parer a library or a tool that takes that text process it in a in a way that it will allow you to then pre-int it easily and yeah you will find some parcels for solidity out there but all of them will have their set of limitations they may either pass in somewhere approximation of solidity that it's not clear which which particular version they are passsing or they may be passsing a single version where your tool wants to process every version of solidity or they may be tied to a single programming language like I want my tool to be buil in R but the part that I want to use is built in JavaScript and I can do it and I I don't know find a work around or hack it together and this leads to clearly less than ideal solutions to see some more examples if we were to build a linter a solidity linter we would have all those same problems and more what if we want to type away a rule that I don't know forbids that you use a certain type of storage of your context well you'll definitely definitely not find a library that exposes the solid type system for you to build this rule simply so what would you do well you either bu a part of that probably in a quick and dirty fashion or maybe come up with a Half Bake solution that it's just a bunch of characteristics maybe a regular expression or something like that if you were to build a Sol editor things were would be way way worse and trust me we've been there we built one and you pretty much have to reimplement a good chunk of Sal seed code analysis but those examples that I named are just three out of a ton of different tools and infra infra pieces that any any realistic or mature development platform has there are more examples that I listed here but to be honestly these are just some examples that came to my mind and that could fit in a single slide in a in a mature platform in a real world well it's not that it's not real world just less mature in a mature platform there are tons and tons of tools and they are constantly new tools being created but in ethereum if you were to create any one of these tools I assure you that your experience won't be smooth it will be simple it will be similar to the things that I mentioned you will find yourself unmet limitations and you would have to come up with your own Solutions and to make things a bit worse some of these tools you would want them to exist in different languages maybe you want a connector language in JavaScript in typescript in Python in shva and that just add some kind of multiplication to the problem making it larger then another learning that we have is that ethereum is a moving platform and what do I mean by this well for once ethereum is constantly evolving it evolves through hard Forks but also through layer twos and there's tons and tons of changes coming coming up now that are due to new layer tws popping up every day also the tooling and librar Chang we went from using web 3 shs at one point then to a new version of web 3 shs that was completely different then tether then BM and I'm sure that things will still change finally another thing that also change is the developer need need themselves they buil different kinds of applications at one point we were all building stable coins then nfts then Dow then different things and those different things have different needs and different levels of complexity and size not to say that anything about multi-chain that it's now completely changing the needs of developers just a few years ago things were way simpler for an ethereum developer now they have to deal with multiple change at the same time and things just get harder now to be honest this is not something unique to ethereum it happens everywhere every every software development platform that it's alive and continues to evolve goes through constant change and renewal it happens to node it happens to every every single language what it's Unique to ethereum it's the speed of change and the fact that every tool is built based on hacks and workarounds as I described and when you combine those two things things changing quickly and things being unreliable you get a ton of fragility in the platform itself and finally the other thing that I or learning that I want to to mention is that as I mentioned before at nomic we don't work just for harat we work for the entirety of the theum development platform we want to improve it all and if and at one point we realize that we can't just do it through harad and we can just do it by being direct providers of final Solutions or developer Solutions why because we have liit limited B with we can only focus on so many things our team is has a limited set of people hopefully it will increase but it will still be limited and we just can't fix everything also if we were to be direct providers of every single solution we could become a an ecosystem dependency a core ecosystem dependency and that that's not something that we want to be and at the same time doing that would or could potentially make us gain a a ton of influence on the platform and that's not not aligned with the values of nomic finally if we were to build the resolution ourselves we would be making a ton of decisions because we won't build any any any of the many technical approaches for every single tool but we would have to pick one or at most two and that would lead to less technical exploration less approaches to every single problem and that could inhibit part of the potential of the platform it's better to have diversity of ideas diversity of Technical Solutions and that then every every every developer every project will pick whatever fits best for them so instead at nomic our long-term vision is to build the core pieces of infrastructure that would enable the ecosystem itself to build its own tooling and do it efficiently and at the same time do we need from a nonprofit and independent nonprofit that it has clear ethereum align incentive which are these pieces of infrastructure they are two one is called slang and the other one EDR for ethereum development runtime slang it's a solidity compiler as a set of API focus on tooling what does it mean well if we go back to the examples that I mentioned and we wanted to create a formatter and this is actually doable now you could use slangs formatter sorry not for matter slang parer that that parer will be ready to be consumed from many languages is ready to be consumed from many languages and it's easy to use supports many languages of solidity and it's actually being used by a beta version of of prer solidity right now and it improve how prer solidity can form a form a different versions of solidity for a lter similar thing you get slang it's a library you get to use a different set of apis that slang proposes exposes but same thing you just have the the building blocks available for you by Design slang it Focus On Tools because tools tend to have a different set of constraints that just than just a traditional compiler for example they may need to deal with different versions of the language uh while is a traditional compiler just deals with one in a tool you want a single tool to be able to handle the then almost or all the entire history of the language while a compiler can just focus on a normal compiler can just focus on a single one same with things like error recovery you may want your formatter to to be more permissive in the presence of or or forgiving in the presence of errors and similar constraints like that that make having a tooling oriented compiler a great piece of infrastructure for Tool developers and it's publish as a library so you can use it either from rust or typescript and it's also targeting wasm so you can even import it from other other places now EDR it's a portable library also written in Rust it it implements an ethereum simulator in including some layer choose that means that it simulates the network it it's already in production it Powers carat 2 the current version of carat and when we release it we saw performance improvements in massive performance improvements actually in some Car Projects some of them just without changing any single line of code just byting their dependencies starting running 10 times faster and at the same time EDR will simulate do Sim will simulate optimism or upstack chain soon and it will include a solidity test Runner it's again this is a library this is not just build for harat anyone can install it and it can be used for any kind of tool that needs to run simulator simulations or do any kind of runtime analysis finally slang and EDR are system projects what does that mean that they are designed to work together and but that and that's because the combination of both will allow us to do way more advanced things than what we can do with each of them in isolation right now we have a a compiler so see build by one team we have our own Ram times it's hard to collaborate deeply enough to build things like I don't know picture chrome chrome development tools they are dagger you can change variables in real time you can rewrite parts of the code keep running those kind of things are possible we can build them in ethereum but they do require a ton of deep collaboration and integration between the compiler and the runtime and that's the the kind of thing that we are going after at nomic we want EDR and slang to mature to be libraries that everyone can use they will provide the basis for anyone to grab those tools grab those libraries and build the next generation of ethereum tooling with them and that's it if you want to learn more about nomic uh you can scan the QR code I guess it's on your left um that one has information about the different presentations that we are giving at nomic that we are giving at Decon one of them yesterday I already gave it it's about harat 3 the upcoming version of carat it's not ready for production yet but there is an internal Alpha and of information in that presentation it's recorded so you can watch it today I think at 5 or 6 p.m. there's a presentation by one of our team members that's going to explain how EDR can simulate different T CH different networks and tomorrow at 12 or 12:30 there is a presentation about slang and how you can use it to analyze your solidity code with some pretty cool apis finally if you want want to work with us you enjoy the the kind of thing that we do you can scan the other QR code and learn more about show show offerings show positions at nomic and that's it thank you patrio thank you so much and for everyone it's still open for qaa so just Q disc code we do have one question here for you so can EDR be used for things like simulation with altered storage State Storage over rights in tenderly terms yes sorry but that's the whole answer yes it can we have another question here when we advance testing features like symbolic debugging be integrated or will it be possible to connect in Advan noes like build bear sandbox instead of hard heart notes uh well I don't have I don't think I have an answer for the first uh part of the question uh we'll have to analyze it I can promise on any timeline right now uh the second one I think should be possible yes uh if not just reach out through GitHub and we we can analyze it we do have another question here automatic test generation is that something that anomic Foundation is interested in adding wait I can read it is it shouldn't we do can EDR used be used for oh okay cool thank you uh it's not our I'll reread it just in case automatic test generation is that something that the foundation is interested in not in not we're current Focus I think there's a ton of development going on super interesting on AI but that's not the focus of our organization if there is a way to integrate those things cheaply we will but harad itself it's a super flexible platform you can build your own plugin so if you want to experiment with this and create your own automatic generation plug-in automatic test generation plugin should be super safe for where go try it out and tell us how it it went yeah perfect patri you thank you so much for your presentation thanks everyone for your questions we'll be back in 15 minutes
Automatic transcript — names and jargon may be misspelled.