2.6 KiB
mev-inspect-py
illuminating the dark forest 🌲🔦
mev-inspect-py is an MEV inspector for Ethereum
Given a block, mev-inspect finds:
- miner payments (gas + coinbase)
- tokens transfers and profit
- swaps and arbitrages
- ...and more
Data is stored in Postgres for analysis
Running locally
mev-inspect-py is built to run on kubernetes locally and in production
Install dependencies
Start up
Set an environment variable RPC_URL
to an RPC for fetching blocks
Example:
export RPC_URL="http://111.111.111.111:8546"
Note: mev-inspect-py currently requires and RPC with support for parity traces
Next, start all servcies with:
tilt up
Press "space" to see a browser of the services starting up
On first startup, you'll need to apply database migrations. Apply with:
kubectl exec deploy/mev-inspect-deployment -- alembic upgrade head
Inspecting
Inspect a single block
Inspecting block 12345
kubectl exec deploy/mev-inspect-deployment -- poetry run inspect-block 12345
Inspect many blocks
Inspecting blocks 12345 to 13345
kubectl exec deploy/mev-inspect-deployment -- poetry run inspect-many-blocks 12345 13345
Inspect all incoming blocks
Start a block listener with
kubectl exec deploy/mev-inspect-deployment -- /app/listener start
By default, it will pick up wherever you left off. If running for the first time, listener starts at the latest block
See logs for the listener with
kubectl exec deploy/mev-inspect-deployment -- tail -f listener.log
And stop the listener with
kubectl exec deploy/mev-inspect-deployment -- /app/listener stop
Contributing
Guide
Coming soon
Pre-commit
We use pre-commit to maintain a consistent style, prevent errors, and ensure test coverage.
To set up, install dependencies through poetry
poetry install
Then install pre-commit hooks with
poetry run pre-commit install
FAQ
How do I delete / reset my local postgres data?
Stop the system if running
tilt down
Then delete with
kubectl delete pvc data-postgresql-postgresql-0
I was using the docker-compose setup and want to switch to kube, now what?
Make sure the docker-compose resources are down
docker compose down
Then go through the steps in the current README for kube setup