go-ethereum icon indicating copy to clipboard operation
go-ethereum copied to clipboard

RPC `Client` doesn't contain London hardfork methods

Open fedekunze opened this issue 3 years ago • 9 comments

Rationale

ethclient.Client or gethclient.Client should contain the latest methods from the London hard fork (eth_feeHistory, eth_resend, eth_fillTransaction, etc)

Why should this feature exist?

go Clients should be able to call the new methods without having to implement a new client

What are the use-cases?

E2E and integration tests, APIs, support latest changes on the RPC server, etc

Do you have ideas regarding the implementation of this feature?

  • Define a list of missing methods and where should they be implemented (gethclient or ethclient)
  • Implement based on other references from the same package
  • Test

Are you willing to implement this feature?

yes

fedekunze avatar Nov 23 '21 22:11 fedekunze

I think the reasoning usually is that ethclient should contain mostly methods that are implemented broadly -- so it can be used equally against a nethermind/besu node, as with geth. Not sure if they support those methods..?

holiman avatar Nov 24 '21 10:11 holiman

I think we should add them to gethclient first

fjl avatar Nov 24 '21 18:11 fjl

@fedekunze are you willing to implement these RPC calls in gethclient?

MariusVanDerWijden avatar Jan 02 '23 13:01 MariusVanDerWijden

The Ethclient has eth_feeHistory now. The other methods are not implemented in either ethclient or gethclient yet. I would argue that they are not used very often so it only makes sense to add them if someone really needs them and wants to provide the code for it.

MariusVanDerWijden avatar Dec 01 '23 10:12 MariusVanDerWijden

Hi @MariusVanDerWijden, Is this task still available?. I would like to work on it. Please let me know where can i get the list of all the RPC calls that needs to be implemented for geth.

akaladarshi avatar Dec 11 '23 12:12 akaladarshi

up-for-grabs

Nouri11190 avatar Jan 22 '24 04:01 Nouri11190

push the changes you made to the new header (Privasea.ai)

Nouri11190 avatar Jan 22 '24 04:01 Nouri11190

does this still under working in progress?

charles-chenzz avatar Apr 12 '24 02:04 charles-chenzz

We will not add eth_fillTransaction to ethclient, because it has a different approach to transaction sending that requires you to construct the tx yourself on the client side. eth_resend is kind of deprecated (it's not even in the API spec).

fjl avatar Apr 13 '24 11:04 fjl

Does this issue need work? If so, I'd like to take a stab at it by adding to the gethclient.

jonreiland avatar Jul 23 '24 17:07 jonreiland

I think it's okay to close this. eth_feeHistory was implemented and we won't implement the other two in ethclient.

lightclient avatar Jul 23 '24 17:07 lightclient