Skip to content

ethpandaops/contributoor-installer

Repository files navigation

contributoor-installer

This repository contains the installer for the contributoor service, which collects data from Ethereum consensus clients.

Getting Started

🔒 Installation

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.sh

🐳 With Eth-Docker

If you're using eth-docker, setup is as follows:

  • In your .env file:
    • add :contributoor.yml to COMPOSE_FILE
    • set CONTRIBUTOOR_USERNAME to your username
    • set CONTRIBUTOOR_PASSWORD to your password
  • Run ./ethd update
  • Run ./ethd up

You can read more about configuring eth-docker here.

🚀 With Rocketpool Smart Node

  • Install contributoor via the Install Script

  • During the Contributoor setup:

    • Set Beacon Node Address to http://eth2:5052
    • Set Optional Docker Network to rocketpool_net

    Note: These can also be set later contributoor config

  • Run contributoor start

⎈ With Kubernetes (Helm)

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/contributoor

For more details and configuration options, see the contributoor chart documentation.

😔 Uninstall

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 -u

⚙️ Post-Installation

Note: you may need to start a new shell session before you can run the contributoor command.

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 logs

🔨 Development

Go 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.out
Shell Tests

Requires bats:

bats *.bats

For test coverage (requires kcov):

kcov --bash-parser="$(which bash)" --include-pattern=install.sh /path/to/coverage/output bats --tap install.bats

🤝 Contributing

Contributoor is part of EthPandaOps' suite of tools for Ethereum network operations. Contributions are welcome! Please check our GitHub repository for more information.