Skip to content

Oxxyg33n/desert-island-go

Repository files navigation

Desert Island NFT Generator tool

Desert Island NFT Collection

Make sure to stay up to date with news about our upcoming NFT collection!

About

This repository provides various utilities to help you build your NFT collection 🚀 :

Generate images from source layers in specified order
Generate ERC-721 traits
Upload images & metadata to IPFS

Steps to run

  • Add your layer images to input/ directory
    • Example file structure:
      input/Background/
                  Common/0.png
                  Common/1.png
                  Rare/1.png
                  Epic/2.png
      input/Torso/
                  Common/0.png
                  Rare/1.png
                  Epic/2.png
    
  • Add collection_configuration.json file to the root of the project
    • JSON configuration must be in the following format:
        {
          "rareness": [
            {
              "name": "Common",
              "chance": 85
            },
            {
              "name": "Rare",
              "chance" :10
            },
            {
              "name": "Epic",
              "chance": 5
            }
          ],
          "layers": {
            "skip_multiple": false,
            "groups": [
              {
                "name":"Background",
                "priority": 0,
                "can_skip": false
              },
              {
                "name":"Base Torso",
                "priority": 1,
                "can_skip": true,
                "skip_chance": 20.5
              }
            ]
          }
        }
    • Make sure that priority is set in correct order, it will be used to put layers in correct order
  • Make sure to setup environment variables using .env.sample file and rename it to .env afterwards
  • Run command make run to start collection generation

TODO

  • Add image generation
  • Add DNA generation algorithm (to not generate duplicates)
    • Improve DNA algorithm to be more smart
  • Add additional configuration to be able to skip adding some layers to the end image
  • Add ERC-721 metadata generation
  • Add IPFS support
  • Refactor traits chance generation algorithm
  • Add CLI command to generate collection_configuration.json
  • Add comments to the code
  • Concurrency support for faster generation

Third-party libraries used

Many thanks to the authors of these libraries!

Special thanks

Big thanks to the guy who wrote the post on habr.ru and his github! This library is based on the original authors' code, but was 99% re-written in my own manner

About

NFT Generator written in Golang with functionality to generate metadata and upload it to IPFS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors