You are going to be creating a simple single page application that allows a user to receive 100 faucet token (FCT) that you create. Faucets are used to get fake testnet ether for your wallet that use in the development of your dApp. You will create a faucet for your own token and use the ERC20 token standard for your token. You will add a function to the smart contract called faucet() that will allow a user to receive 100 FCT.
The user will be able to:
- Get 100 FCT
- Check their FCT balance
- Send FCT to another address
-
react: client side front end language
-
react-bootstrap: fast css component styling package
-
hardhat: ethereum/solidity development environment package
-
ethers.js: ethereum/web client library package
-
remix: an in-browser solidity development environment
-
MetaMask: in-browser wallet you will use to interact with your application
-
openzeppelin: a library of safe and audited smart contract solidity code
-
chai: a javascript assertion library for running tests
-
waffle: a library for smart contract testing
-
infura.io: An IPFS (InterPlanetary File System) api that will connect our application to a live testnet. IPFS is a protocol and peer-to-peer network for storing and sharing data in a distributed file system.
-
Goreli: a live testnet you will be using
-
GitHub: where you will upload your final files
-
Vercel: will connect to GitHub to give you a link to be shown on the internet
Here is a link on how to how to build this.
Here is an example of the fully built dApp.