Giter VIP home page Giter VIP logo

generativenft's People

Contributors

kaicode2 avatar

Watchers

 avatar  avatar

generativenft's Issues

VAE for Generation

Use a Variational Auto Encoder implemented in a SNARK to produce Generative NFTs. User's purchased Entropy NFTs are used in the latent space of the VAE for generation.

Models weight updates via Merkle tree

Allow leading of new weights into Generative CNN by passing weights as input to the network. Does not permit the number of parameters to be increased, but allows weights values to update (and presumably optimize)

Proposal

Summary

The goal of the project is to create fully on-chain procedurally generated art works. Initially, an entropy contract will be released allowing users to create a seed that will be used by later deployments as input to a zk-SNARK (which will do richer SVG generation off-chain and allow the user to store the result).

Contracts

1. Entropy Contract

The entropy contract will allow a user to mint an NFT that includes random entropy to be used in later generative contract. To obtain randomness, Chainlink's VRF may be used. Ideally, the NFTs in the entropy contract will have degrees of rarity obtained through:

  • higher mint costs (ie. user pays from 3 layers of random entropy)
  • NFTs may be merged together (ie. user mints 3 base NFTs of tier 1, and merges the 3 into 1 tier 3 NFT)

Considerations

The entropy contract may also have a standard interface, such that the generative contract can consume multiple versions of the entropy contract. For instance, there may be a gradient entropy contract that, when consumed by the generative contract, produces a gradient background on the resulting NFT. There may be a geometric entropy contract that produces various shapes in the consumed contract. At its core, the entropy contract is an atomic token to be used to create further tokens in the generative contract.

Open Questions

  • Are NFTs consumed by generative contract?
  • Rarity system
    • Are tokens combineable? Extra mint cost for greater rarity?
  • Supply
    • How is supply scarce? Personally dislike max supply. Possibly a gradually increasing price per mint

2. Generative Contract

The generative contract will be a separate contract that extends the entropy contract. It will allow an entropy NFT holder to use a web app that reads their NFT's public data from the entropy contract which will be used as input to a convolutional neural network implemented in a Circom circuit (aka, a zk-SNARK). The resulting proof can then be sent to the generative contract to authorize the mint.

The output of the zk-SNARK will likely be some piece of data that is consumed by the contract to recreate the SVG: the circuit will not output an SVG - but a means of creating an SVG.

This process may consume the entropy NFT or not. That is TBD.

Tangential Ideas

  1. Implement ERC-721K
  2. Incorporate ENS domains into generation
    2.2. Or other on-chain NFTs such as UniSwap V3's SVG NFTs

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.