Skip to content

Latest commit

 

History

History
87 lines (69 loc) · 2.84 KB

File metadata and controls

87 lines (69 loc) · 2.84 KB

Contributing to ProofChain (Industrial Evidence Chain)

Thank you for your interest in contributing to ProofChain! This project provides a tamper-evident, dual-layer industrial evidence tracking and audit management platform.

We welcome contributions of all kinds: bug reports, documentation improvements, architectural proposals, and pull requests.


Code of Conduct

All contributors and participants are expected to adhere to our Code of Conduct. Please treat all community members with respect.


Development Setup

Prerequisites

Step-by-Step Instructions

  1. Fork the Repository to your own GitHub account.
  2. Clone the Fork:
    git clone https://github.com/<your-username>/ProofChain.git
    cd ProofChain
  3. Run 1-Click Dev Launcher (Windows):
    .\start.bat
    Or launch services individually:
    • Backend:
      cd backend
      dotnet restore IndustrialEvidenceChain.slnx
      dotnet run --project src/IndustrialEvidenceChain.API/IndustrialEvidenceChain.API.csproj
    • Frontend:
      cd frontend
      npm install
      npm run dev -- --port 3000

Branching and Commit Strategy

  • main: Production-ready, stable codebase.
  • Feature branches: feature/<feature-name> or fix/<issue-name>.
  • Commit messages should follow the Conventional Commits specification:
    • feat: add RFC-8785 canonicalization for telemetry arrays
    • fix: correct digest mismatch on null timestamp fields
    • docs: update verification protocol diagrams
    • test: add unit test for asset registration state transitions

Pull Request Checklist

Before submitting a PR, ensure that:

  1. All unit tests pass cleanly:
    dotnet test backend/tests/IndustrialEvidenceChain.UnitTests/IndustrialEvidenceChain.UnitTests.csproj
  2. Frontend code lints and builds with zero errors:
    cd frontend
    npm run build
  3. End-to-end verification script passes:
    python tests/verify_api.py
  4. No sensitive information, temporary databases (*.db), or local credentials are committed.
  5. All documentation is updated to reflect any new features or API changes.

Reporting Issues

If you encounter bugs, inconsistencies, or unexpected behavior:

  1. Search Issues to verify it has not already been reported.
  2. Open a new issue with detailed reproduction steps, environment info, and relevant log snippets.