Make sure to stay up to date with news about our upcoming NFT collection!
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
- 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.jsonfile 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.samplefile and rename it to.envafterwards - Run command
make runto start collection generation
- 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
Many thanks to the authors of these libraries!
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