I started my final case project with this project (https://github.com/ahmetenesdur/confesster-dapp) and it has evolved into the project you are currently reviewing. If you wish, you can also review this project.
The certificate project allows users to create a certificate that is linked to their Ethereum address and can be used to prove ownership of a digital asset. The project also provides a platform for users to view and manage their certificates, as well as view the transactions that have taken place on the network. Additionally, users can buy coffee for each other using the certificates, which is an innovative way of incentivizing people to use the network.
NextJS, ChakraUI, Solidity, Hardhat, Ether.js, Alchemy API, IPFS - Web3 Storage, The Graph, Etherscan and Goerli Testnet.
To see the project in action, visit the following link:
To better understand watch my presentation on loom:
To get this application up and and running on your local machine follow these simple steps.
You need to have Node.js, NPM and hardhat installed on your computer, before running this project.
Wallet Connect Modals : https://docs.walletconnect.com/2.0/web3modal/about or https://www.rainbowkit.com/docs/introduction
Ethereum React Hooks : https://wagmi.sh/react/getting-started
-
Clone the repo
git clone https://github.com/ahmetenesdur/certificate-dapp.git
-
Install NPM packages
npm install
or
yarn install
-
Create an
.env.local
file looking like thisNEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID="" RPC_URL="" METAMASK_PRIVATE_KEY="" ETHERSCAN_API_KEY="" NEXT_PUBLIC_WEB3_STORAGE_TOKEN=""
-
Compile the smart contract (I explained the contract in detail with comment lines, first check it out.)
npx hardhat compile
-
Deploy the smart contract (Examine the comment lines in the scripts.)
npx hardhat run scripts/deploy.js --network goerli
-
Verify the smart contract (Optional)
npx hardhat run scripts/verify.js --network goerli
-
Deploy subgraph to The Graph
Guide to deploy subgraph: https://thegraph.com/docs/en/cookbook/quick-start/
-
Get subgraph query endpoint after deployment and update it in
apollo-client.js
Guide to get subgraph query endpoint: https://thegraph.com/docs/en/querying/querying-from-an-application/
-
Run the app
npm run dev
or
yarn dev
-
Open the app in your browser
http://localhost:3000
- Connect your wallet to the app
- Create a certificate
- View your certificates
- View transactions
- Buy coffee for someone
Distributed under the MIT License. See LICENSE
for more information.