This repository contains the installer for the contributoor service, which collects data from Ethereum consensus clients.
Download and inspect the installation script before running:
# Download the script.
curl -O https://raw.githubusercontent.com/ethpandaops/contributoor-installer/refs/heads/master/install.sh
# Inspect the script contents.
less install.sh
# Make it executable and run if you're satisfied with the contents.
chmod +x install.sh && ./install.sh⚡ Quick Installation
If you trust the source, you can run this one-liner:
curl -O https://raw.githubusercontent.com/ethpandaops/contributoor-installer/refs/heads/master/install.sh && chmod +x install.sh && ./install.shIf you're using eth-docker, setup is as follows:
- Run
./ethd update - Then edit your .env file:
- add
:contributoor.ymlto the end ofCOMPOSE_FILEvariable - add
CONTRIBUTOOR_USERNAMEvariable and set it to your username - add
CONTRIBUTOOR_PASSWORDvariable and set it to your password
- add
- Run
./ethd update - Run
./ethd up
You can read more about configuring eth-docker here.
-
Install
contributoorvia the Install Script -
During the Contributoor setup:
- Set
Beacon Node Addresstohttp://eth2:5052 - Set
Optional Docker Networktorocketpool_net
Note: These can also be set later
contributoor config - Set
-
Run
contributoor start
Contributoor is available as a Dappnode package. For more information, and to install, see the contributoor Dappnode package repository.
Contributoor can be deployed on Kubernetes using the Helm chart from the ethereum-helm-charts repository.
# Add the Helm repository
helm repo add ethereum-helm-charts https://ethpandaops.github.io/ethereum-helm-charts
# Update your repositories
helm repo update
# Install contributoor
helm install contributoor ethereum-helm-charts/contributoorFor more details and configuration options, see the contributoor chart documentation.
Uninstalling contributoor can be done by running the installer with the -u flag:
curl -O https://raw.githubusercontent.com/ethpandaops/contributoor-installer/refs/heads/master/install.sh && chmod +x install.sh && ./install.sh -uNote: you may need to start a new shell session before you can run the
contributoorcommand.
After installation, Contributoor can be managed using these commands:
contributoor start # Start the service
contributoor stop # Stop the service
contributoor status # Check service status
contributoor restart # Restart the service
contributoor config # View/edit configuration
contributoor update # Update to latest version
contributoor logs # Show logsIf you chose to install contributoor under a custom directory, you will need to specify the directory when running the commands, for example:
contributoor --config-path /path/to/contributoor startGo Tests
Execute the full test suite:
go test ./...Run short tests only:
go test -test.short ./...Run with coverage:
go test -failfast -cover -coverpkg=./... -coverprofile=coverage.out ./... && go tool cover -html=coverage.outShell Tests
Requires bats:
bats *.batsFor test coverage (requires kcov):
kcov --bash-parser="$(which bash)" --include-pattern=install.sh /path/to/coverage/output bats --tap install.batsContributoor is part of EthPandaOps' suite of tools for Ethereum network operations. Contributions are welcome! Please check our GitHub repository for more information.