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