Giter VIP home page Giter VIP logo

kick-nft's Introduction

๐Ÿš€ Kick-Ass NFT

A simple NFT minting and trading project for Crypto starters to learn Solidity, Web3.js, Truffle and other stuffs. We implement the ERC721, Non-Fungible Token Standard contracts. Just upload an image, you can mint your owned NFT art collectable. What's more amazing is that you can trade them with others to earn ETH in our concise and easy to use marketplace.

Project Layout

  • packages/dapp โ€” A frontend project based on Vue3 + Vite + ElementPlus + Web3.js.
  • packages/truffle โ€” Truffle project with Solidity(>=0.8) and Openzeppelin.

๐Ÿ“ฑ Screenshot

The following image is the screenshot of Marketplace which list all available selling NFTs, you can buy it with ETH assets.

Marketplace screenshot

And, this following image is the screenshot of My Collection. We can mint new NFT here. My owned nfts are listed in My Collection section. Besides, the NFTs I am selling are also listed in the On Sale section below. Notice, you wouldn't see anything if you haven't connected your wallet (For example, ๐ŸฆŠ MetaMask).

collectable screenshot

๐Ÿ„โ€โ™‚๏ธ Quick Start

Prerequisites

To build and run this project, you need to have the following installed on your environment:

  • Node.js (> 12)
  • Yarn (> 1.22.0)
  • Truffle (> 5.4.0)
  • Solidity (> 0.8)
  • Ganache (> 2.5.0, OPTIONAL)

Besides, we are using the following services:

Manual Setup

Firstly, install dependencies for all packages.

yarn install

Secondly, create a .env file under packages/truffle and fill required environment variables.

cd packages/truffle

cp .env.example .env && vim .env
  • INFURA_PROJECT_ID - infura.io project id, you can find in project SETTINGS > GENERAL > KEYS, visit: infura.io.
  • HD_WALLET_SECRET - your HD wallet BIP39 mnemonic.

Then, we compile and deploy smart contracts to Ethereum testnet.

truffle deploy --network ganache --reset

If you are going to deploy contracts to Ganache, Ganache must be listening on port 7545 as specified in the truffle config file.

Lastly, open a second terminal window, create a .env file under packages/dapp and fill required environment variables.

cd packages/dapp

cp .env.example .env && vim .env
  • VITE_NFT_STORAGE - NFT.Storage API key, you can create new API key when you logined, visit: NFT.Storage.
  • VITE_IPFS_GATEWAY - IPFS gateway base url, only support Path resolution style, default is https://ipfs.io/ipfs/.

Finally, start your frontend.

yarn run dev

Now, open http://localhost:8000 to see the app.

๐ŸŽฒ Test

After you setup this project manually, then you can run some tests.

Contract test

Start the truffle development console:

cd packages/truffle

truffle develop

Then, Execute truffle test.

truffle(develop)> test

โš–๏ธ License

The Kick-Ass NFT project is under the MIT license.

kick-nft's People

Contributors

jyfcrw avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

ditholease

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.