floating / frame

System-wide Web3 for macOS, Windows and Linux
https://frame.sh
GNU General Public License v3.0
1.07k stars 148 forks source link

Make the transaction submission RPC separately configurable #1536

Open PlasmaPower opened 1 year ago

PlasmaPower commented 1 year ago

In addition to the primary and secondary (fallback) RPC URLs, it'd be useful to also support a transaction submission RPC which would handle all eth_sendRawTransaction requests. By default, this would be empty and just use the primary RPC, but this could be set by users to e.g. https://rpc.flashbots.net to use flashbots protect and prevent frontrunning (setting aside uncle risk). While flashbots does support forwarding non-mutating requests to another RPC via a query string in their RPC, I'd like to use my local node for non-mutating requests, which wouldn't be possible with that mechanism. In addition, this seems like a generally sensible feature to protect users from harmful MEV.

goosewobbler commented 1 year ago

@PlasmaPower Would this be covered by an implementation of wallet_switchNetworkRpcProvider as detailed in #1542?

PlasmaPower commented 1 year ago

I don't think so -- I'm looking for something the user would do to split up their traffic between an RPC they want to submit transactions with and a separate RPC they want to do non-mutating calls against. #1542 would help the website switch RPCs to one more usable for transaction submission, but it doesn't seem to split up the traffic as desired.

goosewobbler commented 1 year ago

I suspected as much. I don't think the "solves" part of that ticket is accurate.