RPC Standards #35

RPC Standards · 21 Sept 2026 · 32:50

Call 35 of RPC Standards, held on 21 September 2026. Client teams and tooling developers work on the shared JSON-RPC specification.

Speakers

Topics

From RPC Standards, hosted by Ethereum Foundation.

Transcript

Chase Wright: Hello.

Mercy Boma Naps-Nkari: Hello.

Simsonraj Easvarasakthi: Oh.

Mercy Boma Naps-Nkari: Okay, I'm looking at the agenda, I don't think I have… I included error codes discussion to it. But I'm not sure, it seems, do you, like, have any updates? This is…

Simsonraj Easvarasakthi: Hey, sorry, I was out a little bit. I was traveling. I see that now… A conversation happened around the error codes. I know Chase and I was trying to, I'll follow up with, Cena, I guess? I'm not sure if Sina joined and gave any updates on the…

Chase Wright: Yeah, CNO doesn't join RPC Standards calls anymore.

Simsonraj Easvarasakthi: Okay, okay. Okay, in that case, my recommendation would be the main blocking concern was, simulate V1. That was using the legacy uncategorized error codes. Apparently, some team is relying on the Simulate V1. So, my recommendation would be to leave that alone, and tackle that in Simulate V2, because the main goal of this is to address users' concerns who are using it from end users' perspective. Who would rely on some, you know, wallet or cross-chain, compatibility? So I think having the categorization as it is is decent, and we can proceed, and then maybe change it in upcoming revisions is what I would suggest. Yeah, of course, we'll need some sort of cleanup, a little bit, to address some concerns.

But otherwise, I don't think we should categorize as CINA, shared earlier. He was trying to categorize as validation errors, execution errors, And some runtime errors. I think, that's not… Good… in my opinion.

Chase Wright: So, like, the way that I see it is, I don't… I don't have a problem with what you're suggesting. The… but the… the way that I see it right now is that… None of the clients are… are in compliance with the proposed standard, right? And so…

Simsonraj Easvarasakthi: Yeah, yeah.

Chase Wright: like… like… we need a champion who can, like, get… go Ethereum and or Nethermind, or Erigon, Reth, whatever, to, like.

Simsonraj Easvarasakthi: Yeah, yeah.

Chase Wright: actually make those implementations. And so, like, like, I created a PR to try and do it, right? And then that's when it kind of got blocked by, like, mostly Sina's suggestions, and Felix's suggestions, and these questions came up, and so it's like… I don't have a problem going either way, and I kind of agree that maybe Simulate V1 is just special, and we… We leave it at that, but then, like, at some point. the clients actually have to implement it, and without, a champion to push that through and get GetH to say, okay, we're gonna merge this, and these are the new error code standards, I don't… I don't know what to do.

Simsonraj Easvarasakthi: No, no, you're absolutely right, because I was waiting, because I thought Sina was the one who was trying to do that in Get, or Cena and Felix. Given the fact that we haven't gotten any updates on it, I can… probably own this. As long as GetHead, pretty much everyone will follow, in my opinion. So I can, work with Felix, maybe. I'm not sure if Felix is joining lately, but I can probably try and… And I'll jump on a call with him separately.

Chase Wright: Yeah, I think that might… that might help, if you could contact him directly and try and… Yeah. …try and set up something with him. He's been on, on vacation PTO for a little while,

Simsonraj Easvarasakthi: Okay.

Chase Wright: He seems to be, back, but I don't… I don't know that he's gonna be joining this call anytime soon.

Simsonraj Easvarasakthi: No worries. Yeah, I'll just DM him, and I'll get in touch with him. Yeah. No, that sounds good, because I was just waiting for Sina's suggestion, and I was off a little bit, too. I think we… we sort of have to push some version into the actual clients, and then see how… what direction it takes. Otherwise, we'll keep just, you know, arguing over the semantics of this.

Chase Wright: Yeah, fully agree.

Simsonraj Easvarasakthi: Cool. Yeah, I can own this. I'll try and talk with Sina, and… see where that leads us. Sir, not take off, Felix.

Chase Wright: Sounds good.

Mercy Boma Naps-Nkari: Sorry, I was on mute. Okay, thank you. I think…

