This guide gets new contributors from a fresh clone to a useful first pull request.
- Node.js 18 or newer.
- pnpm 8 or newer.
- Rust 1.75 or newer.
wasm32-unknown-unknownRust target.- Docker and Docker Compose.
- Soroban CLI.
git clone https://github.com/lineproof/lineproof.git
cd lineproof
make install
make install-toolchainmake build
make test
make lintIf a dependency is missing, install that tool rather than editing generated lockfiles or build output.
make docker-up
make deploy-localnet
make docker-downUse make docker-clean when you need to reset local ledger state.
contracts/: Soroban contracts and Rust tests.sdk/: TypeScript SDK and SDK tests.frontend/: Reference React/Vite app.backend/: Reference Express API.docs/: Maintainer and integrator documentation.research/: Domain research for product decisions.examples/: Example integrations for real-world queue domains.scripts/: Local deployment and automation helpers.
- Add tests for documented lifecycle or escrow invariants.
- Improve SDK examples when public APIs change.
- Add missing event documentation.
- Tighten research notes with clear protocol implications.
- Fix documentation that overstates current implementation status.
- Keep the change focused.
- Update docs for public behavior changes.
- Add or update tests for code changes.
- Run
make testandmake lintwhen practical. - Include security notes when changing authorization, escrow, identity, or queue ordering.