This project leverages the power of blockchain technology to revolutionize the way graduation certificates and other legal documents are verified. The primary goal is to create a secure, transparent, and decentralized platform where colleges publish certificates on the blockchain, allowing companies to verify their authenticity seamlessly.
- Certificate Publishing: Colleges can upload certificates to the blockchain, ensuring they are tamper-proof and publicly verifiable.
- Instant Verification: Companies can validate the authenticity of certificates without relying on intermediaries.
- Enhanced Security: The blockchain ensures that all records are immutable and protected against fraud.
- Decentralized: Eliminates centralized points of failure, ensuring reliability and transparency.
- React: Interactive and dynamic user interface for seamless user experience.
- JavaScript: Core functionality for user interactions and logic.
- Node.js: Handles server-side logic and API integration.
- MongoDB: NoSQL database to manage user and certificate metadata.
- Truffle Framework: For writing, testing, and deploying smart contracts.
- Ganache: Local Ethereum blockchain network for development and testing.
- Web3.js: JavaScript library for interacting with the blockchain from the frontend.
- Certificate Upload: Colleges upload certificates to the system.
- Blockchain Integration: The certificate details are hashed and stored on the blockchain using smart contracts.
- Verification: Companies can search for a certificate's hash to verify its authenticity instantly.
- Immutable Records: Once published, certificates cannot be altered or deleted.
project-root/
├── contracts/ # Smart contract code
├── client/ # React frontend
├── server/ # Node.js backend
├── migrations/ # Smart contract deployment scripts
├── test/ # Smart contract test cases
├── package.json # Node.js dependencies
├── truffle-config.js # Truffle configuration
└── README.md # Project documentation
-
Clone the Repository:
git clone https://github.com/Abhishek242004/BlockFiles.git cd BlockFiles
-
Install Dependencies:
npm install cd client npm install
-
Start Ganache:
- Open Ganache and create a new workspace.
-
Deploy Smart Contracts:
truffle migrate --network development
-
Run Backend Server:
cd server npm start
-
Start Frontend:
cd client npm start
-
Access the Application: Open your browser and navigate to
http://localhost:3000
.
- Use Truffle's testing framework to run unit tests for the smart contracts:
truffle test
- Ensure all tests pass before deploying to a live network.
We welcome contributions to improve this project! Follow these steps:
- Fork the repository.
- Create a new branch for your feature/bugfix.
- Commit your changes and push them to your fork.
- Submit a pull request.
This project is licensed under the MIT License.
For any inquiries or feedback, feel free to reach out:
- Name: Team Prometheus
- Members: Ayush Aditya, Abhishek Sahu, Akshat Gupta
- Integration with a live Ethereum network for real-world deployment.
- Advanced user authentication and access control.
- Enhanced user interface with certificate visualization.
- Support for additional types of documents and records.