pontus-dev / scaffold-eth-typescript-unity-nft

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ— Scaffold-Eth Typescript Unity NFT

Unity WebGL

This special version of scaffold-eth-typescript has a few things:

  1. Hardhat deploy scripts for minting nfts and publishing data on IPFS
  2. regular scaffold-eth react frontend to query the blockchain for your NFT data and also IPFS data.
  3. An integration which sends that data to unity webgl
  4. A Unity scene where you can see the NFTs you own

Typescript

This is the typescript repo of scaffold-eth and it uses hardhat and vite to run scaffold-eth-typescript. There is also a nextjs version. The directories that you'll use are:

packages/vite-app-ts/
packages/hardhat-ts/
packages/next-app-ts/

Quick Start

Setup pre deploy and launch

  1. Get an IPFS infura project from infura.io, copy your project id and api key secret
  2. Create the file packages/vite-app-ts/.env.local and override your Infura project ID and api key. You can see the format in packages/vite-app-ts/.env (the file you override by creating packages/vite-app-ts/.env.local)
  3. Go to packages/hardhat-ts/deploy/01_deploy_your_NFT.ts and find the line with the toAddress variable. Here you want to put in your wallet address that you have in your browser. If you don't know which wallet address you will get due to using burner wallets or similar. Make a note of launching the app (yarn start before yarn deploy) once before deploying your NFTs. so you can copy your address from the browser and add it here.

Commands to run the app

Running the app

  1. install your dependencies, open a new command prompt

    yarn install
  2. start a hardhat node

    yarn chain
  3. run the app, open a new command prompt

    # build hardhat & external contracts types
    yarn contracts:build
    # deploy your hardhat contracts
    yarn deploy
    # start the app (vite)
    yarn start
  4. If you'd like to run the nextjs app, open a new command prompt

    # start nextjs app
    yarn start:next
    
  5. other commands

    # rebuild all contracts, incase of inconsistent state
    yarn contracts:rebuild
    # run hardhat commands for the workspace, or see all tasks
    yarn hardhat 'xxx'
    # get eth for testing locally
    yarn hardhat faucet xxx
    # run any subgraph commands for the workspace
    yarn subgraph 'xxx'

    Other folders

    # for subgraph
    packages/advanced/subgraph/
    packages/advanced/services/

Environment Variables

Vite and NextJs app folders have .env files. To create local variables that overrride these, create a file called .env.local, or .env.development.local or .env.production.local and put your overrides in there.

You can set your TARGET_NETWORK with them.

Overview

Everything you need to build on Ethereum! πŸš€ Quickly experiment with Solidity using a frontend that adapts to your smart contract:

image

  • πŸ” Edit your smart contract YourContract.sol in packages/hardhat-ts/contracts
  • πŸ“ Edit your frontend MainPage.tsx in packages/vite-app-ts/src
  • πŸ’Ό Edit your deployment scripts in packages/hardhat-ts/deploy
  • πŸ“± Open http://localhost:3000 to see the app
  • πŸ‘·πŸ½β€β™‚οΈ run yarn hardhat to get a list of all the tasks. Run yarn hardhat taskname to run the task.





Guides

Documentation

πŸƒπŸ’¨ Speedrun Ethereum

Register as a builder here and start on some of the challenges and build a portfolio.

🏁 Make sure to click on the typescript tab!





More Information!

πŸ“š Documentation

Documentation, tutorials, challenges, and many more resources, visit: docs.scaffoldeth.io

Eth-hooks documentation is here. Learn how to use the contexts here.

πŸ’¬ Support Chat

Join the telegram support chat πŸ’¬ to ask questions and find others building with πŸ— scaffold-eth!

πŸ›  Buidl

Check out

πŸ”­ Learning Solidity

Read the docs: https://docs.soliditylang.org

Go through each topic from solidity by example editing YourContract.sol in πŸ— scaffold-eth

πŸ™πŸ½ Support us!

Please check out our Gitcoin grant too!

πŸ” P.S.About keys

You need an RPC and API keys for testnets and production deployments, create an Alchemy account and replace the value of ALCHEMY_KEY = xxx in packages/vite-app-ts/.env or packages/next-app-ts/.env with your new keys.

About

License:MIT License


Languages

Language:TypeScript 73.6%Language:JavaScript 13.4%Language:Shell 4.5%Language:HTML 2.4%Language:C# 2.3%Language:Solidity 1.3%Language:Dockerfile 1.1%Language:CSS 1.0%Language:Less 0.5%