Thank you for your interest in contributing to StellarStream! This guide will help you get started with our development process.
Check out the FAQ.md for common contributor questions and troubleshooting tips.
Participation in this project is governed by our Code of Conduct. By contributing, you are expected to uphold this standard.
If you discover a security vulnerability, please follow our Security Policy and report it privately via the GitHub Security Advisory form. Do not open public issues for security concerns.
- Clone the repository
- Install dependencies:
npm run install:all - Seed demo data:
node scripts/seed-streams.js --reset - Run the development environment:
npm run dev
To populate your local database with deterministic demo streams:
# Seed 10 default streams
node scripts/seed-streams.js
# Seed custom number of streams
node scripts/seed-streams.js --count 20
# Reset database and seed
node scripts/seed-streams.js --reset
# Combine options
node scripts/seed-streams.js --reset --count 15The seed script creates streams across all statuses (scheduled, active, paused, completed, canceled) with deterministic data, ensuring consistent results on every run when the database is empty.
Run npm run test in the backend/ directory.
Run cargo test in the contracts/ directory.
We use insta for snapshot testing of contract events.
Snapshot files are located in contracts/test_snapshots/.
To update snapshots: If you change event structures and need to update the snapshots, run:
cargo insta review