Contributing Guidelines

Thank you for your interest in contributing to Ethereum on ARM! This guide will help you get started.

Tip

We welcome contributions of all kinds—code, documentation, bug reports, and feature requests.

Getting Started

1. Fork the Repository

git clone https://github.com/EOA-Blockchain-Labs/ethereumonarm.git
cd ethereumonarm

2. Set Up Development Environment

For package building, see the Building Images guide.

For documentation changes:

cd docs
docker compose up  # Live preview at http://localhost:8000

3. Make Your Changes

  • Create a feature branch: git checkout -b feature/my-change

  • Follow existing code style and conventions

  • Test your changes locally

4. Submit a Pull Request

  • Push your branch: git push origin feature/my-change

  • Open a PR against the main branch

  • Describe your changes clearly

Contribution Areas

📦 Package Development

Add or update Ethereum client packages in fpm-package-builder/:

  • L1 Clients: l1-clients/ (Geth, Nethermind, Lighthouse, etc.)

  • L2 Clients: l2-clients/ (Arbitrum, Optimism, Starknet)

  • Infrastructure: infra/ (Monitoring, DVT, MEV tools)

Each package includes:

  • Makefile - Build automation

  • sources/ - Configuration files

  • extras/ - Systemd service units

📝 Documentation

Improve docs in the docs/ directory:

  • Fix typos, clarify instructions

  • Add new guides for supported software

  • Update hardware compatibility info

  • Translate documentation

Build locally:

cd docs && docker compose up
🐛 Bug Reports

Found a bug? Open an issue on GitHub with:

  • Device model and RAM

  • Ethereum on ARM version

  • Steps to reproduce

  • Error messages or logs

Open an Issue →

💡 Feature Requests

Have an idea? We’d love to hear it!

  • New client support

  • Hardware compatibility

  • Tooling improvements

Start a Discussion →

Code Style

Area

Guidelines

Shell Scripts

Use shellcheck; quote variables; use set -e

Makefiles

Use tabs for indentation; document targets with ##

RST Docs

80-char lines; use semantic sections; include code examples

Commits

Conventional commits (feat:

fix:

docs:)

Community

💬 Discord

Join our community for support and discussion.

https://discord.gg/ve2Z8fxz5N
🐦 Twitter

Follow for updates and announcements.

https://twitter.com/EthereumOnARM
📧 Email

Contact the maintainers directly.

mailto:info@ethereumonarm.com
🌐 Website

Official project website.

https://ethereumonarm.com

License

By contributing, you agree that your contributions will be licensed under the project’s existing license (GNU GPL v3.0).

See also