Quickstart for mev-commit bidder node
This guide covers everything you need to set up your mev-commit bidder node. For providers, please refer to the manual start mev-commit section
Launch mev-commit Bidder Node
Mainnet
Testnet
🤔 What does the script do?
🤔 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 (for mainnet
https://chainrpc.mev-commit.xyz
or for testnethttps://chainrpc.testnet.mev-commit.xyz
) for network communication and the node type (eitherbidder
orprovider
). - Establishes the root directory (
$HOME/.mev-commit
) where the mev-commit node will be installed.
2. Download
- Fetches the appropriate mev-commit binary for your system from the Primev GitHub releases page, considering your operating system and architecture.
3. Installation
- Extracts the downloaded binary into the specified root directory, ensuring all necessary executables are correctly placed for the node’s operation.
4. Configuration
- Initializes the mev-commit node with your specified settings, including the node type and the RPC endpoint, along with necessary contract addresses for the node’s functionality.
5. Wallet Setup
- Generates a new private key and wallet address for your node.
6. Wait for the wallet to be funded
- The script will wait for the wallet to be funded on mev-commit settlement chain. Once the user acquires the funds on the chain, it will move to the next step.
7. Node Startup
- Launches the mev-commit node in the background tailored to the specified role, enabling it to begin its operations within the Primev network.
8. Set-up autodeposit for bidder node
- If user selects the bidder type to launch the node, the script will also setup autodeposit for the bidder account. This means that the node will keep depositing funds for the bidder address on the mev-commit bidder registry in order to send bids.
8. Cleanup
- Includes a cleanup function to ensure the node is properly shut down when the script exits, preventing any residual processes.
Fund Your Account
In order to fund your account, you’ll need to bridge ETH to the mev-commit chain. The easiest way to do this is through our web interface:
- Visit mev-commit.xyz/bridge
- Connect your wallet (MetaMask or WalletConnect supported)
- Select Ethereum as the source chain and mev-commit as the destination
- Enter the amount of ETH you want to transfer
- Click “Bridge” and approve the transaction
Wait for the bridge transaction to complete (approximately 15 minutes for L1 finality). You can see detailed instructions in our Bridge UI guide.
For automated or programmatic bridging, you can use our CLI tool by first confirming your operating system and architecture by running uname -sm
then downloading the appropriate bridge user CLI binary from the releases page.
Or download the 1.0.0 bridge CLI directly from the links below:
The CLI application provides two sub-commands to bridge to and from the settlement chain. For more details go the the bridge documentation.
Send a Bid
Open a new terminal window to send a bid and receive commitments from providers. Run the following command:
Bid Structure Details
Bid Structure Details
Key | Description |
---|---|
txHashes | Array of transaction hashes as strings |
amount | Bid amount in wei |
blockNumber | L1 block number targeted for bid inclusion |
decayStartTimestamp | Start timestamp for bid decay (in Unix milliseconds) |
decayEndTimestamp | End timestamp for bid decay (in Unix milliseconds) |
revertingTxHashes | Array of transaction hashes as strings that can revert |
rawTransactions | Array of hexadecimal encoded raw signed transaction payloads |
You can change the values in the fields amount
, blockNumber
, decayStartTimestamp
, decayEndTimestamp
and revertingTxHashes
as desired. The rawTransactions
field contains hexadecimal string of the RLP encoded raw transaction payloads, include raw transaction payloads in your bid in the atomic sequence in which they need to be placed in the block. Only one out of txHashes
or rawTransactions
need to be sent in a bid.
Make sure your bid amount is sufficiently high for the commitment you’re requesting, and your target L1 block number is accurate. It’s up to the providers to commit to your bid, so try to ensure a commitment is feasible to your bid by its construction. Selecting a target block of n+1 where n is the current block number generally makes it easy to receive a commitment for standard bid amounts.
Alternatively you can send a bid using the txHashes
field instead of rawTransactions
to refer to a transaction a provider has in their own environment using its hash. This method also allows you to bid on others’ behalf using their transaction hashes.
Bidder CLI application
In order to make it simpler for users to interact with the bidder node, the team has also created a CLI application which aims to provider a simpler UX to send transactions or bids to the mev-commit network. You can check the bidder CLI docs for more details.
Preconf Bot Example with Docker
Ready to work preconf bot examples can be found here and ready to be dockerized. Additionally, the dockerized bidder node example repository can be found here.