First off, thank you for considering contributing to BlockChain Mastery! It's people like you that make this learning resource valuable for the entire blockchain community. 🎉
- Code of Conduct
- How Can I Contribute?
- Getting Started
- Style Guidelines
- Commit Message Guidelines
- 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 the project maintainers.
Before creating bug reports, please check existing issues to avoid duplicates. When you create 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 to demonstrate the steps
- Describe the behavior you observed and what you expected to see
- Include screenshots if applicable
- Note the version/commit where you found the bug
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Explain why this enhancement would be useful to most users
- List any similar features in other projects if applicable
We welcome various types of content contributions:
- Create well-structured markdown files
- Include practical examples
- Add code snippets where applicable
- Ensure accuracy and clarity
- Fix typos and grammatical errors
- Clarify confusing explanations
- Update outdated information
- Add more detailed examples
- Ensure code is well-commented
- Test code before submitting
- Include README with setup instructions
- Follow language-specific best practices
- Provide complete project setup instructions
- Include all necessary dependencies
- Add clear documentation
- Test the project thoroughly
- Maintain the original structure
- Ensure accuracy of technical terms
- Create a new language directory
- Update the main README with language links
- Git installed on your system
- Basic knowledge of Markdown
- GitHub account
-
Fork the Repository
# Click the 'Fork' button on GitHub -
Clone Your Fork
git clone https://github.com/YOUR_USERNAME/BlockChain-Mastery.git cd BlockChain-Mastery -
Create a Branch
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Make Your Changes
- Edit files using your preferred editor
- Add new content or code
- Ensure all links work correctly
-
Test Your Changes
- Verify all links are working
- Check markdown formatting
- Test any code examples
- Preview markdown files
-
Commit Your Changes
git add . git commit -m "Add: Brief description of your changes"
-
Push to Your Fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your branch
- Fill in the PR template
- Submit the pull request
- Use clear and descriptive headings
- Include a table of contents for long documents
- Use code blocks with language specification
- Add alt text to images
- Use relative links for internal references
- Keep line length reasonable (80-120 characters)
// Use clear variable names
const blockchainNetwork = 'ethereum';
// Add comments for complex logic
function calculateGasFee(gasLimit, gasPrice) {
// Calculate total gas fee in wei
return gasLimit * gasPrice;
}# Follow PEP 8 style guide
def create_transaction(sender, receiver, amount):
"""
Create a new transaction.
Args:
sender: Address of the sender
receiver: Address of the receiver
amount: Transaction amount
Returns:
Transaction object
"""
return Transaction(sender, receiver, amount)// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// Clear contract documentation
contract SimpleToken {
// State variables with descriptive names
mapping(address => uint256) public balances;
// Events for important state changes
event Transfer(address indexed from, address indexed to, uint256 amount);
}- Use clear, concise language
- Define technical terms when first used
- Include practical examples
- Add diagrams where helpful
- Reference authoritative sources
We follow conventional commits specification:
<type>(<scope>): <subject>
<body>
<footer>
- feat: A new feature
- fix: A bug fix
- docs: Documentation changes
- style: Formatting changes
- refactor: Code refactoring
- test: Adding or updating tests
- chore: Maintenance tasks
feat(defi): Add Uniswap V3 tutorial
fix(smart-contracts): Correct ERC-20 example code
docs(readme): Update installation instructions
style(projects): Format code examples consistently-
Update Documentation
- Update README.md if needed
- Add/update relevant documentation
- Include examples if applicable
-
Follow the Checklist
- Code follows the style guidelines
- Self-review completed
- Comments added for complex code
- Documentation updated
- No breaking changes (or documented)
- Links verified and working
-
PR Description
- Clearly describe what and why
- Reference related issues
- Include screenshots for visual changes
- List any breaking changes
-
Review Process
- Address reviewer feedback
- Make requested changes
- Keep the discussion professional
- Be patient and respectful
-
After Merge
- Delete your feature branch
- Update your fork
- Celebrate your contribution! 🎉
Contributors will be recognized in the following ways:
- Listed in the README.md contributors section
- Mentioned in release notes (for significant contributions)
- Special badges for multiple contributions
- Community recognition and thanks
- GitHub Discussions: Ask questions and discuss ideas
- Issues: Report bugs or request features
- Pull Requests: Submit changes for review
- Be respectful and inclusive
- Stay on topic
- Help others when you can
- Share your knowledge
Your contributions, no matter how small, make a big difference. Whether you're:
- Fixing a typo
- Adding a tutorial
- Creating a project
- Improving documentation
- Reporting a bug
- Suggesting an enhancement
You're helping build a better learning resource for the blockchain community! 🚀
Questions? Feel free to open an issue or reach out to the maintainers.