Chase Wright: So, like, I know, I know we have the PM issue, but, like, I think if you just look at… my meta issue for V1 release, it basically covers all of this stuff. And… So, the way I see it right now, the biggest blockers are the GoEthereum PRs that I have open. They've all been more or less, you know, given a thumbs up, looks good to me. They haven't been merged yet, though, and that's kind of, like, the biggest blocker for the eSimulate V1 stuff. I did… I did ping Marius again, and I pinged Felix again this morning, just saying, like, hey, you guys have thumbs up this, like… is there any additional feedback, or, like, can we get these merged? So, I know they're very busy with Glamsterdam stuff, but hopefully this is falling in that,

That category, and so… Yeah, so that's… that's basically where we're at. Like, there's, like… 3 or 4 GoEthereum PRs. that are blocking. One of them is… one of them's not mine, but it's also been updated. And once all of those are in, then I think we could make heavy progress on… All of these issues that are linked here in this meta, I don't… if we go back… so if we go to your PM, I'm trying to see… I don't know if anything in your… Your PM is not in this V1 tracker.

Mercy Boma Naps-Nkari: Yeah, what about the, this blocked… Like, how do we unblock it? That's what I want to know.

Chase Wright: Okay, block check-ins, so… Okay, well, the first one is… So the first one… is blocked, kind of, on Amsterdam, but not… Exactly, I think we made the decision that the index should be Blocks Global, Block Global, so… I think that needs to be up, so this one needs to be updated. I'm gonna make a note of that, because this one's… This one's mine, so I need to update this. I need to specify in the… spec, that index should be block global, and then… We're gonna need… PRs to fix some of the clients. So… Yeah.

Alright, let me make a note of that.

Mercy Boma Naps-Nkari: Okay, what about, the other hive? Excuse me. I think there was one hive issue that… yeah, there's…

Chase Wright: Oh, Jesus. Yeah, okay, so the Hive… Ding… this may get closed, so… Felix has a… yeah, so… Felix has, a PR. He has two… he has two PRs. He has one to execution APIs, and one to Hive. Both of them are currently… works in progress, though. So… It's probably likely that my PR in Hive for… the… the schema validation's probably gonna get closed in favor of Felix's work, but Felix's work is still work in progress. But this is going to allow us to add Go scripts Into the testing, files? And then the test… and then those gos scripts will be able to do the schema validation?

But they're both work in progress. So, we can't… I can't merge them or anything until Felix… Finishes his, his work.

Mercy Boma Naps-Nkari: So, you're saying one of your Hive PR has, like, this should be closed. I just want to, like, keep… have a mental note of it.

Chase Wright: Yeah, probably. I mean, we got, like, Felix's work has to finish, and then it's probably gonna supersede that, and… So, yeah. So, Felix's solution is… A more flexible, a more powerful, and less messy solution to the same problem? So… Yeah, that's likely what's gonna happen. I'm probably gonna close mine, and we're gonna merge Felix's validation scripts. And then… and then we'll go from there. So, the… the call tracer stuff… doesn't necessarily depend on that, like, it's not an absolute requirement, but it is related, and so it would be nice if we could get Felix's stuff done and merged. and then that way, the call tracer schema can be validated in a script.

Mercy Boma Naps-Nkari: Okay.

Chase Wright: That makes sense.

Mercy Boma Naps-Nkari: So, is there anything on the blocked check and, list that I need to be aware of? Because I think I lost…

Chase Wright: Let's see… Yeah, I mean, the next one, the slot number, that one, that one needs… that one needs Glamsterdam support. So that's the same thing. You see, trash. Don't know. Yeah, right, so this one… That depends on a GoEthereum PR, so that's another one we're waiting on. That one's tracked in the tracker. Some more call tracer stuff… There's an engine blocker? Looks good to me. Wait… okay, so this one's just waiting on… some EIP.

Execution by inspect. Yeah, I don't know. The execution witness spec is not going anywhere for now. then the EIP 1898, block objects, like… I don't know. My client… Never responded. I… I need someone else. to either… approve it, or we can just merge it. I don't… I don't know.

Mercy Boma Naps-Nkari: There you can CC Felix. If you respond?

Chase Wright: Yeah, sure.

