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

feat: Pectra devnet 6 #37

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

feat: Pectra devnet 6 #37

wants to merge 13 commits into from

Conversation

ryanschneider
Copy link
Collaborator

@ryanschneider ryanschneider commented Jan 20, 2025

This is a replacement for #32 that actually works end-to-end!

It's still somewhat of a WIP due to all the random forks/versions of our various deps I'm forced to use, including replace directives in go.mod, but it works for both pectra and decun, so IMO is safe to merge. I'll obviously clean up all the go.mod changes once clients start merging & releasing their pectra code as the testnets get closer (all clients are supposed to be testnet ready by Feb 3rd).

Anyways, it works using:

go run main.go --use-bin-path --electra --use-reth-for-validation

And the following external binaries:

This lighthouse branch: https://github.com/pawanjay176/lighthouse/commits/refactor-mock-builder/

> lighthouse --version
Lighthouse v6.0.1-b58ecaa
BLS library: blst
BLS hardware acceleration: true
SHA256 hardware acceleration: false
Allocator: jemalloc
Profile: release
Specs: mainnet (true), minimal (false), gnosis (false)

And this main version of reth:

> reth --version
reth Version: 1.1.5
Commit SHA: 5db01290f877ea4b8762c25a343bbcb6ea053ebb
Build Timestamp: 2025-01-17T21:43:06.433630000Z
Build Features: asm_keccak,jemalloc
Build Profile: release

And our reth115 rbuilder branch (with some minor config-playground.toml changes I'll PR here shortly).

With these binaries I was able to build and validate pectra blocks end-to-end!

> cargo run --bin rbuilder run config-playground.toml

Send a juicy tx that pays the coinbase.

> ETH_RPC_URL=http://localhost:8645/ cast rpc eth_sendRawTransaction $(cast mktx --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --value 9ether )

And sure enough, we have a pectra block in the builder-playground output!

Block Proposed: Slot: 10, Builder: 0xa1885d66bef164889a2e35845c3b626545d7b0e513efe335e97c3a45e534013fa3bc38c3b7e6143695aecc4872ac52c4, Block: 9

@ryanschneider ryanschneider changed the title Pectra devnet 5 feat: Pectra devnet 5 Jan 20, 2025
ZanCorDX pushed a commit to flashbots/rbuilder that referenced this pull request Jan 21, 2025
… DX (#364)

## 📝 Summary

While getting flashbots/builder-playground#37
working I ran into a couple DX gotchas with the current
`config-playground.toml` file.

## 💡 Motivation and Context

- The `parallel` algoirthm was pegging all my CPUs at 100%. Also figured
just running `mgp-ordering` is enough.
- Having a random coinbase made it harder to test block building since
we only build profitable blocks. IIRC we now have a setting to build
always, but I still think it's cleaner to use the prefunded accounts
from the playground.
- Having debug logs helped a ton tracking down pectra issues, so I
expect it's useful any time anyone is using the playground for
development.

---

## ✅ I have completed the following steps:

* [ ] Run `make lint`
* [ ] Run `make test`
* [ ] Added tests (if applicable)
@ryanschneider ryanschneider changed the title feat: Pectra devnet 5 feat: Pectra devnet 6 Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant