Thanks for your interest in contributing to Distributed Computer. All contributions earn Hogwarts Coin (HWC) based on our fair compensation model.
Please take a moment to review this document before submitting your first pull request. We also strongly recommend checking for open issues and pull requests to see if someone else is working on something similar.
If you need any help, feel free to open a discussion.
This repository is a Cargo workspace with multiple crates.
crates/
├── dc-core/ # Core types and traits
├── dc-network/ # P2P networking (libp2p)
├── dc-consensus/ # Proof of Contribution + Resource
├── dc-storage/ # RocksDB persistence
├── dc-oracle/ # GitHub/Git integration
└── dc-node/ # CLI binary
| Path | Description |
|---|---|
crates/ |
Rust crates (workspace members) |
docs/ |
Documentation, epics, stories |
.claude/commands/ |
AI agent commands |
CLAUDE.md |
Project orchestration |
PROMPT.md |
Session documentation |
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install protobuf (for libp2p)
brew install protobuf # macOS
apt install protobuf-compiler # Ubuntu- Clone the repository:
git clone https://github.com/databayt/distributed-computer.git
cd distributed-computer- Build all crates:
cargo build- Run tests:
cargo test --all# Build release
cargo build --release
# Run all tests
cargo test --all
# Lint with clippy
cargo clippy --all-targets --all-features -- -D warnings
# Format code
cargo fmt --all
# Check without building
cargo check --all
# Generate docs
cargo doc --no-deps --open| Category | Weight | Examples |
|---|---|---|
| Technical | 40% | Code, bugs, architecture |
| Community | 30% | Tutorials, translations |
| Strategy | 20% | Proposals, research |
| Ecosystem | 10% | Blog posts, integrations |
Final Value = (Base Points × Quality × Impact) ÷ Hours
Minimum: $45/hour equivalent
- Has tests: +0.5x
- Has documentation: +0.3x
- Review approvals: +0.2x each
- CI passes: +0.2x
This project uses Conventional Commits.
# Format
<type>(<scope>): <message>
# Examples
feat(network): implement peer discovery
fix(consensus): correct point calculation
docs(readme): update crate descriptions
test(core): add contribution validation tests
refactor(storage): optimize RocksDB queries
chore(deps): update libp2p to 0.54feat– New featurefix– Bug fixdocs– Documentation onlystyle– Formatting, no code changerefactor– Code change, no feature/fixtest– Adding testschore– Maintenance tasks
- Fork the repository
- Create a branch:
git checkout -b feat/your-feature - Make changes following code standards
- Run tests:
cargo test --all - Run lints:
cargo clippy --all-targets - Commit with conventional format
- Push and create pull request
- Wait for review
Follow the Rust API Guidelines:
- All public types implement
Debug - Use
thiserrorfor error types - Use
tracingfor logging - Document all public APIs
- Write tests for new functionality
After your PR is merged:
- Create a Contribution Claim issue
- Link your PR
- Provide metrics (lines, hours)
- Receive HWC after validation
By contributing, you agree that your contributions will be licensed under the MIT License.