Mercy Boma Naps-Nkari: I think that's… we don't… I'm not sure if there's any other thing, like, everything is covered on your meta, tracking issue, like you said, so… Nothing else. I believe.

Chase Wright: Yeah, I mean, the majority of the stuff in the MetaV1 release tracker is hanging on, essentially, like, forego…

Mercy Boma Naps-Nkari: Tenia.

Chase Wright: And then, when and if those four go Ethereum PRs, then, like, the majority of this stuff becomes unblocked, and I can make… Updates… to the… the necessary PRs to target the latest Go version, and… Then everything can… basically get stamps and merges. Like, there's nothing that is… Blocked by, like… appro… like… like, people have questions or anything, right? Like, the majority of everything is… in agreement? It's just… We have to upgrade to Glamsterdam. In order to update to Glamsterdam, we have to fix eSimulate V1. In order to fix eSimulate V1, we need to go Ethereum PRs merged. It's basically it.

Mercy Boma Naps-Nkari: Okay, so… To sum it up, we just have to wait for them to, like, when they get less busy, or… Or maybe you can, like, push them a little bit to tell them that this is blocking our release, we are planning to make.

Chase Wright: Yeah, I mean, like I said, I pinged… I pinged Marius and Felix today, They're just more conservative with merging stuff into death main than everybody else, so… so I guess… I gotta pass to them.

Mercy Boma Naps-Nkari: Okay, I think that's all, if that is the case. I don't know if we have another thing, maybe something I did not put in the agenda. Someone else… Sorry, I compromise this thing. crops? It's that corrupt.

crebsy: Hey, Laura.

Chase Wright: So, I…

crebsy: crebsy? Yeah, sorry, I just have a question, I just have a question to that… to that open issue and execution APIs. The 890, regarding the… harmonization of the tracing APIs, so I don't know if you have talked about already, because I was a bit late to the meeting, sorry.

Chase Wright: Yeah, no, actually, that was the next thing I was gonna bring up, because…

crebsy: Oh, nice.

Chase Wright: Yeah, like, so… So, I think the issue is… has been laid out fairly… Fine. The… but, like, the… the next step, right, is that… you know. Mantec posted the findings, right? And… The clients have significant differences, and so… like… I'm… I'm… I'm probably not smart enough to know all of the, like, intimate EVM details of the trace outputs, and I'm not, like, a… I don't… I don't, like, write, you know, a block indexer or whatever, so I don't know… who's right and who's wrong. Like, that's… that's probably the problem. And so, like. I could probably throw a couple AIs at it, right, and be like, hey, figure this out. But, like, we really need a champion who actually

ingests this stuff and uses it to be like, okay, well, I use it, and Reth does this, Nethermind does this, and, you know, Nethermind is the correct way, or Reth is the correct way, and so here's my proposal. Because… the spec… Right, if we're gonna write the spec, then all the clients need to follow the spec. But right now, there's significant differences in their outputs. And I don't know who's right or who's wrong. Yeah.

crebsy: I think… I think maybe if… I think the idea maybe was that if, the trace namespace became part of that spec. then clients would have to implement it, and we could easily write Hive tests for it. Yes. And also then, like, the second… the second question could be if GEF wanted to also go then to the trace, like, move their code to the trace namespace, or not, because I think they are in the debug namespace. And… and if they don't want to change that, I mean, it's also fine, I guess, but then it's a question if they would accept an optional Trace Nimb space for that. for that spec, for implementing that spec, so that those Hive tests could run against all clients, right?

Chase Wright: Yeah, so, I don't think it's a matter of moving… traces from debug to the trace namespace. I think it's a matter of, will GoEthereum implement the trace namespace? Because all of the clients support the debug namespace. Every one of them, right? And so, GoEthereum is basically the only one that doesn't support the trace namespace. But. like I said, even though every other client implements the trace namespace, they have slight differences. And so, until we can unify those differences into a concrete spec and get them all to agree. I'm not sure Geth is gonna lift a finger, you know what I mean? But if we.

crebsy: Yeah, sure.

Chase Wright: We get them all to agree, and we have a proposed spec, and we say, like, you know, hey, 5 of 6 clients all agree, so, like.

