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: added docs for the mainnet #202

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions snippets/mainnet-addresses.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,12 @@ export const MevCommitAVSProxyAddress = "0xBc77233855e3274E1903771675Eb71E602D9D
export const MevCommitAVSImplementationAddress = "0x5A68216faE665dF4650597B7472101Bb1b66C208";
export const ValidatorOptInRouterProxyAddress = "0x821798d7b9d57dF7Ed7616ef9111A616aB19ed64";
export const ValidatorOptInRouterImplementationAddress = "0x585963E61dd3943bAe02F4f2dBaE0f9EDBa842Af";

export const BidderRegistryAddressMainnet0_8_0 = "0x948eCD70FaeF6746A30a00F30f8b9fB2659e4062";
export const ProviderRegistryAddressMainnet0_8_0 = "0x1C2a592950E5dAd49c0E2F3A402DCF496bdf7b67";
export const PreconfManagerAddressMainnet0_8_0 = "0xa254D1A10777e358B0c2e945343664c7309A0D9d";
export const OracleAddressMainnet0_8_0 = "0xCd27C2Dc26d37Bb17686F709Db438D3Dc546437C";
export const BlockTrackerAddressMainnet0_8_0 = "0x0b3b6Cf113959214E313d6Ad37Ad56831acb1776";
export const SettlementGatewayMainnet0_8_0 = "0xFaF6F0d4bbc7bC33a4b403b274aBb82d0E794202";

export const L1GatewayMainnet0_8_0 = "0x567f0f6d4f7A306c9824d5Ffd0E26f39682cDd7c";
8 changes: 7 additions & 1 deletion v0.8.0/developers/contracts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

