Thank you for your interest in contributing to the VeritasChain Protocol (VCP)! This document provides guidelines and instructions for contributing.
- Code of Conduct
- How Can I Contribute?
- Getting Started
- Development Workflow
- Style Guidelines
- Commit Messages
- Pull Request Process
- Community
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to info@veritaschain.org.
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples (code snippets, configuration files)
- Describe the behavior you observed and what you expected
- Include relevant logs and error messages
Enhancement suggestions are welcome! Please provide:
- A clear and descriptive title
- A detailed description of the proposed enhancement
- Explain why this enhancement would be useful
- List any alternatives you've considered
We welcome code contributions! Areas where you can help:
- Bug fixes - Fix reported issues
- Documentation - Improve or translate documentation
- Tests - Add or improve test coverage
- Features - Implement new features (please discuss first)
Documentation improvements are always welcome:
- Fix typos and grammatical errors
- Add missing information
- Improve clarity and readability
- Translate documentation (EN, JA, ZH supported)
Depending on the repository, you may need:
- Node.js 18+ and npm (for TypeScript projects)
- Python 3.9+ (for Python projects)
- MetaTrader 5 (for MQL5 projects)
- Git for version control
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/REPOSITORY-NAME.git cd REPOSITORY-NAME - Add the upstream remote:
git remote add upstream https://github.com/veritaschain/REPOSITORY-NAME.git
# For Node.js projects
npm install
# For Python projects
pip install -r requirements.txtCreate a branch for your changes:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/issue-descriptionBranch naming conventions:
feature/- New featuresfix/- Bug fixesdocs/- Documentation changesrefactor/- Code refactoringtest/- Test additions or modifications
- Make your changes in your branch
- Write or update tests as needed
- Ensure all tests pass
- Update documentation if necessary
# TypeScript projects
npm run lint
npm run type-check
npm run test
# Python projects
python -m pytest- Use ESLint and Prettier for formatting
- Use TypeScript strict mode
- Prefer
constoverlet - Use meaningful variable and function names
- Add JSDoc comments for public APIs
/**
* Creates a new VCP event with the specified parameters.
* @param eventType - The type of event (SIG, ORD, EXE, etc.)
* @param payload - The event payload
* @returns The created VCP event
*/
export function createEvent(eventType: EventType, payload: Payload): VcpEvent {
// Implementation
}- Follow PEP 8 style guide
- Use Black for formatting
- Use type hints for function signatures
- Add docstrings for public functions
def create_event(event_type: str, payload: dict) -> VcpEvent:
"""
Creates a new VCP event with the specified parameters.
Args:
event_type: The type of event (SIG, ORD, EXE, etc.)
payload: The event payload
Returns:
The created VCP event
"""
# Implementation- Use descriptive variable names
- Comment complex logic
- Follow MetaQuotes coding standards
- Use Markdown for documentation
- Keep line length reasonable (≤120 characters)
- Use headers to organize content
- Include code examples where helpful
We follow the Conventional Commits specification:
<type>(<scope>): <description>
[optional body]
[optional footer]
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Code style changes (formatting, etc.)refactor- Code refactoringtest- Adding or modifying testschore- Maintenance tasksci- CI/CD changes
feat(sdk): add Python SDK for VCP event logging
fix(explorer): resolve Merkle proof verification error
docs(readme): add Quick Start section in Japanese
ci: add GitHub Actions workflow for automated testing
-
Update your branch with the latest upstream changes:
git fetch upstream git rebase upstream/main
-
Ensure all checks pass:
- All tests pass
- Code follows style guidelines
- Documentation is updated
-
Write a clear PR description:
- What changes were made
- Why these changes were made
- Any related issues (use
Fixes #123to auto-close)
- A maintainer will review your PR
- Address any requested changes
- Once approved, a maintainer will merge your PR
- Delete your feature branch
- Pull the latest changes from upstream
- GitHub Issues - For bugs and feature requests
- GitHub Discussions - For questions and general discussion
- Email - info@veritaschain.org
- Website: https://veritaschain.org
- GitHub: https://github.com/veritaschain
- LinkedIn: https://linkedin.com/company/110199945
Contributors will be recognized in our release notes and on our website. Thank you for helping make VCP better!
VeritasChain Standards Organization
"Verify, Don't Trust"