GithubHelp home page GithubHelp logo

akkiris / nft-minter-dapp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 52 KB

This project is developed for the Softtech-Akademi Solidity Development Program as use case purpose.

Home Page: https://nft-minter-dapp-kappa.vercel.app/

License: Apache License 2.0

JavaScript 58.51% CSS 32.25% Solidity 8.30% Shell 0.93%
ethers etherscan hardhat infura metamask nextjs notiflix openzeppelin-contracts solidity supabase-js reactjs

nft-minter-dapp's Introduction

Nft Minter DApp

This project is developed by Ali Kaan Kiris for the Softtech-Akademi Solidity Development Program as use case purpose.


This is a DApp for minting NFTs on the Ethereum blockchain. It uses;

Prerequisites

Run the app with one-click installable script

  • At the project directory, open git-bash and run the following command:
./run-dev.sh

Getting Started

You can skip steps (3, 4, 5, 6, 7) if you have already have exist .env file. Do not forget keys might be expired and these are pre-defined environment variables for the testnet and use case purpose.

1. First, move to the project directory:

cd nft-minter-dapp

2. Install dependencies:

  • you have to install Node.js first.
  • then run the following command:
npm install

3. Create a .env file (whether not exists) in the root directory of the project and add the following variables:

NEXT_PUBLIC_RPC_URL=''
NEXT_PUBLIC_ETHERSCAN_KEY=''
NEXT_PUBLIC_PRIVATE_KEY=''
NEXT_PUBLIC_CONTRACT_ADDRESS=''
NEXT_PUBLIC_TREASURY_CONTRACT_ADDRESS=''
NEXT_PUBLIC_LIQUIDITY_CONTRACT_ADDRESS=''
NEXT_PUBLIC_SUPABASE_URL=''
NEXT_PUBLIC_SUPABASE_ANON_KEY=''

4. Register your own account to related apps and get your own keys:

  • NEXT_PUBLIC_RPC_URL register infura here.
  • NEXT_PUBLIC_ETHERSCAN_KEY register etherscan here.
  • NEXT_PUBLIC_PRIVATE_KEY install metamask, create an account and set private key here.
  • NEXT_PUBLIC_CONTRACT_ADDRESS your main contract address.
  • NEXT_PUBLIC_TREASURY_CONTRACT_ADDRESS your treasury contract address %6 of the minted NFTs will be sent to this address.
  • NEXT_PUBLIC_LIQUIDITY_CONTRACT_ADDRESS your liquidity contract address %4 of the minted NFTs will be sent to this address.
  • NEXT_PUBLIC_SUPABASE_URL register supabase here.
  • NEXT_PUBLIC_SUPABASE_ANON_KEY your supabase anon key.

5. Create nft table in supabase:

  • Create a table named nft in supabase and add the following columns:
    • data type: jsonb
    • name type: text
    • address type: text
    • meta type: json

6. Change NftMinterDapp.sol Contract Addresses in the contracts directory.

  • Change treasuryWallet with your own address inside constructor.
  • Change liquidityWallet with your own address inside constructor.

7. Clean Compile Deploy Contracts with hardhat:

  • run the following commands whenever you change the contract:
npm run sol:clean
npm run sol:compile
  • run the following command to deploy the contract to sepolia testnet:
npm run sol:deploy

8. Run the app in the development mode:

npm run dev

9. Open http://localhost:3000 to view it in the browser.

Pages

  • main page: app/page.js

    • You you have to install MetaMask to use this page.
    • You can see random NFTs on this page.
  • mint page: app/mint/page.js

    • You can mint NFTs on this page.
    • Give name and meta data list to your NFTs.

nft-minter-dapp's People

Contributors

akkiris avatar dependabot[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.