Thank you for your interest in contributing to Verinode! This document provides guidelines and information for contributors.
- Node.js (v16+)
- Git
- Stellar CLI (for contract development)
- Basic knowledge of Rust (for Soroban contracts)
- Familiarity with JavaScript/TypeScript
-
Fork the repository
# Fork the repository on GitHub, then clone your fork git clone https://github.com/YOUR_USERNAME/Verinode.git cd Verinode
-
Install dependencies
# Install root dependencies npm install # Install contract dependencies cd contracts npm install # Install backend dependencies cd ../backend npm install # Install frontend dependencies cd ../frontend npm install
-
Set up development environment
# Start local Stellar network stellar-core --conf stellar-core.cfg --newdb # Build contracts cd contracts npm run build # Start backend cd ../backend npm run dev # Start frontend cd ../frontend npm start
- Use the issue templates to report bugs or request features
- Provide clear descriptions and steps to reproduce
- Include relevant logs, screenshots, or examples
-
Create a new branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Add tests for new functionality
- Update documentation as needed
-
Test your changes
# Run contract tests cd contracts && npm test # Run backend tests cd ../backend && npm test # Run frontend tests cd ../frontend && npm test
-
Commit your changes
git add . git commit -m "feat: add your feature description"
-
Push and create PR
git push origin feature/your-feature-name # Create pull request on GitHub
- Rust contracts: Follow Rust style guidelines
- JavaScript/TypeScript: Use ESLint and Prettier configurations
- Commits: Follow Conventional Commits format
Verinode/
├── contracts/ # Soroban smart contracts (Rust)
│ ├── src/ # Contract source code
│ ├── tests/ # Contract tests
│ └── Cargo.toml # Rust dependencies
├── backend/ # Node.js API server
│ ├── src/ # API source code
│ ├── tests/ # Backend tests
│ └── package.json # Node.js dependencies
├── frontend/ # React Web3 application
│ ├── src/ # React source code
│ ├── public/ # Static assets
│ └── package.json # Node.js dependencies
├── docs/ # Documentation
├── scripts/ # Deployment and utility scripts
└── .github/ # GitHub templates and workflows
- Proof verification logic
- Access control mechanisms
- Event management
- Contract optimization
- RESTful API endpoints
- Stellar network integration
- Database management
- Authentication and authorization
- Web3 wallet integration (Freighter, etc.)
- User interface for proof issuance/verification
- Real-time updates
- Responsive design
- Discussions: Use GitHub Discussions for questions
- Discord: Join our community server
- Issues: Check existing issues before creating new ones
Contributors will be recognized in:
- README.md contributors section
- Release notes
- Special contributor badges in the application
By contributing, you agree that your contributions will be licensed under the MIT License.