Idea marketplace where ideas are a gated dynamic NFT that opens up to different team players (makers/developers, customers, investors, experts) incentivized to progress the idea into the real world.
Client side app currently at: https://tidai-app.web.app/
In the packages/react-app
folder, copy .env.example
file as .env
Add firebase keys.
Be sure to have firebase globally installed first
npm install -g firebase-tools
- Run
yarn
to install all packages cd packages/react-app/functions
- Run
npm install
to install packages for firebase functions cd ../../../
- Run
yarn emulators
to start firebase emulators on localhost:4000 - Open a 2nd terminal
- Run
yarn start
to start react app development on localhost:3000
Prerequisites: Node plus Yarn and Git
install and start your 👷 Hardhat chain:
yarn install
yarn chain
in a second terminal window, start your 📱 frontend:
yarn start
in a third terminal window, 🛰 deploy your contract:
yarn deploy --network NETWORK_OF_CHOICE (localhost, kovan, rinkeby, mainnet)
🔏 Edit your smart contract YourContract.sol
in ``
📝 Edit your frontend App.jsx
in packages/react-app/src
💼 Edit your deployment scripts in ``
📱 Open http://localhost:3000 to see the app
✏️ Edit the mint script mint.js in packages/hardhat/scripts and update the toAddress to your frontend address (wallet address in the top right or localhost:3000).
in a terminal window run the mint script:
yarn mint
👀 You should see your collectibles show up if you minted to the correct address:
👛 Open an incognito window and navigate to http://localhost:3000 (You'll notice it has a new wallet address).
⛽️ Grab some gas for each account using the faucet:
🎟 Send an NFT to the incognito window address:
🕵🏻♂️ Inspect the Debug Contracts
tab to figure out what address is the owner
of YourCollectible
?
💼 Edit your deployment script deploy.js
in packages/hardhat/scripts
🔏 Edit your smart contract YourCollectible.sol
in packages/hardhat/contracts
📝 Edit your frontend App.jsx
in packages/react-app/src
🔑 Create wallet links to your app with yarn wallet
and yarn fundedwallet
⬇️ Installing a new package to your frontend? You need to cd packages/react-app
and then yarn add PACKAGE
🛰 Ready to deploy to a testnet?
Change the
defaultNetwork
inpackages/hardhat/hardhat.config.js
🔐 Generate a deploy account with yarn generate
👛 View your deployer address using yarn account
(You'll need to fund this account. Hint: use an instant wallet to fund your account via QR code)
👨🎤 Deploy your NFT smart contract:
Make sure your target network is present in the hardhat networks config, then either update the default network in hardhat.config.js
to your network of choice or run:
yarn deploy --network NETWORK_OF_CHOICE
✏️ Edit your frontend
App.jsx
inpackages/react-app/src
to change thetargetNetwork
to wherever you deployed your contract:
You should see the correct network in the frontend:
🎫 Ready to mint a batch of NFTs for reals?
yarn mint
Once verified, they will then be available to view on Tenderly!
📕 Read the docs: https://docs.soliditylang.org
📚 Go through each topic from solidity by example editing YourContract.sol
in 🏗 scaffold-eth
📧 Learn the Solidity globals and units