Zelda allows makers and owners to create links between their physical items and the blockchain. For makers, the application provides a way to upload images and metadata for real-world products, create digital tokens representing those items (along with corresponding QR codes), and offer them for sale in a decentralized marketplace.
For buyers, the application allows them to browse available collections in the marketplace, buy a token from a collection, and see the current tokens they own.
- Node.js
- hardhat with Typescript support
- npm install
- Add the hardhat network to your metamask:
- RPC URL: http://127.0.0.1:8545
- Chain ID: 31337
- Currency Symbol: GO
- Create an empty
.envfile in the /nft-mrkt-frontend folder:touch ./nft-mrkt-frontend/.env - To reproduce the full application you'll need API keys for Covalent and Pinata, and to append those keys to
.envafter step 4 below.
-
Start the hardhat node in zelda/nft-mrkt-backend run
npx hardhat node -
The above command will generate 20 test accounts. Use the private key from one of these accounts to add an account to your Metamask.
-
Deploy the marketplace contract in zelda/nft-mrkt-backend run
npx hardhat run scripts/deployMarketplace.ts --network localhost -
Instead of the usual npm start to start the react server, use this instead in zelda/nft-mrkt-frontend run
npm run start2