Skip to content

Latest commit

 

History

History
54 lines (43 loc) · 2.11 KB

contributing.md

File metadata and controls

54 lines (43 loc) · 2.11 KB

Contributing to Nim Blockchain Node

Introduction

Thank you for your interest in contributing to the Nim Blockchain Node project! Your contributions will help enhance the blockchain node's security, scalability, and overall functionality. Below you'll find guidelines on how to effectively participate.

🚧 Contribution Guidelines

💡 Reporting Issues

  • Clearly describe the issue, including steps to reproduce, expected vs. actual behavior, and relevant screenshots or logs.
  • Label issues appropriately (bug, feature request, enhancement, etc.).

🛠️ Development Workflow

  • Fork the repository and create your feature branch:
    git checkout -b feature/new-feature-name
  • Ensure your code adheres to existing architecture, clearly documented practices, and coding standards.
  • Commit your changes clearly and explicitly:
    git commit -m "Implement new consensus algorithm"
  • Push your feature branch:
    git push origin feature/new-feature-name
  • Submit a pull request against the main branch and clearly outline your changes.

📐 Code Standards

  • Follow SOLID principles for clear modularity and maintainability.
  • Adhere to DRY and KISS principles to ensure clarity and simplicity.
  • Write clear and concise documentation and comments to facilitate peer review.

🧪 Testing

  • All new features or bug fixes must include relevant tests.
  • Run the full test suite before submitting a pull request:
    nimble test

🔒 Security

  • Report security vulnerabilities responsibly by directly contacting maintainers.
  • Follow cryptographic best practices and avoid custom cryptographic implementations without thorough review.

📝 Documentation

  • Update documentation in the docs folder with your contribution to reflect changes accurately.
  • Use clear, technical English, focusing on clarity, completeness, and readability.

🙌 Code of Conduct

  • Be respectful, collaborative, and inclusive.
  • Provide constructive feedback and be open to receiving feedback from others.

We look forward to your valuable contributions to enhancing the Nim Blockchain Node!