Skip to content

establishes a p2p network, allowing mev actors to issue bids and commitments for execution in real time

License

Notifications You must be signed in to change notification settings

primev/mev-commit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

997654f · Feb 21, 2025
Feb 8, 2025
Feb 13, 2025
Feb 5, 2025
Feb 13, 2025
Feb 10, 2025
Feb 14, 2025
Feb 19, 2025
Feb 14, 2025
Feb 18, 2025
Feb 14, 2025
Feb 10, 2025
Feb 21, 2025
Feb 13, 2025
Apr 8, 2024
Apr 22, 2024
Dec 2, 2024
May 16, 2024
Feb 14, 2025
Nov 11, 2024
Feb 14, 2025
Dec 31, 2024

Repository files navigation

mev-commit

CI License

Primev's mev-commit makes Ethereum FAST by enabling preconfirmations and new types of mev using an encrypted mempool, enhancing yield for opted-in validators.

Documentation

For detailed documentation, visit the mev-commit docs.

Main Components

Getting Started

The mev-commit repository is a mono-repository that also use submodules for external dependencies. To clone the repository and its submodules, run the following command:

git clone --recurse-submodules <git@github.com:primev/mev-commit.git|https://github.com/primev/mev-commit.git>

If you have already cloned the repository and need to update the submodules, run the following command:

git submodule update --init --recursive

Development

When working with submodules, you can use the git submodule command to list available submodules. To make changes to a submodule, navigate to the submodule directory using the cd command. Before making any changes, ensure that the submodule is up-to-date. For example, to navigate to the external/geth submodule, run the following command:

cd external/geth
git submodule update --init --recursive

Make the necessary changes to the submodule and commit (and push) them. To make the changes available in the main repository, you need to push the changes to the submodule. After making changes to the submodule, navigate back to the main repository and commit the changes. For example, to commit and push changes made to the external/geth submodule, run the following commands inside the submodule directory:

git add -p
git commit -m "<your-commit-message>"
git push

Go back to the main repository and commit (and push) the changes made to the submodule:

git add external/geth
git commit -m "<your-commit-message>"
git push

Go Modules

Since this repository uses Go Workspaces to manage Go modules, when making changes to a Go module and its dependencies, ensure that the changes are reflected everywhere by running the following command:

go list -f '{{.Dir}}' -m | xargs -L1 go mod tidy -C
go work sync

See the go.work file for all the Go modules used in this repository.