The goal of this project is to create a web page in order to be able to mint NFT's.
Frontend to
- Interact with Metamask wallet
- Mint NFTs by selecting pictures and uploading to IPFS
- Display minted NFTs
- Transfer owned NFTs to other wallets
- Transfer owned NFTs to marketplaces, e.e. OpenSea, Rarible
You must have the latest "LTS" node version installed :
- (Node LTS version)[https://nodejs.org/en/]
- Go to
/backend
directory
yarn install
npx hardhat node
To deploy on localhost network:
npx hardhat --network localhost run scripts/deploy_palonft.js
npm i -g ipfs
jsipfs init
- Start the ipfs daemon
jsipfs daemon
- Change the ipfs cors config :
jsipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
jsipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST", "GET"]'
- Restart the daemon
jsipfs daemon
- Go to
/frontend
directory
yarn install
- Install Chrome Metamask extension
- Add the local hardhat network Settings -> Networks -> Add Network -> Add a network manually Network URL: http://localhost:8545 Chain ID: 1337 Currency Symbol: ETH
- Reset the nonce (This step must be done every time the local hardhat node is restarted) Settings -> Advanced -> reset accounts
npm start
- Go to
/backend
directory
npx hardhat test
npx hardhat coverage
Test coverage is generated in the coverage
folder and can be viewed using a browser.
Add REPORT_GAS=true
in front of the command to test with gas estimation.
- Go to
/e2e
directory
Open cypress to run e2e tests
npx synpress open -cf cypress.config.ts