Below, you’ll find a guide tailored for those who prefer a more customized installation approach.
We use the cast CLI tool for making Ethereum RPC calls.
If it’s not already installed on your system, you can set up the entire Foundry toolchain, including cast
, with the following command:
After installation, execute foundryup
to update to the latest versions of Foundry’s suite of tools:
forge
, cast
, anvil
, and chisel
:
For detailed guidance, refer to the official Foundry Book installation instructions.
Run the following command which will identify your OS, and chip architecture:
This command will output something like Linux x86_64
or Darwin arm64
, depending on your system.
Navigate to the mev-commit repo
and select the mev-commit binary tailored to your system.
For example, if uname -sm
yields Linux x86_64
, opt for mev-commit_Linux_x86_64.tar.gz
.
Download, then extract the binary into your preferred root directory to continue with setup.
You can use the following command which automatically downloads and extracts the appropriate mev-commit binary for your system into your home directory:
🕵️♂️ Recommended: Verify the checksum
Before executing any code downloaded from the internet, it’s recommended to verify the checksum, a practice that ensures the file’s integrity and authenticity. Checksums, provided with each release on GitHub, serve as a safeguard, allowing you to confirm that the downloaded binary has not been compromised or altered, thus protecting your system from potential security risks.
To verify the checksum of the mev-commit binary, you can follow these simplified steps (assumes binary is the home directory):
Grab the checksum
Set the binary’s name based on your system and retrieve the corresponding checksum:
Verify
Verify the binary’s checksum by running the following:
✅ Success
If the output resembles the following, you may confidently proceed to the next steps:
❌ Failure
Should the output indicate a failure, as shown below, re-download the file and attempt verification once more.
If checksum verification continues to fail after multiple attempts, reach out to Primev for support.
Execute the script to initiate your node, selecting either a bidder or provider configuration based on your role in the network.
--bootnodes
This should point to the bootnode for the Primev testnet network.--settlement-rpc-endpoint
This should point to the Primev Settlement Chain RPC endpoint. At present this is managed by the Primev team.❗ The --peer-type
flag can be used to run a provider
or bidder
node.
❗ The default contract addresses point to the Primev testnet at the moment. All the options can be provided using a YAML config file or environment variables as described in the above help output.
❗ The mev-commit node, when started for the first time will create a private key for the node at ~/.mev-commit/key
. This is a plain-text key. In order to store encrypted keys, users need to use the keystore. This can be configured using the --keystore-path
and --keystore-password
.
❗ In order to run a provider node, the machine needs to be publicly accessible. Also, the mev-commit node will have to be configured with the public IP of the node using the nat-addr
parameter.
Below, you’ll find a guide tailored for those who prefer a more customized installation approach.
We use the cast CLI tool for making Ethereum RPC calls.
If it’s not already installed on your system, you can set up the entire Foundry toolchain, including cast
, with the following command:
After installation, execute foundryup
to update to the latest versions of Foundry’s suite of tools:
forge
, cast
, anvil
, and chisel
:
For detailed guidance, refer to the official Foundry Book installation instructions.
Run the following command which will identify your OS, and chip architecture:
This command will output something like Linux x86_64
or Darwin arm64
, depending on your system.
Navigate to the mev-commit repo
and select the mev-commit binary tailored to your system.
For example, if uname -sm
yields Linux x86_64
, opt for mev-commit_Linux_x86_64.tar.gz
.
Download, then extract the binary into your preferred root directory to continue with setup.
You can use the following command which automatically downloads and extracts the appropriate mev-commit binary for your system into your home directory:
🕵️♂️ Recommended: Verify the checksum
Before executing any code downloaded from the internet, it’s recommended to verify the checksum, a practice that ensures the file’s integrity and authenticity. Checksums, provided with each release on GitHub, serve as a safeguard, allowing you to confirm that the downloaded binary has not been compromised or altered, thus protecting your system from potential security risks.
To verify the checksum of the mev-commit binary, you can follow these simplified steps (assumes binary is the home directory):
Grab the checksum
Set the binary’s name based on your system and retrieve the corresponding checksum:
Verify
Verify the binary’s checksum by running the following:
✅ Success
If the output resembles the following, you may confidently proceed to the next steps:
❌ Failure
Should the output indicate a failure, as shown below, re-download the file and attempt verification once more.
If checksum verification continues to fail after multiple attempts, reach out to Primev for support.
Execute the script to initiate your node, selecting either a bidder or provider configuration based on your role in the network.
--bootnodes
This should point to the bootnode for the Primev testnet network.--settlement-rpc-endpoint
This should point to the Primev Settlement Chain RPC endpoint. At present this is managed by the Primev team.❗ The --peer-type
flag can be used to run a provider
or bidder
node.
❗ The default contract addresses point to the Primev testnet at the moment. All the options can be provided using a YAML config file or environment variables as described in the above help output.
❗ The mev-commit node, when started for the first time will create a private key for the node at ~/.mev-commit/key
. This is a plain-text key. In order to store encrypted keys, users need to use the keystore. This can be configured using the --keystore-path
and --keystore-password
.
❗ In order to run a provider node, the machine needs to be publicly accessible. Also, the mev-commit node will have to be configured with the public IP of the node using the nat-addr
parameter.