CertifyChain is a project that aims to provide certificate management and verification through the Ethereum blockchain.
The project is divided into two parts:
- ReactJS
- RemixIDE
- Solidity
- EtherJS
- Hardhat
Fork and clone the repo
git clone git:github@<YOUR_USERNAME>/CertifyChain.git
cd CertifyChain
npm install
Create a .env file in the root of the project and add the following variables:
INFURA_API_KEY=YOUR_INFURA_API_KEY
PRIVATE_KEY=PVT_KEY_OF_YOUR_METAMASK_WALLET
Replace the key with your Indura API key generated from Infura and the private key of your metamask wallet.
Inside the contracts
folder you will find the certificate.sol
smart contract that will be deployed on the ethereum blockchain.
Open the contract on RemixIDE and deploy it on the Sepolia test network.
NOTE: Perform the following steps if you are deploying your own contract. A test contract has already been deployed at 0x4aF28d9e9e056620bbB78d8870b1942cc9B34954
npx hardhat compile
npx hardhat run scripts/deploy.js --network sepolia
After the contract is deployed, copy the contract address and paste it in the App.js
file in the
src` folder.
const certificateAddress = "NEW_CONTRACT_ADDRESS";
And replace the contract abi file in contracts/certificate.sol/certificate.json
npm start
The webapp will be running on localhost:3000
To open the same application of another device for testing purposes, make sure that the device is connected to the same network as the device on which the webapp is running. Then visit http://<IP_ADDRESS_OF_THE_DEVICE_RUNNING_THE_WEBAPP>:3000
The projects is licensed under MIT