Thank you for investing your time in contributing to SoroScan!
SoroScan is an open-source indexing layer designed to make Soroban smart contract data accessible and queryable. Whether you're fixing a bug, improving documentation, or building a new feature, we welcome your involvement.
To make your onboarding process as smooth as possible, we have detailed guidelines for each stage of your contribution journey:
- 🔰 Getting Started: Read the Developer Onboarding Guide to set up your local environment in under 2 hours.
- 🎨 Code Style & Linting: Adhere to our Code Style Guidelines (Python/Django, TypeScript/React, Rust, CSS, SQL).
- 🌿 Git & PR Workflows: Follow our Git & PR Workflow Guide to learn about branching, Conventional Commits, and code reviews.
- 📄 Writing Documentation: Check the Documentation Contribution Guide to learn how to edit docs and run the Docusaurus preview server.
- 🤝 Community & Code of Conduct: Read our Community Standards to understand our issue labeling, triage workflows, and Code of Conduct.
- 📝 Logging Standards: Follow our Logging Standards for structured logging formats, field naming conventions, log levels, and sensitive data masking.
- 🏛️ Architecture Decisions: Review our Architecture Decision Records (ADRs) to understand the rationale behind major technical choices.
For a quick reference, here are the core expectations for contributing:
Before writing any code, find an issue in the Issues tab.
- Filter by
good-first-issueif you are new. - Comment "I'd like to work on this!" on the issue thread.
- Wait until a maintainer assigns the issue to you before starting work.
- Base your work on the
developbranch. - Use Conventional Commits for commit messages (e.g.
feat(ingest): add contract event parsing,fix(admin): repair network error handling).
Before staging your commits, run the formatters and tests:
cd django-backend
black .
ruff check .
pytestcd soroscan-frontend
pnpm install
pnpm lint
pnpm testcd soroban-contracts/soroscan_core
cargo fmt
cargo clippy -- -D warnings
cargo test- Open your PR against the
developbranch of the upstream repository. - Complete the PR description template.
- Ensure all CI workflows pass.
- Address code review comments constructively. Once resolved, the reviewer will approve the PR, and it will be merged via Squash & Merge.
By participating in this project, you agree to abide by our Code of Conduct to ensure SoroScan remains a respectful, safe, and supportive space for everyone. See the Community Standards Guide for details.