ElimuChain is an innovative platform aimed at transforming academic credential verification in Kenya. By harnessing the power of both the Lisk blockchain for scalable sidechain functionality and Solidity for smart contract execution on the Ethereum Virtual Machine (EVM), we are dedicated to combating educational fraud, streamlining verification processes, and fostering trust in academic qualifications.
Target Audience:
- Educational Institutions (Universities, Colleges, Schools)
- Students and Graduates
- Employers
- Government Bodies
- International Educational Partners
ElimuChain offers key functionalities:
- Credential Issuance: Institutions can issue digital certificates via Solidity smart contracts, recorded on the blockchain.
- Verification: Employers or authorized parties can verify credentials instantly using smart contract functions with unique certificate IDs.
- Data Privacy: Users maintain control over their data through blockchain's cryptographic methods.
- Interoperability: Designed for seamless integration with existing educational systems.
- Hybrid Blockchain Approach: Combines Lisk's scalability with Ethereum's Solidity for robust and secure backend operations.
- User Empowerment: Students have direct control over their educational data, managing access permissions through smart contracts.
- Cultural Adaptation: Specifically tailored to meet the needs of the Kenyan educational context.
- Anti-Fraud Mechanism: The immutable nature of blockchain ensures the integrity of issued credentials.
- Frontend: React, TypeScript, Tailwind CSS
- Blockchain: Ethereum, Solidity
- Database: Supabase
- Authentication: Supabase Auth
- Web3: ethers.js
- UI Components: Lucide React
-
Clone the Repository:
git clone https://github.com/ElimuChain/elimuchain cd elimuchain
-
Install Node Dependencies:
npm install
-
Install Solidity Dependencies:
- Ensure Truffle is installed globally:
npm install -g truffle
- Install project-specific Solidity dependencies:
truffle compile
-
Configure Lisk Node & Ethereum Environment:
- Edit
config.json
for Lisk node settings. - Set up your local Ethereum network or use an existing testnet.
- Edit
-
Start the Node:
npm run start
For development mode:
npm run dev
Deploy and interact with the CertificateIssuer
contract:
contract CertificateIssuer {
function issueCertificate(address student, string memory course, string memory institution) public;
// Additional functions...
}
Verify credentials using the CertificateVerifier
contract:
contract CertificateVerifier {
function verifyCertificate(uint certificateId) public view returns (bool);
}
Access your certificates through the frontend or directly interact with contracts.
Detailed documentation can be found in the /doc directory:
We welcome contributions to enhance ElimuChain! Here’s how you can help: Please read our Contributing Guidelines before submitting pull requests.
- Fork the repository.
- Create a feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m "Add AmazingFeature"
- Push to your branch:
git push origin feature/AmazingFeature
- Open a pull request.
Please ensure your code adheres to our standards and passes all tests. Refer to our Contribution Guidelines for more information.
This project is licensed under the MIT License. See LICENSE.md for details.