Extended from this example but with PhanFT lizard traits.
traits_raw
- this is a directory holding all the layers to build the images, organised by a subdirectoryimages_processed
- this is the output directory of the compiled images and metadatasrc-node
- this directory holds truffle config for CLI deploy and contract verificationsrc-php
- this directory holds the script to compile the images and metadata.env.example
- this file should be copied to.env
with secret data for your truffle scriptscomposer.json
- this is configuration for the php scripts (src-php/
)package.json
- this is configuration for the node scripts (src-node/
)
Note: To begin, you should run composer install
and npm install
- Compile the images with
composer run start
(composer run test
for setup tests) - Compile the contracts with
truffle migrate --network rinkeby
(make sure you run this when pwd issrc-node
)- Verify the contract with Etherscan with
truffle run verify SampleNftContract --network rinkeby
(make sure you run this when pwdsrc-node
)
- Verify the contract with Etherscan with
-
Make sure you name your image files as
<trait_name>_<trait_shape>_<trait_color>.png
-
Generate your layers, with
00bg
being the main "background" of the image01base
being a transparent background image containing different lizard skins02eyes
being a transparent background image containing different eyes skins03mouth
being a transparent background image containing different mouth skins04clothes
being a transparent background image containing different clothes skins05head
being a transparent background image containing different headpiece skins06hand
being a transparent background image containing different handpiece skins07neck
being a transparent background image containing different neckpiece skins
-
Read through the code in
src-php/index.php
and make adjustments as you see fit- You may want to add in some forced rarity in here
-
Run
composer run test
to run the tests, and if passed, runcomposer run start
to compile the images and metadata -
Upload the directory
images_processed/*
to a webserver - people favour IPFS for this