crebsy: Yeah.

Chase Wright: guest to do this, then I think… I think they will.

crebsy: Yeah, sure.

Chase Wright: That also doesn't mean that the debug namespace is going to go away. They all… they all currently support it. Right? And maybe it'll go away in the future, you know, in year from now, but that seems unlikely, because too many people rely on it, too many apps rely on it, so it'd be very challenging. But I don't think it's impossible that we're gonna add the trace namespace. I think we could do it. It's just, like, it's not a priority for me right now. Like, I'm very focused on, like, we need to get a V1 of the spec released, and that means updating to Glamsterdam, fixing the simulate. And then, you know, once all of that's done, we have some more cycles, then, like, I'd be happy to help out trying to write a spec and get all the clients to agree. But, like I said, my problem is I don't know who's right and who's wrong, what field is necessary and not necessary, you know what I mean? So it'll be a little challenging.

crebsy: Yeah, I mean, I think it's also quite different, like, from the semantics, or from the way that the data is returned. Bonsai has found many variants, you know, and it's… he has found many examples, like, how they deviate, so it would be very good, I think, to have that spec. Because otherwise it would just stay as is. I mean, yeah, so… Probably, probably would be worth to, to, to, to think more about it, like. Like, do we really want to harmonize that at all, or do we want to keep it as is with the… current workarounds also in the tools that are… exist for… for different nodes, or different clients, right? So… Yeah, would be good, would be good to, to, to just know

if there will be any change soon, or if it's rather something that will be postponed or will come later, because that decides, like, if we do any PRs that's on the client sides, right? Because it doesn't make sense to create PRs if there's no spec for it. Right? So we don't know what… what… how should… should it look like. So, basically what you said, but, yeah.

Chase Wright: Yeah, and… and so, like, the way that I see it is, like, the next step is that someone should write the spec, right? And it should have the schema of… of the response. And all the key values that are optional and mandatory. It should look just like any of the other, any of the other methods, right? Where it has the inputs, the outputs. optional values, what the… what the format of the response looks like, it should look exactly like all the other ones, and then what we need to do is just do, like, a merge of, like, okay, this is how Nethermind is different, this is how Reth is different, this is how Besu is different, or whatever, and then…

decide… some… some Frankenstein's monster of… This is what the specs should be. And this is how Nethermind has to change, this is how Reth has to change, this is how Besu has to change. And then, if we can get everyone to agree on that, then it becomes a hundred times easier, we can start opening the PRs to make everyone in alignment.

crebsy: And do you think we should do that in a way that we would adapt the existing trace, methods, or would you rather say we should have, Trace V2 for this new functionality, so they… or the new spec-based functionality, so that both could coexist, and then we later wipe out the old one, or what do you think is better?

Chase Wright: So, that's a good question, because I don't, like, I don't know who's relying on… the trace namespace. So, like, let's say that today you are, I don't know, Etherscan or someone, right? And you're running a bunch of ref nodes to support the trace method, right? if tomorrow Reh changes, then how impactful is that? Because… but right now, if you're Etherscan and you're running this trace method, you can't switch to Nethermind, or BASU, because the response is going to be different, unless you have in your codebase all of those if statements of, like, okay, if it's Besu, I want this. If it's Nethermind, it's gonna be like this. And I think that's kind of what a lot of…

Block Explorers and things like that are forced to do today. And so, if we were to standardize it into an actual standard and made all the clients agree, then… I think it's probably okay. Because… to just standardize it as, you know, trace block, trace Transaction, whatever, because there is no standard version today. If there was a standard today. and it was the same across all clients, then yeah, I'd say maybe we do V2 or something, but…

crebsy: Yeah, good point, yeah, yeah, I agree. Okay, cool. Yeah, thanks. Good to know.

Chase Wright: Oh my god.

Mercy Boma Naps-Nkari: I have a question. How… how do we actually, like, get… Clients to see… About the issue, and then… We can now go further to discuss about, how… The method should look like, or what it should be. In general.

Chase Wright: Yeah, I mean, I think the only way to do that is to propose To propose the spec, and get them to look at it, and… have an opinion on it. I mean, we did the same… Like, do we propose.

