Contracts to easily add composable and dynamic NFTs to any application
There are 2 main contracts: An ERC721 (container) token extending ERC1155Holder and an ERC1155 token (items). For the context of this hackathon, the items are game objects, and the container can be a membership token. It could be used to represent the state / strength / reputation of the player in the game. The better the player gets, the more visually appealing the NFT gets. It can react on the level of the player, the kind of items collected and tasks accomplished in the game. As the container is a regular NFT, it is visible in NFT marketplaces. So the status of the player in the game is owned by the player, not hidden inside the game as it is with games usually and can showed off to friends easily. Other use cases this could be applied to is concert tickets, living art, any kind of collection, dynamic avatar, travel map with locations visited.
How it's made
From the technology side, this is pretty much just solidity code. As we're not aiming to deliver an end user facing product, we concentrated mainly on building the functionality that the NFTs can be used as flexibly as possible. It's just that the contracts are built on top of OpenZeppelin contracts. To easily test the functionality during development, we created a simple front end with Svelte.