Skip to main content
1

Launch mev-commit Bidder Node

❯_ bidder
curl -L -o launchmevcommit launch.mev-commit.xyz; chmod +x launchmevcommit; ./launchmevcommit --node-type bidder

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 bidderorprovider`).
  • 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. 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.

7. Cleanup

  • Includes a cleanup function to ensure the node is properly shut down when the script exits, preventing any residual processes.
2

Fund Your Account

To fund your account, please visit our Testnet Faucet. Details about the account address will be displayed after running the command above.
3

Send a Bid

Open a new terminal window to send a bid and receive commitments from providers. Run the following command:
❯_ example
curl -X POST http://localhost:13523/v1/bidder/bid \
-d '{
    "txHashes": ["0549fc7c57fffbdbfb2cf9d5e0de165fc68dadb5c27c42fdad0bdf506f4eacae"],
    "amount": "<amount in wei>",
    "blockNumber": <integer l1blocknumber>,
    "decayStartTimestamp": <timestamp milliseconds>,
    "decayEndTimestamp": <timestamp milliseconds>,
    "revertingTxHashes": []
}'
KeyDescription
txHashesArray of transaction hashes as strings
amountBid amount in wei
blockNumberL1 block number targeted for bid inclusion
decayStartTimestampStart timestamp for bid decay (in Unix milliseconds)
decayEndTimestampEnd timestamp for bid decay (in Unix milliseconds)
revertingTxHashesArray of transaction hashes as strings that can revert
rawTransactionsArray of hexadecimal encoded raw signed transaction payloads
You can change the values in the fields txHashes, amount, blockNumber, decayStartTimestamp, decayEndTimestamp and revertingTxHashes as desired.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.We recommend sending the raw transaction payloads in the bid. The rawTransactions field contains hexadecimal string of the RLP encoded raw transaction payloads. Only one out of txHashes or rawTransactions need to be sent in a bid.
❯_ example
curl -X POST http://localhost:13523/v1/bidder/bid \
-d '{
    "rawTransactions": ["0x02f8db82426882010c8410433624841043362f8303425094ea593b730d745fb5fe01b6d20e6603915252c6bf87016e03ce313800b864ce0b63ce0000000000000000000000000e94804eaa3c4c5355992086647f683f6f41ef1f000000000000000000000000000000000000000000000000000150e0786cc000000000000000000000000000000000000000000000000000000000000004e378c001a0ece6d13b20247abdc07d669c9186ee5a1ac9601db8c98a3323024ab299cb6662a01c20680efe4e0bb48a3a936b5ab27c741819f0ac567b12b34b230004b20b78a0"],
    "amount": "<amount in wei>",
    "blockNumber": <integer l1blocknumber>,
    "decayStartTimestamp": <timestamp milliseconds>,
    "decayEndTimestamp": <timestamp milliseconds>,
    "revertingTxHashes": []
}'
Congrats, you just sent your first L1 preconfirmation bid! You should be receiving commitments nearly instantly.
Make sure to check System Requirements to better understand what is needed to run mev-commit without any interruptions. If you want to perform a manual setup and learn details, please skip to the manual start mev-commit section.

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.