Skip to content

Dynamic and Composable Snowman NFT to mint a unique snowman and decorate with other NFTs(Hat🎩, Scarf🧣, and more)

License

Notifications You must be signed in to change notification settings

ValentineCodes/snowman

Repository files navigation

ERC4883 Composable Snowman☃️

Snowman

Snowman is a composable NFT based on the ERC4883 standard which enables you to mint a snowman with dynamic attributes(sky color, wind direction which affects the snowfall direction, eye focus, e.t.c) and compose with other accessories(Hat🎩, Scarf🧣, e.t.c).

Video Demo

How it works

A user can mint a Snowman for 0.02 ETH. Then mint other accessories(NFTs). If the accessory has been allowed by the Snowman contract owner to be used for composition, the accessory can be transferred using safeTransferFrom to the Snowman NFT contract which triggers the onERC721Received function which then adds the accessory to the accessory owner's Snowman specified in the bytes param of the safeTransferFrom function. The tokenURI and the renderTokenById functions will then return the Snowman with it's accessories. Accessories can be removed by users at any time using the removeAccessory or removeAllAccessories functions.

✍️Note: Users are allowed to create an accessory which will be added to the snowman if suitable... A Christmas Tree🎄 would be nice, wouldn't it?🙂

Local Development

Install dependencies:

yarn

Run unit tests:

yarn test

Deploy contracts:

yarn deploy:sepolia

Run frontend:

yarn start

Acknowledgements

About

Dynamic and Composable Snowman NFT to mint a unique snowman and decorate with other NFTs(Hat🎩, Scarf🧣, and more)

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published