If so, please tell us more here:
Yes I am interested. I find playing with Ethereum ecosystem very exciting. What software I need to build my own builder ? I see lots of documentation around but I am more of a install the SW , roll up the sleeves and learn.
Hello @vishal. See here: GitHub - flashbots/boost-geth-builder: Example builder
You can ask your questions, if any, in that thread.
Thank you.
In addition to our Goerli relay, we’ve now also opened block submissions on our Sepolia relay (where our relay delivers about 1 in 5 blocks).
Sepolia relay block submission endpoints:
-
getValidators
: https://builder-relay-sepolia.flashbots.net/relay/v1/builder/validators (GET) - array of proposer preferences for registered validators with assigned duties in the current and next epoch -
submitBlock
: https://builder-relay-sepolia.flashbots.net/relay/v1/builder/blocks (POST)
Goerli relay block submission endpoints:
-
getValidators
: https://builder-relay-goerli.flashbots.net/relay/v1/builder/validators (GET) - array of proposer preferences for registered validators with assigned duties in the current and next epoch -
submitBlock
: https://builder-relay-goerli.flashbots.net/relay/v1/builder/blocks (POST)
See also:
Note: Submissions are currently rate-limited to 60 requests / minute / IP address.
Btw, the Flashbots mainnet relay will also allow external builder submissions from the get-go (the merge), in the same way as our testnet relays.
Mainnet relay block submission endpoints:
-
getValidators
: https://boost-relay.flashbots.net/relay/v1/builder/validators (GET) - array of proposer preferences for registered validators with assigned duties in the current and next epoch -
submitBlock
: https://boost-relay.flashbots.net/relay/v1/builder/blocks (POST)
Are you triggering the block production? You will need to run the custom Prysm fork from GitHub - flashbots/prysm: Our custom Prysm fork for boost relay and builder CL. Sends payload attributes for block building on every slot to trigger building.
I ran the flashbot prysm program, but it still did not appear in the build block
This is my start command
@grust - let’s move to Issues · flashbots/boost-geth-builder · GitHub
Please attach your logs there!
ok,Submitted
For reference - geth builder doesn't seem to work · Issue #29 · flashbots/boost-geth-builder · GitHub
I am toying around with a builder at the moment. I like to have my blocks / bundles saved into a DB for analyzing the behaviour a bit better than just with the logs…
I can see in the docs that this is supposed to be possible with the builder by using flashbotsextra.IDatabaseService.
however I am not sure what kind of a database am I supposed to deploy and how to configure builder-geth to use it?
any pointers here please?
You need a Postgres database, and configure the DSN via the FLASHBOTS_POSTGRES_DSN
environment variable:
- builder/service.go at 586fbec873e3ec9952f8aa185fa5942b4346efde · flashbots/builder · GitHub
- builder/database.go at main · flashbots/builder · GitHub
You can spin up such a database with Docker like this:
docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgres postgres
then you’d set the environment variable like this:
export FLASHBOTS_POSTGRES_DSN="postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable"
Thanks a bunch! this is really helpful. I would assume that I`ll have to create the db schema manually? cheers
Oh yeah, seems that the schema is not yet in there.
For now, you’d have to reconstruct the two tables (built_blocks
and bundles
) based on the types and tests. If you manage to get it done, a PR would be nice!
Definitely! Will have to clean up my script first as I am not super experienced with postgres. (understatement)
Btw how exactly will these two tables be populated? Do I need to enable local relay for saving the built blocks? Which process is responsible for saving the incoming bundles into postgres? cheers