From e03321226590609689d1a8a4827ee7d564c9aa27 Mon Sep 17 00:00:00 2001 From: Mikhail Wall Date: Mon, 23 Dec 2024 19:30:00 +0500 Subject: [PATCH 1/2] feat: added docs for the mainnet --- snippets/mainnet-addresses.mdx | 9 ++ v0.8.0/developers/contracts.mdx | 8 +- v0.8.0/developers/mainnet.mdx | 94 ++++++++++++++++++- v0.8.0/developers/manual-start-mev-commit.mdx | 21 +++++ v0.8.0/get-started/bidders/best-practices.mdx | 5 +- .../bidders/bidder-node-commands.mdx | 32 ++++++- v0.8.0/get-started/bridge.mdx | 9 +- v0.8.0/get-started/quickstart.mdx | 8 +- v0.8.0/get-started/relays.mdx | 28 +++--- .../validators/validator-guide.mdx | 3 +- 10 files changed, 191 insertions(+), 26 deletions(-) diff --git a/snippets/mainnet-addresses.mdx b/snippets/mainnet-addresses.mdx index 8afc44cb..1752e060 100644 --- a/snippets/mainnet-addresses.mdx +++ b/snippets/mainnet-addresses.mdx @@ -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"; diff --git a/v0.8.0/developers/contracts.mdx b/v0.8.0/developers/contracts.mdx index 09f35295..6c155316 100644 --- a/v0.8.0/developers/contracts.mdx +++ b/v0.8.0/developers/contracts.mdx @@ -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 @@ -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`. diff --git a/v0.8.0/developers/mainnet.mdx b/v0.8.0/developers/mainnet.mdx index 2254023e..68db7fe5 100644 --- a/v0.8.0/developers/mainnet.mdx +++ b/v0.8.0/developers/mainnet.mdx @@ -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'; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ContractAddress
BidderRegistry{BidderRegistryAddressMainnet0_8_0}
ProviderRegistry{ProviderRegistryAddressMainnet0_8_0}
PreconfManager{PreconfManagerAddressMainnet0_8_0}
Oracle{OracleAddressMainnet0_8_0}
BlockTracker{OracleAddressMainnet0_8_0}
+ +### **Bridge Gateway (mev-commit chain)** + +import { SettlementGatewayMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx'; + + + + + + + + + + + + + + +
ContractAddress
SettlementGateway{SettlementGatewayMainnet0_8_0}
+ +### **Bridge Gateway (Holesky)** + +import { L1GatewayMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx'; + + + + + + + + + + + + + + +
EntityAddress
L1Gateway{L1GatewayMainnet0_8_0}
### **L1 Validator Registries** @@ -80,3 +164,11 @@ import { 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) diff --git a/v0.8.0/developers/manual-start-mev-commit.mdx b/v0.8.0/developers/manual-start-mev-commit.mdx index 7e62f6b6..3e9d6393 100644 --- a/v0.8.0/developers/manual-start-mev-commit.mdx +++ b/v0.8.0/developers/manual-start-mev-commit.mdx @@ -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 \ + --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 \ + --bootnodes /dnsaddr/bootnode.mev-commit.xyz \ + --settlement-ws-rpc-endpoint wss://chainrpc-wss.mev-commit.xyz +``` + +### Testnet + ```bash ❯_ provider diff --git a/v0.8.0/get-started/bidders/best-practices.mdx b/v0.8.0/get-started/bidders/best-practices.mdx index 0f8cc5cd..bebbe6a1 100644 --- a/v0.8.0/get-started/bidders/best-practices.mdx +++ b/v0.8.0/get-started/bidders/best-practices.mdx @@ -66,16 +66,19 @@ If you don't send transaction payloads in your bid, you can send your transactio Provider - RPC Endpoint + RPC Endpoint Mainnet + RPC Endpoint Testnet Preconf Builder + tbd [http://52.11.201.67/execution/rpc](http://52.11.201.67/execution/rpc) Titan + [rpc.titanbuilder.xyz](https://rpc.titanbuilder.xyz/) [holesky-rpc.titanbuilder.xyz](https://holesky-rpc.titanbuilder.xyz/) diff --git a/v0.8.0/get-started/bidders/bidder-node-commands.mdx b/v0.8.0/get-started/bidders/bidder-node-commands.mdx index 4c3dcaba..e61e7f6a 100644 --- a/v0.8.0/get-started/bidders/bidder-node-commands.mdx +++ b/v0.8.0/get-started/bidders/bidder-node-commands.mdx @@ -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 \ @@ -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: @@ -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 \ + --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 \ diff --git a/v0.8.0/get-started/bridge.mdx b/v0.8.0/get-started/bridge.mdx index 21188cf7..b193550d 100644 --- a/v0.8.0/get-started/bridge.mdx +++ b/v0.8.0/get-started/bridge.mdx @@ -87,7 +87,14 @@ OPTIONS: 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). -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/ ``` diff --git a/v0.8.0/get-started/quickstart.mdx b/v0.8.0/get-started/quickstart.mdx index dcedc363..1a56cf80 100644 --- a/v0.8.0/get-started/quickstart.mdx +++ b/v0.8.0/get-started/quickstart.mdx @@ -6,9 +6,15 @@ icon: "gear" --- + ### 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 + ``` + ## Script Overview @@ -16,7 +22,7 @@ icon: "gear" 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 diff --git a/v0.8.0/get-started/relays.mdx b/v0.8.0/get-started/relays.mdx index dd76a5c0..8f73c2b7 100644 --- a/v0.8.0/get-started/relays.mdx +++ b/v0.8.0/get-started/relays.mdx @@ -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 @@ -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 MEV_COMMIT_RPC=wss://chainrpc-wss.testnet.mev-commit.xyz PROVIDER_REGISTRY_ADDR={ProviderRegistryAddress0_7_0} @@ -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. @@ -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} @@ -140,17 +150,3 @@ By monitoring these contracts, you can determine which validators and providers ``` - -## Mainnet Integration - - -**Mainnet Contracts** - -

The two main contracts on mainnet will be the provider registry and validator registry router.

-
    -
  • The provider registry will list all builders that have opted into mev-commit, and will be on the mev-commit-chain.
  • -
  • The validator registry router will track which validators have opted into mev-commit, and will be on the eth-mainnet.
  • -
-

We expect to deploy these contracts before the start of 2025.

-
-
diff --git a/v0.8.0/get-started/validators/validator-guide.mdx b/v0.8.0/get-started/validators/validator-guide.mdx index 04fba4ac..2d2862e2 100644 --- a/v0.8.0/get-started/validators/validator-guide.mdx +++ b/v0.8.0/get-started/validators/validator-guide.mdx @@ -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. From 226b69cad28aef880c285c36ad031d4cc4a194bf Mon Sep 17 00:00:00 2001 From: Shawn <44221603+shaspitz@users.noreply.github.com> Date: Tue, 31 Dec 2024 10:21:15 -0800 Subject: [PATCH 2/2] Update v0.8.0/developers/mainnet.mdx --- v0.8.0/developers/mainnet.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v0.8.0/developers/mainnet.mdx b/v0.8.0/developers/mainnet.mdx index 68db7fe5..24812faf 100644 --- a/v0.8.0/developers/mainnet.mdx +++ b/v0.8.0/developers/mainnet.mdx @@ -70,7 +70,7 @@ import { SettlementGatewayMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx'; -### **Bridge Gateway (Holesky)** +### **Bridge Gateway (L1 Ethereum)** import { L1GatewayMainnet0_8_0 } from '/snippets/mainnet-addresses.mdx';