Website: Codecracy
Devnet Address: j8RWHX7RcLfWxkimpbgrSv6cPjUdpdGvjj3n3ikd53S
Codecracy is a decentralized protocol built on Solana, developed as part of the Q4 2024 Turbin3 Cohort Capstone Project. The protocol incentivizes code contributions by enabling transparent tracking, voting, and reward mechanisms for developers.
Inspired by the principles of democracy, Codecracy emphasizes fairness, transparency, and equality in software development. It leverages Solana's cutting-edge blockchain features, such as Address Lookup Tables, for scalable and efficient team management without requiring centralized backends.
- initialize_config: Set up the initial protocol configuration.
- edit_config: Modify protocol configuration parameters.
- initialize_project: Create a new project, define metadata, and authorize team members.
- close_project: Deactivate and archive an existing project.
- change_admin: Transfer administrative rights to another team member.
- add_member: Add a new contributor to the project.
- remove_member: Remove an existing contributor.
- start_poll: Launch a voting poll to evaluate a specific contribution.
- cast_vote: Submit a vote on an active poll.
- claim: Claim rewards based on the contribution score determined through voting.
The program employs Program Derived Address (PDA) accounts to manage protocol state, ensuring robust, decentralized, and transparent data storage. Detailed implementations and schemas are available in the state directory of the program's codebase.
Using Solana's Address Lookup Tables, the protocol allows dynamic team member updates, ensuring scalability without needing backend infrastructure.
The protocol includes comprehensive access control mechanisms, ensuring only authorized actions can be performed. It mitigates risks associated with tampering or unauthorized access to sensitive operations.
To build and run tests for Codecracy, follow these steps:
-
Install dependencies:
yarn install anchor test
The test suite thoroughly validates:
- Core functionality of all program instructions.
- Role-based access control and permission management.
- Edge cases and potential security vulnerabilities.
- Robust handling of state transitions.