Skip to content

Commit

Permalink
feat: Add support for mev-boost on Holesky (#380)
Browse files Browse the repository at this point in the history
* feat: add mev RelayUrls for Holesky

* feat: update holesky/envs_base.tmpl

* test: add test case in TestSupportMEVBoost

* docs: update docs, README.md, and CHANGELOG.md

* feat: update TestCli/consensus_node_holesky

* feat: update TestCli/consensus_node_holesky

---------

Co-authored-by: Marcos Antonio Maceo <[email protected]>
  • Loading branch information
khalifaa55 and stdevMac authored Jul 4, 2024
1 parent 011fad2 commit 74604f5
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 9 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Add support for MEV-boost on Holesky.

### Changed

- Update client images to Dencun-ready versions.
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,12 @@ Users acknowledge that no warranty is being made of a successful installation. S

### CL clients with Mev-Boost

| Client | Mev-Boost | Networks |
| ---------- | --------- |--------------------------|
| Lighthouse | yes | Mainnet, Sepolia |
| Lodestar | yes | Mainnet, Sepolia |
| Prysm | yes | Mainnet, Sepolia |
| Teku | yes | Mainnet, Sepolia |
| Client | Mev-Boost | Networks |
| ---------- | --------- |---------------------------|
| Lighthouse | yes | Mainnet, Sepolia, Holesky |
| Lodestar | yes | Mainnet, Sepolia, Holesky |
| Prysm | yes | Mainnet, Sepolia, Holesky |
| Teku | yes | Mainnet, Sepolia, Holesky |

## Supported Linux flavours for dependency installation

Expand Down
2 changes: 2 additions & 0 deletions cli/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,7 @@ func TestCli(t *testing.T) {
MapAllPorts: false,
ExecutionApiUrl: "http://execution:5051",
ExecutionAuthUrl: "http://execution:5051",
MevBoostEndpoint: "http://mev-boost:3030",
ContainerTag: "tag",
JWTSecretPath: filepath.Join(generationPath, "jwtsecret"),
}
Expand All @@ -383,6 +384,7 @@ func TestCli(t *testing.T) {
prompter.EXPECT().Input("Container tag, sedge will add to each container and the network, a suffix with the tag", "", false, nil).Return("tag", nil),
prompter.EXPECT().Select("Select consensus client", "", ETHClients["consensus"]).Return(3, nil),
prompter.EXPECT().InputURL("Checkpoint sync URL", configs.NetworksConfigs()[genData.Network].CheckpointSyncURL, false).Return("https://checkpoint-sync.holesky.ethpandaops.io/", nil),
prompter.EXPECT().InputURL("Mev-Boost endpoint", "", false).Return("http://mev-boost:3030", nil),
prompter.EXPECT().InputURL("Execution API URL", "", true).Return("http://execution:5051", nil),
prompter.EXPECT().InputURL("Execution Auth API URL", "", true).Return("http://execution:5051", nil),
prompter.EXPECT().EthAddress("Please enter the Fee Recipient address (press enter to skip it)", "", false).Return("0x2d07a21ebadde0c13e8b91022a7e5732eb6bf5d5", nil),
Expand Down
8 changes: 7 additions & 1 deletion configs/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,14 @@ var networksConfigs map[string]NetworkConfig = map[string]NetworkConfig{
Name: NetworkHolesky,
NetworkService: "merge",
GenesisForkVersion: "0x00017000",
SupportsMEVBoost: false,
SupportsMEVBoost: true,
CheckpointSyncURL: "https://checkpoint-sync.holesky.ethpandaops.io/",
RelayURLs: []string{
"https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-holesky.flashbots.net",
"https://0x8db06236d88cf080e541f894507f6c933d40333405c36c8ea00158c165628ea57ad59b024467fe7d4d31113fadc0e187@holesky.agnostic-relay.net",
"https://0xab78bf8c781c58078c3beb5710c57940874dd96aef2835e7742c866b4c7c0406754376c2c8285a36c630346aa5c5f833@holesky.aestus.live",
"https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@holesky.titanrelay.xyz",
},
},
NetworkCustom: {
Name: NetworkCustom,
Expand Down
5 changes: 5 additions & 0 deletions configs/networks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,11 @@ func TestSupportMEVBoost(t *testing.T) {
network: "sepolia",
want: true,
},
{
name: "Valid network, holesky",
network: "holesky",
want: true,
},
{
name: "Valid network, gnosis",
network: "gnosis",
Expand Down
8 changes: 8 additions & 0 deletions docs/docs/networks/holesky.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ Holesky is Ethereum's public testnet that serves as a technical experimentation
- [Prysm](https://docs.prylabs.network/docs/getting-started/)
- [Teku](https://docs.teku.consensys.net/en/latest/)

## MEV-Boost

We support [mev-boost](https://github.com/flashbots/mev-boost) on holesky by default, in case you want to remove it,
run `sedge generate full-node` using the `--no-mev-boost` flag, for example:

```
sedge generate full-node --network=holesky --no-mev-boost=true
```

## Generating a Full Node

Expand Down
4 changes: 2 additions & 2 deletions templates/envs/holesky/env_base.tmpl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{{/* docker-compose_base.tmpl */}}
{{ define "env" }}
# --- Global configuration ---
NETWORK=holesky
{{if .FeeRecipient}}
NETWORK=holesky{{if .WithMevBoostClient}}
RELAY_URLS={{.RelayURLs}}{{end}}{{if .FeeRecipient}}
FEE_RECIPIENT={{.FeeRecipient}}{{end}}
{{template "execution" .}}
{{template "consensus" .}}
Expand Down

0 comments on commit 74604f5

Please sign in to comment.