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 forky
Download the latest release from the Releases page. Extract and run with:
./forky --config your-config.yaml
Available 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-web
Building frontend requires npm
and NodeJS
to be installed.
Sam - @samcmau
Andrew - @savid