Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add eth_sendMegabundle RPC #52

Closed
thegostep opened this issue Apr 16, 2021 · 2 comments · Fixed by #90
Closed

add eth_sendMegabundle RPC #52

thegostep opened this issue Apr 16, 2021 · 2 comments · Fixed by #90
Assignees
Labels
enhancement New feature or request

Comments

@thegostep
Copy link

thegostep commented Apr 16, 2021

Description

eth_sendMegaBundle would allow for sending bundles which bypass the bundle scoring auction and instead are directly inserted in a block in the multi-worker

the mev-geth node is reponsible for filling the remaining space in the block with transactions from the mempool

the rpc parameters would be:

{
    "transaction_list": [],
    "timestamp": "",
    "coinbase_diff": "",
    "coinbase": "0x",
    "parent_hash": "",
}

Specification

https://docs.flashbots.net/flashbots-auction/miners/mev-geth-spec/v04

@pgebheim pgebheim assigned bogatyy and unassigned fxfactorial Aug 5, 2021
@pgebheim pgebheim linked a pull request Aug 27, 2021 that will close this issue
3 tasks
@pgebheim pgebheim added this to the v0.4 milestone Aug 27, 2021
@pgebheim pgebheim added the enhancement New feature or request label Aug 30, 2021
@bogatyy
Copy link

bogatyy commented Sep 1, 2021

Met with @tkstanczak @jparyani @pgebheim , decided the following:

  1. RLP is decidedly better than JSON (which was only used on Flashbots relay outside Geth), so definitely serializing via RLP
  2. blockNumber is going to be a uint. Jason thinks it's cleaner and hex block numbers were a mistake to begin with. Ivan had a slight preference for keeping compatibility with the standard block number format (hex), but ok with uint too.
  3. For RLP serialization, we will have a separate data structure. It will not have a relaySignature field, and all the fields will be mandatory (e.g. mandatory zeros for minTimestamp, maxTimestamp). Goal is to make it 100% obvious that serializations are deterministic, and not worry about nils vs zeros.

@bogatyy
Copy link

bogatyy commented Sep 2, 2021

Pushed out a fix to conform to the meeting decisions above, in the PR #86

Also, as FYI, here is an example of a megabundle builder in Python https://github.com/Mining-DAO/examples/blob/main/megabundle_sender.py

@bogatyy bogatyy changed the title add eth_sendMegaBundle RPC add eth_sendMegabundle RPC Sep 7, 2021
@pgebheim pgebheim linked a pull request Sep 9, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants