Giter VIP home page Giter VIP logo

nft-minting's Introduction

NFT-MINTING PLATFORM

Demo video This is a project to implement a dapp built on the ICP, which allows the user to login using NFID and mint an nft into their wallet.

Explanation

The project uses DIP721 as the standard for the nft-minting process. The dip721-nft-container is responsible for minting of nfts. It contains a canister dip_nft_container which is responsible for the implementation of dip721 standard. The minting-tool is used to mint images to the principal id of the owner.

The nft-wallet module is intended to serve the purpose of porviding the wallet functionality to the dapp. It includes a canister nftwallet to serve this purpose. This module also contains the frontend canister to serve as the UI for the dapp. Internet_identity is used to authorize the user to login using internet identity (this will be modified to use NFID for authoriZation).

How to Use?

Clone this repository:

git clone https://github.com/deepesh1793/NFT-Minting.git
cd nfts/dip721-nft-container

Start the dfx replica locally:

dfx start --background --clean

Deploy the dip_nft_container canister (Note that the arguments can vary)

dfx deploy --argument 'record{name="DFX Blobs";symbol="DFXB";custodians=null;logo=null}' dip721_nft_container

Use the minting-tool 2by dfinity to mint photos To use the minting tool:

cargo install --git https://github.com/dfinity/experimental-minting-tool

Use the following command to mint the nft:

minting-tool local "$(dfx canister id dip721_nft_container)" --owner "$(dfx identity get-principal)" --file ./logo.png --sha2-auto

Time to deploy the nftwallet canister:

cd ../../
cd nft-wallet
dfx deploy --no-wallet

Run the frontend:

cd ../
cd wallet/frontend/
npm run dev

Authorize the wallet:

dfx canister call '<nft-wallet canister id>' set_authorized '(principal "<Principal of wallet>",true)'

Transfer the collection to wallet

cd ../
cd nfts/dip721-nft-container/
dfx identity get-principal
dfx canister call dip721-nft-container transferFromNotifyDip721 "(principal \"<dfx identitiy principal>\",principal \"<NFT Wallet Canister ID>\",0:nat64,vec{0:nat8})"

nft-minting's People

Contributors

deepesh1793 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.