Mercy Boma Naps-Nkari: Do we make… Do we make the proposal first, or we just tell them to get their opinions, and then… Gara feedback on…

Chase Wright: Well, you know what they say, the quickest way to get the correct answer is to post the incorrect answer on the internet.

Mercy Boma Naps-Nkari: Oh, okay.

crebsy: I mean, we can easily, if we define the specs, we could create a diff of the results, right? Like, what clients create what diff to the expected spec, and then we could, like, generate tests from that, and see, or generate even PRs from that, as a first Shot, but yeah, first we need the spec.

Chase Wright: Yeah, yeah, so, like, when I did the OpCode Tracer, that was one of the things that I did, is I created a table of, like, here's how all the clients disagree, and here is the change that this client would have to make to… to align with GetH, or to align with the spec, or whatever it is. And I think that… that provides a very, very quick observable, like, snapshot of, like, oh, okay, I see. This client's different this way, this client's different that way, and these are the small changes that we would have to make. It's… it's a lot easier to get everyone to… on board, because… You know, they don't want to read the entire spec line by line, but if you can give them a little table that says, like, this is the diff.

this… GoEthereum does this, Nethermind does this, Reth does this, and here's how the proposed change will impact that client. I think it's way easier to get a review, to get an approval, and everyone to be like, yeah, that's fine, whatever.

crebsy: Yeah, it makes a lot of sense. That's a cool idea.

Mercy Boma Naps-Nkari: Okay, so, but should we expect a PR from you on this? Is this something you can do?

Chase Wright: I mean, I could probably talk to Bentag about it, and then… and do it. I don't know that I'm gonna do it, like. this week, or whatever, like, I could probably start looking at it, But, yeah, I don't know. I'm hoping the GoEthereum stuff will get done, and then I can shift focus. Like, I just really want to get Amsterdam out the door first, and…

crebsy: Yeah.

Chase Wright: the V1 release, because I don't think… like, this is not going to make it into the V1 release of the standards, right? So…

crebsy: Yeah.

Chase Wright: It's not a priority, but, like, I can throw some AI agents at it.

crebsy: Yeah, would be great. I mean, Pantec is well more into that than I am, and so it would be great if you could ping him directly about it. I mean, he would like that, I guess.

Mercy Boma Naps-Nkari: I can probably try to, like, take a look at it if something… something I can handle would do. I think that's… sorry, excuse me, I think that's all from today, I don't know. Ahmad changes, I don't know if he has anything, or… Any other topic to discuss? Probably not.

Ahmad Wilson: Dude, someone… Mention my name? Sorry, Boma. Not sure if you said Ahmad or somebody else.

Mercy Boma Naps-Nkari: Oh, sorry, I was asking if you have anything to say to us, or we can call it, because we almost… we're just rounding up.

Ahmad Wilson: Oh, got it, cool. Yeah, no, I, I think I… a message to some of you guys before that I, I've wanted to contribute, and to attend this meeting more regularly, but I've had a, pre-existing Appointment, that usually happens around this time in the morning. I live in the US, Central Time. And so I've been trying to juggle that around, or yeah, just kind of reschedule it, and so hopefully I should be able to attend more, but, but yeah, it's just hearing what you guys are talking about, I feel like, I've been able to make a few contributions, but there's a lot I have to learn and, like, really research, to, you know, to have a better understanding, so… so yeah, nothing really on my end. I think there's one PR out that's waiting on, I think it's maybe 867.

won't go into too much detail there, people can check if they're interested. But… but yeah, other than that, I'm really just trying to find ways to, you know, to be more helpful, and fill in any gaps. So yeah, that probably starts with attending this meeting more regularly, so yeah, that's… it's been pretty much a goal, thus far.

Mercy Boma Naps-Nkari: Oh, okay, thank you, thank you for joining. I think that's all. Sorry. That's all for today. Thank you all for joining EL Nest, so it's probably by then we should have our, release done. I think by degrees of good, fingers crossed.

Chase Wright: Let's hope so. Alright, bye, everybody.

Mercy Boma Naps-Nkari: Alright, bye.

crebsy: Thanks, bye.

Ahmad Wilson: Bye, guys.

Transcript adapted from ethereum/pm, CC BY-SA 3.0.