Forky captures, stores and visualizes fork choice data from the Ethereum Beacon Chain. Forky is designed to provide a live view of the Ethereum network, along with historical access.
Live Versions
- Web interface for viewing fork choice data
- Configurable retention period
- Prometheus metrics
- Ethereum Beacon Node
- Xatu
- Memory
- Filesystem
- S3
- Sqlite
- Postgres
Forky requires a config file. An example file can be found here.
forky - fetches and serves Ethereum fork choice data
Usage:
forky [flags]
Flags:
--config string config file (default is config.yaml) (default "config.yaml")
-h, --help help for forkyDownload the latest release from the Releases page. Extract and run with:
./forky --config your-config.yamlAvailable as a docker image at ethpandaops/forky
latest- distroless, multiarchlatest-debian- debian, multiarch$version- distroless, multiarch, pinned to a release (i.e.0.1.0)$version-debian- debian, multiarch, pinned to a release (i.e.0.1.0-debian)
Quick start
docker run -d --name forky -v $HOST_DIR_CHANGE_ME/config.yaml:/opt/forky/config.yaml -p 9090:9090 -p 5555:5555 -it ethpandaops/forky:latest --config /opt/forky/config.yaml;
docker logs -f forky;helm repo add ethereum-helm-charts https://ethpandaops.github.io/ethereum-helm-charts
helm install forky ethereum-helm-charts/forky -f your_values.yaml- Clone the repo
go get github.com/ethpandaops/forky
- Change directories
cd ./forky - Build the binary
go build -o forky . - Run the service
./forky
Contributions are greatly appreciated! Pull requests will be reviewed and merged promptly if you're interested in improving the forky!
- Fork the project
- Create your feature branch:
git checkout -b feat/new-feature
- Commit your changes:
git commit -m 'feat(profit): new feature
- Push to the branch:
-
git push origin feat/new-feature - Open a pull request
go run main.go --config your_config.yaml
A frontend is provided in this project in ./web directory which needs to be built before it can be served by the server, eg. http://localhost:5555.
The frontend can be built with the following command;
# install node modules and build
make build-webBuilding frontend requires npm and NodeJS to be installed.
Sam - @samcmau
Andrew - @savid
