A full-stack decentralized web application ensuring the integrity and immutability of forensic scan reports π§Ύ using Ethereum Blockchain and SHA-256 hashing.
Built for secure cybersecurity evidence management, ForenChain guarantees that every uploaded report is tamper-proof, verifiable, and traceable.
- β SHA-256 Cryptographic Verification β Ensures bulletproof file integrity
- β Ethereum Blockchain Anchoring β Immutable storage for every forensic hash
- β MetaMask Authentication β Web3 wallet-based secure login
- β Multiple Scan Types β Network, Web, Traffic & Vulnerability scanning
- β Real-Time Dashboard β Live blockchain status & verification view
- β Adaptive Dark/Light Mode β Elegant UI with theme switching
- β Proof of Integrity System β Instant authenticity validation
| Layer | Technologies Used |
|---|---|
| π¨ Frontend | Next.js 14, React, Tailwind CSS |
| βοΈ Blockchain | Solidity, Hardhat, Ethers.js |
| π¦ Authentication | MetaMask (Web3 Integration) |
| πΎ Storage | Local File System + On-Chain Hash Anchoring |
| π Network | Ethereum (Hardhat Localhost Network) |
- π’ Node.js 18+
- π¦ MetaMask Browser Extension
- π§± Git Installed
# Clone the repository
git clone https://github.com/yourusername/forenchain.git
cd forenchain
# Install dependencies
npm install
cd frontend && npm install && cd ..
3οΈβ£ Blockchain Setup
Terminal 1 β Start Local Blockchain
bash
Copy code
npx hardhat node
Terminal 2 β Deploy Smart Contract
bash
Copy code
npx hardhat run scripts/deploy.js --network localhost
β οΈ Important: Copy the deployed contract address from the terminal and update it in your frontend configuration file.
4οΈβ£ Configure MetaMask
Setting Value
Network Name Hardhat Local
RPC URL http://localhost:8545
Chain ID 31337
Currency Symbol ETH
Then, import one test accountβs private key from the Hardhat node console (Account #0 recommended).
5οΈβ£ Run the Application
bash
Copy code
cd frontend
npm run dev
π Visit your app here β http://localhost:3000
π§° Troubleshooting
Issue Solution
π MetaMask not connecting Ensure Hardhat node is running and correct network selected
β½ Transaction failed Check ETH balance or redeploy contract
π Verification failed Confirm correct file reupload or ABI version
Debug Commands
javascript
Copy code
// Check blockchain connection
await window.ethereum.request({ method: 'eth_chainId' });
// Get wallet balance
const balance = await provider.getBalance(account);
// Switch MetaMask to Hardhat network
await window.ethereum.request({
method: 'wallet_switchEthereumChain',
params: [{ chainId: '0x7A69' }]
});
π§Ύ Project Overview
π§© /frontend/pages/upload.js β File upload & hashing UI
βοΈ /utils/blockchain.js β Blockchain transactions & verification logic
π½ /contracts/ForenChain.sol β Smart contract for hash storage
π /scripts/deploy.js β Contract deployment automation
π‘ Vision
"ForenChain ensures digital forensic reports remain tamper-proof, verifiable, and decentralized β bringing blockchain-level trust to cybersecurity." π
π¨βπ» Developer
π€ Atul Jha β B.Tech CSE (IoT) | Blockchain & Web Developer Learner
π Support the Project
If you liked this project, consider giving it a β star on GitHub!
Every star helps and motivates me to build more amazing open-source tools πͺβ¨


