Tracoor captures, stores and makes available beacon states, beacon blocks, execution debug traces, execution bad blocks and invalid gossiped verified blocks.
Live Versions
- Web interface for viewing beacon states, execution block traces and invalid execution blocks
- Configurable retention period
- Prometheus metrics
- Ethereum Beacon Node
- Ethereum Execution Node
- S3
- Postgres
Tracoor has two components, a server and an agent. The server has a web interface and serves the data captured by the agent. The agent captures data from the Ethereum Beacon Node and Ethereum Execution Node.
Tracoor server requires a config file. An example file can be found here.
Runs tracoor in Server mode, which means it will listen to gRPC requests from
tracoor agent nodes and forward the data on to the configured sinks.
Usage:
tracoor server [flags]
Flags:
--config string config file (default is server.yaml) (default "server.yaml")
-h, --help help for server
Tracoor agent requires a config file. An example file can be found here.
Runs tracoor in agent mode, which means it will listen for events from
an Ethereum beacon node and forward the data on to the configured sinks.
Usage:
tracoor agent [flags]
Flags:
--config string config file (default is agent.yaml) (default "agent.yaml")
-h, --help help for agent
Download the latest release from the Releases page. Extract and run with:
./tracoor --help
Available as a docker image at ethpandaops/tracoor
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 tracoor -v $HOST_DIR_CHANGE_ME/config.yaml:/opt/tracoor/config.yaml -p 9090:9090 -p 5555:5555 -it ethpandaops/tracoor:latest server --config /opt/tracoor/config.yaml;
docker logs -f tracoor;
helm repo add ethereum-helm-charts https://ethpandaops.github.io/ethereum-helm-charts
# server
helm install tracoor ethereum-helm-charts/tracoor-server -f your_values.yaml
# agent
helm install tracoor ethereum-helm-charts/tracoor-agent -f your_values.yaml
- Clone the repo
go get github.com/ethpandaops/tracoor
- Change directories
cd ./tracoor
- Build the binary
go build -o tracoor .
- Run the server
./tracoor server --config example_server_config.yaml
- Run the agent
./tracoor agent --config example_agent_config.yaml
Contributions are greatly appreciated! Pull requests will be reviewed and merged promptly if you're interested in improving the tracoor!
- 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 server --config example_server_config.yaml
go run main.go agent --config example_agent_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