A web platform for certifying and revoking documents through smart contracts on Ethereum. It includes a dashboard, notification panel, wallet integration, role management, and audit trail.
- βοΈ Backend: Java + Quarkus + REST
- π§ Smart Contract: Solidity + OpenZeppelin + Hardhat
- π Frontend: React + Tailwind + Ethers.js
- π§ͺ Test: Vitest + React Testing Library + TanStack Query
git clone https://github.com/IsinBlockchainTeam/KrostChain.git
cd KrostChaincd frontend
npm installcd backend
./mvnw installcd contracts
npm installMake sure you have Docker installed, then run:
docker run --name krostchain-mysql \
-e MYSQL_ROOT_PASSWORD=1234 \
-e MYSQL_DATABASE=blockchainDocuments \
-p 3306:3306 \
-d mysql:latestπ These credentials must match your backend
application.properties.
cd blockchain
npx hardhat nodenpx hardhat run scripts/deploy.ts --network localhostcd backend
mvn clean package
cd .\target\backend-api-client
npm i
npm link
cd ..\..
./mvnw quarkus:devcd frontend
npm link @dti-isin/backend-api-client
npm run devThen open http://localhost:3000 in your browser.
cd blockchain
npx hardhat nodenpx hardhat run scripts/deploy.ts --network localhostIt will appear in the terminal output (e.g. 0x...)
- Open:
frontend/src/config/config.ts - Replace the
contractAddresswith the one from step 3
Make sure it contains:
PRIVATE_KEY=<your Sepolia private key>
INFURA_API_KEY=a10fdf5acfcb4352828dc0b7a6a27b64
ETHERSCAN_API_KEY=13S52KAKXZC6YQW3Y8X9E5ESP3WSSFZ81Tnpx hardhat run scripts/deploy.ts --network sepolia- Open:
frontend/src/config/config.ts - Replace the
contractAddresswith the new Sepolia address
npx hardhat verify --network sepolia <contractAddress>If you made changes to the contract and need to upgrade the deployed proxy, run:
npx hardhat run scripts/upgrade.ts --network sepoliaπ Make sure the address in
.env(underPROXY_ADDRESS) is correct before running.
- The frontend uses
VITE_INFURA_API_KEY(set infrontend/.env) - The
PROXY_ADDRESSis saved in.envfor reference but not used automatically - You can switch between local and Sepolia by editing
PRIVATE_KEYand the deployment network
cd frontend
npm run testcd backend
./mvnw testcd contracts
npx hardhat test- Antonio Marroffino
- Luca FantΓ²




