Coder Social home page Coder Social logo

kevinfaveri / snes-punks Goto Github PK

View Code? Open in Web Editor NEW
42.0 2.0 10.0 4.48 MB

Real world example of a full-stack Ethereum web app for supporting minting of NFT's from a collection using Tailwind, NextJS an nes.css. Contracts are written in Solidity with the help of HardHat.

Home Page: https://snespunks.com/

Solidity 4.39% JavaScript 5.44% TypeScript 89.32% Shell 0.54% CSS 0.31%
nextjs blockchain cryptocurrency nft tailwindcss nescss

snes-punks's Introduction

SNESPunks

This is an example fullstack ethereum app using NextJS + Tailwind + nes.css as front/back techstack. It is integrated with Metamask for supporting web3 in the frontend; The contract has been written and deployed using HardHat and the ERC712, ERC721Enumerable, Ownable and Counters OpenZeppelin interfaces. Ownable is used so OpenSea can get access to the getOwner function but it could have been implemented too if you do not wish to extends on the interface.

Env Vars

You need to have these environment variables defined for the project to work:

  • SPACES_API_KEY
  • SPACES_SECRET_KEY
  • CONTRACT_OWNER_PK

Support the project

If you wish to support the project, mint one exclusive SNESPunk here: https://snespunks.com/

My plan is to work on even more elaborated blockchain fullstack apps as I study new things, always focusing on an example real world app! If you wish to support that, mint one NFT :)

Roadmap

  • Tests for contract
  • IPFS support
  • SNESPunks Twitter bot integrated with OpenSea + Infura API
  • Add Subgraph
  • Gamification in the main website using the tokens

Suggestions for improvements of this repo

I chose to go simply in this one with a sequential minting so all business rule is on the contract! But a simpler solution if you want to randomize, or even generate things on the fly (like, they don't use a similar artwork [in this case CryptoPunks] as a base), you can always use Ethereum APIs, be it etherscan, Infura or Alchemy (or any other provider of nodes that gives you APIs to play with) for listening for transactions and minting random NFT's. Another option might be to integrate with something like Chainlink Oracles for dynamic NFT's.

This repository does not support setting the tokenURI for something entirely diff, so it will always rely on the snespunks.com domain (even if the SNESPunks resources are stored on IPFS, which is not a good approach). If you want to be able to change the tokenURI as you grow, please extend on the ERC721URIStorage openzeppelin interface.

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.