Ethereum MEV-Boost Relay Monitoring
Find a file
Chris Hager 0c4cd5319a
Merge pull request #24 from flashbots/issue-23-website-docker
include website assets in dockerfile
2024-01-05 10:26:28 +01:00
.github cleanup 2023-06-16 07:37:42 +00:00
cmd [fix] Don't panic on errors if no backup RPC configured 2023-09-18 19:27:53 +03:00
common cleanup 2023-06-20 14:15:36 +02:00
database website: lastUpdatedAt based on database 2023-06-14 09:58:22 +02:00
scripts scripts cleanup 2023-06-16 09:01:44 +02:00
services fix prod daily stats template 2023-06-21 12:29:06 +02:00
static common base! 2023-05-30 11:10:45 +02:00
vars also bloxroute ethical relay is deactivated 2023-09-28 11:13:33 +02:00
.env.example fix database migration, add missing envar 2023-05-30 16:13:56 +08:00
.gitignore cleanup 2023-02-01 11:30:54 +01:00
.golangci.yaml Go v1.20 2023-03-06 12:20:01 +01:00
Dockerfile include website assets in dockerfile 2024-01-04 16:49:27 -07:00
go.mod dependency update 2023-05-19 13:14:34 +02:00
go.sum dependency update 2023-05-19 13:14:34 +02:00
LICENSE cleanup 2023-02-01 11:30:54 +01:00
main.go create vars package with all config 2023-06-14 01:30:58 +02:00
Makefile cleanup 2023-06-06 23:43:41 +02:00
README.md readme: urls 2023-06-22 18:27:23 +02:00
staticcheck.conf initial commit 2022-09-16 11:19:12 +02:00

relayscan

Goreport status Test status Docker hub

Monitoring, analytics & data for Ethereum MEV-Boost builders and relays

Running on https://relayscan.io

Additional URLs:

Notes

  • Work in progress
  • At it's core, a set of tools to fill and show a postgres database
  • Multiple relays can serve a payload for the same slot (if the winning builder sent the best bid to multiple relays, and the proposer asks for a payload from all of them)
  • Comments and feature requests: @relayscan_io
  • License: AGPL
  • Maintainer: @metachris

Overview

Getting started

Run

You can either build relayscan from the repository, or use the Docker image:

# Build & run
make build
./relayscan help
./relayscan version

# Run with Docker
docker run flashbots/relayscan
docker run flashbots/relayscan /app/relayscan version

---

# Grab delivered payloads from relays data API, and fill up database
./relayscan core data-api-backfill                     #  for all slots since the merge
./relayscan core data-api-backfill --min-slot 6658658  #  since a given slot (good for dev/testing)

# Double-check new entries for valid payments (and other)
./relayscan core check-payload-value

# Update daily builder inclusion stats
./relayscan core update-builder-stats --start 2023-06-04 --end 2023-06-06  # update daily stats for 2023-06-04 and 2023-06-05
./relayscan core update-builder-stats --start 2023-06-04                   # update daily stats for 2023-06-04 until today
./relayscan core update-builder-stats --backfill                           # update daily stats since last entry, until today

# Start the website (--dev reloads the template on every page load, for easier iteration)
./relayscan service website --dev

# Start service to query every relay for bids
./relayscan service website --dev collect-live-bids

You might want to run Postgres locally for testing:

docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgres postgres

Test & dev

# Install dependencies
go install mvdan.cc/gofumpt@latest
go install honnef.co/go/tools/cmd/staticcheck@v0.4.3
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2

# Lint, test and build
make lint
make test
make test-race
make build