The [mev-commit contracts](https://github.com/primev/mev-commit/tree/main/contracts) verify and manage the movement of funds as a response to bid and commitment activities that occur on our p2p network.

For mev-commit mainnet contract addresses please refer to [Mainnet](/v0.8.0/developers/mainnet) section.

For mev-commit testnet contract addresses please refer to [Testnet](/v0.8.0/developers/testnet) section.

## Core Contracts
Expand Down Expand Up @@ -50,4 +52,8 @@ The standard bridge protocol for native ETH transfers between L1 and the mev-com

## Deploying Custom Contracts

you can deploy any EVM compatible contracts to the mev-commit chain, simply set your **Chain ID to 17864** and RPC Url to `https://chainrpc.testnet.mev-commit.xyz`.
### Mainnet
You can deploy any EVM compatible contracts to the mev-commit chain, simply set your **Chain ID to tbd** and RPC Url to `https://chainrpc.mev-commit.xyz`.

### Testnet
You can deploy any EVM compatible contracts to the mev-commit chain, simply set your **Chain ID to 17864** and RPC Url to `https://chainrpc.testnet.mev-commit.xyz`.
94 changes: 93 additions & 1 deletion v0.8.0/developers/mainnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,91 @@ title: Mev-commit Mainnet
sidebarTitle: Mainnet
---

Mev-commit is rolling out support for Ethereum mainnet in the coming weeks! Below is what's been deployed so far.
Live with Ethereum Mainnet, mev-commit allows bidders and providers to engage in execution service bids and commitments. Preconfirmations, the first use case for real-time bids and commitments, are available with mev-commit.

## **Links and Connection Details**

### **Services links**

| Service | Link |
| ----------------- | ---------------------------------------------------------------------------------------------- |
| Mainnet RPC | [https://chainrpc.mev-commit.xyz/](https://chainrpc.mev-commit.xyz/) |
| Mainnet WebSocket | [wss://chainrpc-wss.mev-commit.xyz](wss://chainrpc-wss.mev-commit.xyz) |
| Bootnode endpoint | [https://bootnode.mev-commit.xyz/](https://bootnode.mev-commit.xyz/) |
| Block explorer | [http://explorer.mev-commit.xyz](http://explorer.mev-commit.xyz) |

### **Core Contract Addresses (mev-commit chain)**

import { BidderRegistryAddressMainnet0_8_0, ProviderRegistryAddressMainnet0_8_0, PreconfManagerAddressMainnet0_8_0, OracleAddressMainnet0_8_0, BlockTrackerAddressMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx';

<table>
<thead>
<tr>
<th width="299">Contract</th>
<th>Address</th>
</tr>
</thead>
<tbody>
<tr>
<td>BidderRegistry</td>
<td>{BidderRegistryAddressMainnet0_8_0}</td>
</tr>
<tr>
<td>ProviderRegistry</td>
<td>{ProviderRegistryAddressMainnet0_8_0}</td>
</tr>
<tr>
<td>PreconfManager</td>
<td>{PreconfManagerAddressMainnet0_8_0}</td>
</tr>
<tr>
<td>Oracle</td>
<td>{OracleAddressMainnet0_8_0}</td>
</tr>
<tr>
<td>BlockTracker</td>
<td>{OracleAddressMainnet0_8_0}</td>
</tr>
</tbody>
</table>

### **Bridge Gateway (mev-commit chain)**

import { SettlementGatewayMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx';

<table>
<thead>
<tr>
<th width="299">Contract</th>
<th>Address</th>
</tr>
</thead>
<tbody>
<tr>
<td>SettlementGateway</td>
<td>{SettlementGatewayMainnet0_8_0}</td>
</tr>
</tbody>
</table>

### **Bridge Gateway (Holesky)**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### **Bridge Gateway (Holesky)**
### **Bridge Gateway (L1 Ethereum)**


import { L1GatewayMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx';

<table>
<thead>
<tr>
<th width="299">Entity</th>
<th>Address</th>
</tr>
</thead>
<tbody>
<tr>
<td>L1Gateway</td>
<td>{L1GatewayMainnet0_8_0}</td>
</tr>
</tbody>
</table>

### **L1 Validator Registries**

Expand Down Expand Up @@ -80,3 +164,11 @@ import {
</table>

All contract calls should be made through the proxy contracts. Implementations are listed for transparency, where verified contract code can be viewed.

## How can users provide feedback or report issues encountered on the testnet?

Users can open an issue on the GitHub repository that is associated with any issue they encounter. They can also tag @primev_xyz on Twitter, or reach out to us to join a Telegram group for early power users.

## Mainnet System Requirements

Please refer to the System Requirements section [here.](/v0.8.0/developers/system-requirements)
21 changes: 21 additions & 0 deletions v0.8.0/developers/manual-start-mev-commit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,27 @@ Below, you'll find a guide tailored for those who prefer a more customized insta

Execute the script to initiate your node, selecting either a bidder or provider configuration based on your role in the network.

### Mainnet

```bash ❯_ provider
mev-commit \
--peer-type provider \
--keystore-path ~/.mev-commit \
--keystore-password <PASSWORD> \
--bootnodes /dnsaddr/bootnode.mev-commit.xyz \
--settlement-ws-rpc-endpoint wss://chainrpc-wss.mev-commit.xyz
```

```bash ❯_ bidder
mev-commit \
--keystore-path ~/.mev-commit \
--keystore-password <PASSWORD> \
--bootnodes /dnsaddr/bootnode.mev-commit.xyz \
--settlement-ws-rpc-endpoint wss://chainrpc-wss.mev-commit.xyz
```

### Testnet

<CodeGroup>

```bash ❯_ provider
Expand Down
5 changes: 4 additions & 1 deletion v0.8.0/get-started/bidders/best-practices.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,19 @@ If you don't send transaction payloads in your bid, you can send your transactio
<thead>
<tr>
<th width="350">Provider</th>
<th width="350">RPC Endpoint</th>
<th width="350">RPC Endpoint Mainnet</th>
<th width="350">RPC Endpoint Testnet</th>
</tr>
</thead>
<tbody>
<tr>
<td>Preconf Builder</td>
<td>tbd</td>
<td>[http://52.11.201.67/execution/rpc](http://52.11.201.67/execution/rpc)</td>
</tr>
<tr>
<td>Titan</td>
<td>[rpc.titanbuilder.xyz](https://rpc.titanbuilder.xyz/)</td>
<td>[holesky-rpc.titanbuilder.xyz](https://holesky-rpc.titanbuilder.xyz/)</td>
</tr>
</tbody>
Expand Down
32 changes: 28 additions & 4 deletions v0.8.0/get-started/bidders/bidder-node-commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -102,15 +102,27 @@ curl -X POST http://localhost:13523/v1/bidder/withdraw_from_windows \
```

## Checking the Balance of your Wallet
### Mainnet
This command will allow you to check your current wallet balance on mainnet mev-commit chain:

This command will allow you to check your current wallet balance on mev-commit chain:
```shell ❯_ terminal
cast b $ADDRESS --rpc-url https://chainrpc.mev-commit.xyz
```
### Testnet
This command will allow you to check your current wallet balance on testnet mev-commit chain:

```shell ❯_ terminal
cast b $ADDRESS --rpc-url https://chainrpc.testnet.mev-commit.xyz
```

## Check Total Value Locked in Contracts

### Mainnet
```shell ❯_ terminal
python3 -c "print($(cast b 0x401B3287364f95694c43ACA3252831cAc02e5C41 \
--rpc-url https://chainrpc.mev-commit.xyz) + $(cast b 0xf4F10e18244d836311508917A3B04694D88999Dd \
--rpc-url https://chainrpc.mev-commit.xyz))"
```
### Testnet
```shell ❯_ terminal
python3 -c "print($(cast b 0x401B3287364f95694c43ACA3252831cAc02e5C41 \
--rpc-url https://chainrpc.testnet.mev-commit.xyz) + $(cast b 0xf4F10e18244d836311508917A3B04694D88999Dd \
Expand All @@ -137,9 +149,11 @@ This API is enabled by default, the following environment variables could be set
- `MEV_COMMIT_BEACON_API_URL`
- `MEV_COMMIT_L1_RPC_URL`

Current address for the ValidatorOptInRouter contract on Holesky is `0x251Fbc993f58cBfDA8Ad7b0278084F915aCE7fc3`.
Current address for the ValidatorOptInRouter contract on Holesky is `0x251Fbc993f58cBfDA8Ad7b0278084F915aCE7fc3` and on Mainnet is `tbd`.

The default URLs for the *Mainnet* Beacon Chain and L1 RPC are https://ethereum-beacon-api.publicnode.com and https://ethereum-rpc.publicnode.com, respectively, but you can set your own URLs.

The default URLs for the Beacon Chain and L1 RPC are https://ethereum-holesky-beacon-api.publicnode.com and https://ethereum-holesky-rpc.publicnode.com, respectively, but you can set your own URLs.
The default URLs for the *Testnet* Beacon Chain and L1 RPC are https://ethereum-holesky-beacon-api.publicnode.com and https://ethereum-holesky-rpc.publicnode.com, respectively, but you can set your own URLs.

To get the information on whether validators for a specific epoch are opted in to mev-commit:

Expand All @@ -159,6 +173,16 @@ Note proposer selection is only stable within the context of the current epoch,

Users can also set-up a specific subset of provider nodes in order to send their bids. By default the mev-commit bidder node will send bids to all the available and staked providers. However, if the user wants only a specific subset of providers to be able to see their bids, the can use the `--provider-whitelist` option to set it up. The list should contain the ethereum wallet addresses of the provider nodes.

### Mainnet
```shell ❯_ terminal
mev-commit --keystore-path ~/.mev-commit \
--keystore-password <PASSWORD> \
--bootnodes /dnsaddr/bootnode.mev-commit.xyz \
--settlement-rpc-endpoint https://chainrpc.mev-commit.xyz
--provider-whitelist 0x6DcE7bcF4fCA9E14b546e583049B82474631b185,0x0979c194EaD08444B6e40415F5822AB32363f580
```

### Testnet
```shell ❯_ terminal
mev-commit --keystore-path ~/.mev-commit \
--keystore-password <PASSWORD> \
Expand Down
9 changes: 8 additions & 1 deletion v0.8.0/get-started/bridge.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,14 @@ OPTIONS:

<Note> The current bridge waits for finalization. Thus when moving funds from L1 to the settlement chain, users will have to wait for at least 15 mins (L1 finalization time) before getting a confirmation. Conversely, bridging from settlement to L1 chain will be significantly faster (less than 1 second settlement chain finalization time). </Note>

After the bridge is successful, the following command can be used to check their mev-commit chain balance
After the bridge is successful, the following command can be used to check their mev-commit chain balance

### Mainnet
```
cast balance mev_commit_mainnet_address --rpc-url https://chainrpc.mev-commit.xyz/
```

### Testnet
```
cast balance mev_commit_testnet_address --rpc-url https://chainrpc.testnet.mev-commit.xyz/
```
Expand Down
8 changes: 7 additions & 1 deletion v0.8.0/get-started/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,23 @@ icon: "gear"
---
<Steps>
<Step title="Launch mev-commit Bidder Node">
### Mainnet
```bash ❯_ bidder
curl -L -o launchmevcommit launch.mev-commit.xyz; chmod +x launchmevcommit; ./launchmevcommit --node-type bidder
```
### Testnet
```bash ❯_ bidder
curl -L -o launchmevcommit launch-testnet.mev-commit.xyz; chmod +x launchmevcommit; ./launchmevcommit --node-type bidder
```

<Accordion title="🤔 What does the script do?">

## Script Overview

This script automates the setup and initialization of your Primev node, catering to both bidder and provider roles. Below is a detailed breakdown of the script's operations:

### 1. Initialization
- Sets up essential variables like the RPC URL (`https://chainrpc.testnet.mev-commit.xyz`) for network communication and the node type (either `bidder` or `provider`).
- Sets up essential variables like the RPC URL (for mainnet `https://chainrpc.mev-commit.xyz` or for testnet `https://chainrpc.testnet.mev-commit.xyz`) for network communication and the node type (either `bidder` or `provider`).
- Establishes the root directory (`$HOME/.mev-commit`) where the mev-commit node will be installed.

### 2. Download
Expand Down
28 changes: 12 additions & 16 deletions v0.8.0/get-started/relays.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Relay Integration Guide
sidebarTitle: Relays
icon: 'arrow-right-arrow-left'
---
import { ProviderRegistryAddressMainnet0_8_0 } from '../../snippets/mainnet-addresses.mdx';
import { ProviderRegistryAddress, ProviderRegistryAddress0_7_0} from '/snippets/testnet-addresses.mdx';

## Overview
Expand Down Expand Up @@ -37,6 +38,11 @@ To implement this, your relay needs to track two things:
- Check out this [mev-commit relay integration](https://github.com/flashbots/mev-boost-relay/pull/657)
- Add required environment variables:

### Mainnet
MEV_COMMIT_RPC=wss://chainrpc-wss.mev-commit.xyz
PROVIDER_REGISTRY_ADDR={ProviderRegistryAddressMainnet0_8_0}

### Testnet
<CodeBlock>
MEV_COMMIT_RPC=wss://chainrpc-wss.testnet.mev-commit.xyz
PROVIDER_REGISTRY_ADDR={ProviderRegistryAddress0_7_0}
Expand Down Expand Up @@ -68,9 +74,13 @@ To track which validators have opted into mev-commit, you'll want to monitor the
1. **Validator Registry Router on Ethereum L1:**
- Network: Ethereum Mainnet
- Address: `0x251Fbc993f58cBfDA8Ad7b0278084F915aCE7fc3`
- Network: Ethereum Holesky
- Address: `tbd`

2. **Provider Registry on mev-commit-chain:**
- Network: mev-commit
- Network: mev-commit mainnet
- Address: `tbd`
- Network: mev-commit testnet
- Address: `0x1C2a592950E5dAd49c0E2F3A402DCF496bdf7b67`

By monitoring these contracts, you can determine which validators and providers have opted into mev-commit and ensure compliance with the protocol.
Expand All @@ -81,7 +91,7 @@ By monitoring these contracts, you can determine which validators and providers
The mev-commit provider registry contract maintains the list of authorized providers such as block builders. You can query this contract to validate builder addresses.

**Contract Details:**
- Network: mev-commit-chain
- Network: mev-commit-chain testnet
- Address: {ProviderRegistryAddress0_7_0}

<AccordionGroup>
Expand Down Expand Up @@ -140,17 +150,3 @@ By monitoring these contracts, you can determine which validators and providers
```
</Accordion>
</AccordionGroup>

## Mainnet Integration

<Note>
**Mainnet Contracts**
<Expandable title="Mainnet Contract Addresses" defaultOpen>
<p>The two main contracts on mainnet will be the provider registry and validator registry router.</p>
<ul>
<li>The provider registry will list all builders that have opted into mev-commit, and will be on the mev-commit-chain.</li>
<li>The validator registry router will track which validators have opted into mev-commit, and will be on the eth-mainnet.</li>
</ul>
<p>We expect to deploy these contracts before the start of 2025.</p>
</Expandable>
</Note>
3 changes: 2 additions & 1 deletion v0.8.0/get-started/validators/validator-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ By opting-in to the mev-commit protocol as a validator **in one of the three for
| Relay | Docs |
|-------|------|
| Titan | [docs.titanrelay.xyz](https://docs.titanrelay.xyz/) |
| Aestus| [holesky.aestus.live](https://holesky.aestus.live/) |
| Aestus Mainnet | [mainnet.aestus.live](https://mainnet.aestus.live/) |
| Aestus Holesky | [holesky.aestus.live](https://holesky.aestus.live/) |

We expect all known relays to support opting-in to mev-commit within a few months of being live on mainnet. If you are a relay looking to join the mev-commit network please visit our [Relays page](/v0.8.0/get-started/relays) to get more information.

Expand Down