https://github.com/primev/mev-commit
establishes a p2p network, allowing mev actors to issue bids and commitments for execution in real time
https://github.com/primev/mev-commit
ethereum mev mev-boost network p2p preconfirmations rollup
Last synced: 3 months ago
JSON representation
establishes a p2p network, allowing mev actors to issue bids and commitments for execution in real time
- Host: GitHub
- URL: https://github.com/primev/mev-commit
- Owner: primev
- License: other
- Created: 2024-03-25T21:57:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-03-05T20:32:34.000Z (4 months ago)
- Last Synced: 2026-03-05T22:12:40.005Z (4 months ago)
- Topics: ethereum, mev, mev-boost, network, p2p, preconfirmations, rollup
- Language: Go
- Homepage: https://docs.primev.xyz/
- Size: 131 MB
- Stars: 51
- Watchers: 3
- Forks: 20
- Open Issues: 63
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mev-commit
[](https://github.com/primev/mev-commit/actions/workflows/ci.yml)
[](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](https://docs.primev.xyz/).
## Main Components
- [mev-commit client](p2p)
- [mev-commit-oracle](oracle)
- [mev-commit-bridge](bridge)
- [mev-commit-geth](external/geth)
- [contracts](contracts)
## 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:
```shell
git clone --recurse-submodules
```
If you have already cloned the repository and need to update the submodules, run the following command:
```shell
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:
```shell
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:
```shell
git add -p
git commit -m ""
git push
```
Go back to the main repository and commit (and push) the changes made to the submodule:
```shell
git add external/geth
git commit -m ""
git push
```
### Go Modules
Since this repository uses [Go Workspaces](https://go.dev/ref/mod#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:
```shell
go list -f '{{.Dir}}' -m | xargs -L1 go mod tidy -C
go work sync
```
> See the [go.work](go.work) file for all the Go modules used in this repository.