Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Contributing

Getting Started

git clone https://github.com/0xBloctopus/arbreth.git
cd arbreth
cargo check
cargo test

Requirements: Rust 1.93+, clang, cmake

Development Workflow

  1. Fork the repository and create a feature branch
  2. Make your changes
  3. Run all checks:
cargo +nightly fmt --all          # format
cargo clippy --workspace \
  --all-targets -- -D warnings    # lint
cargo test --workspace            # test
cargo doc --workspace --no-deps   # docs
  1. Open a pull request against master

Code Standards

  • Use alloy-primitives types (Address, B256, U256) - not raw [u8; 32]
  • Use thiserror for error types
  • Use #[derive(Debug, Clone)] on structs
  • No unwrap() in library code - use ? and proper error types
  • Document public APIs with doc comments
  • Follow existing reth patterns for crate and module structure

Pull Requests

  • Open an issue before starting work on larger changes
  • Keep PRs focused - one logical change per PR
  • Include a clear description of what changed and why
  • Ensure CI passes before requesting review

Reporting Issues

  • Bugs: Open a GitHub issue with reproduction steps
  • Security vulnerabilities: See SECURITY.md - do not file a public issue

License

By contributing, you agree that your contributions will be licensed under the Business Source License 1.1.