flashbots / builder

Flashbots MEV-Boost Block Builder
https://docs.flashbots.net/flashbots-mev-boost/block-builders
GNU Lesser General Public License v3.0
422 stars 137 forks source link

What should I do for block builder to send a block to relay/relays? #75

Open yanikitat opened 1 year ago

yanikitat commented 1 year ago

Hello guys! I'm investigating your projects a couple days and I have some problems/questions.

  1. Why when I call eth_sendBundle rpc call of my flashbots block builder I'm getting empty response? Or, if to be more precise, I'm getting an empty BundleHash. This is how response looks like: {BundleHash:} But! When I send exactly the same request to the public https://boost-relay-goerli.flashbots.net I'm getting the BundleHash
  2. I have some trouble with documentation of builder in general. I can't find the list of the supported rpc call (I have found this, but i'm not sure that this is about block builder).
  3. And the main point that I don't understand -- what should I do for block builder to send a block to relay/relays? Maybe even empty block or block with one tx. Now I just want to test it, make sure that my block builder is working and look how it works.

This is how I run my block builder: ./build/bin/geth --goerli --builder --builder.remote_relay_endpoint https://boost-relay-goerli.flashbots.net --log.debug I'm also add BUILDER_TX_SIGNING_KEY env var

I will glad if somebody will be able to help me and explain how it works:) Also if you need more info please let me know

yanikitat commented 1 year ago

Okay, I have ran prysm consensus client, but I can't understand does block builder gets trigger from prysm for block building or not. Can block builder build block while syncing?

zh0glikk commented 1 year ago

any updates?

yanikitat commented 1 year ago

No, but I have figured out it by myself. I can write my solution and close this issue if necessary

aaroua5 commented 1 year ago

Yes Please

aaroua5 commented 1 year ago

@yanikitat can you explain please ?

manishparanjape commented 1 year ago

@yanikitat can you provide details here please?

ezynda3 commented 10 months ago

https://github.com/flashbots/builder/blob/03ee71cf0a344397204f65ff6d3a917ee8e06724/internal/ethapi/api.go#L2142 should be something more like:

func (s *PrivateTxBundleAPI) SendBundle(ctx context.Context, args SendBundleArgs) (map[string]interface{}, error)

And the body should be:

map[string]interface{}{"bundleHash": bundleHash}

bundleHash needs to be return from all the subcalls made by this top level method.

ezynda3 commented 10 months ago

I've modified this on my own personal instance and can make a PR if that's something people want.

dewindtk commented 10 months ago

@yanikitat @ezynda3 I am actually struggling with the same thing, I am discussing my issue on the flashbots discord without yet success: https://discord.com/channels/755466764501909692/1172625715632549980

Basically, I eth_sendBundle a transaction through the geth console, this bundle gets recognized, the payload gets updated sucessfully but is never sent to the Relay. Operating on my private devnet.

I would immensely appreciate ANY help on this matter

manishparanjape commented 9 months ago

@ezynda3 Can you share your PR please?

forencen commented 8 months ago

hello, I'm having the same problem, I can't get the BundleHash, what should I if solve it?