101 lines
2.3 KiB
Markdown
101 lines
2.3 KiB
Markdown
|
|
# Contributing to Vexta Core
|
|||
|
|
|
|||
|
|
Thank you for your interest in contributing to Vexta Core.
|
|||
|
|
|
|||
|
|
Vexta Core is a Bitcoin Core–based blockchain focused on long-term stability, maintainability, and compatibility. Contributions that improve code quality, reliability, documentation, testing, or performance are welcome.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Development Philosophy
|
|||
|
|
|
|||
|
|
The project follows a simple set of principles:
|
|||
|
|
|
|||
|
|
- Keep consensus changes to an absolute minimum.
|
|||
|
|
- Stay as close to upstream Bitcoin Core as practical.
|
|||
|
|
- Prefer simple, readable, and maintainable code.
|
|||
|
|
- Remove legacy code instead of extending it.
|
|||
|
|
- Preserve compatibility with standard Bitcoin ecosystem software whenever possible.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Contributor Workflow
|
|||
|
|
|
|||
|
|
1. Fork the repository.
|
|||
|
|
2. Create a feature branch.
|
|||
|
|
3. Make focused, self-contained changes.
|
|||
|
|
4. Ensure the project builds successfully.
|
|||
|
|
5. Run the available tests.
|
|||
|
|
6. Submit a pull request with a clear description.
|
|||
|
|
|
|||
|
|
Small pull requests are strongly preferred over large ones.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Coding Guidelines
|
|||
|
|
|
|||
|
|
Please follow the existing Bitcoin Core coding style.
|
|||
|
|
|
|||
|
|
When making changes:
|
|||
|
|
|
|||
|
|
- avoid unnecessary complexity
|
|||
|
|
- keep commits focused on a single task
|
|||
|
|
- update documentation when appropriate
|
|||
|
|
- remove obsolete code instead of leaving dead paths
|
|||
|
|
- avoid introducing project-specific workarounds unless required
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Consensus Changes
|
|||
|
|
|
|||
|
|
Consensus changes require extra care.
|
|||
|
|
|
|||
|
|
Before proposing a consensus modification:
|
|||
|
|
|
|||
|
|
- document the motivation
|
|||
|
|
- consider compatibility implications
|
|||
|
|
- verify the impact on wallets, pools, explorers, and nodes
|
|||
|
|
- include appropriate tests whenever practical
|
|||
|
|
|
|||
|
|
Consensus changes should remain rare.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Pull Requests
|
|||
|
|
|
|||
|
|
Good pull requests generally:
|
|||
|
|
|
|||
|
|
- solve one problem
|
|||
|
|
- build successfully
|
|||
|
|
- include clear commit messages
|
|||
|
|
- avoid unrelated formatting changes
|
|||
|
|
- keep the diff as small as practical
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Code Review
|
|||
|
|
|
|||
|
|
Every change should be reviewed for:
|
|||
|
|
|
|||
|
|
- correctness
|
|||
|
|
- readability
|
|||
|
|
- maintainability
|
|||
|
|
- performance
|
|||
|
|
- security
|
|||
|
|
- compatibility with upstream Bitcoin Core
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Release Process
|
|||
|
|
|
|||
|
|
Stable releases should only be created after:
|
|||
|
|
|
|||
|
|
- successful builds on supported platforms
|
|||
|
|
- passing test suites
|
|||
|
|
- review of consensus-related changes
|
|||
|
|
- verification of release binaries
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## License
|
|||
|
|
|
|||
|
|
By contributing to Vexta Core, you agree that your contributions will be distributed under the MIT License.
|