Description

This project utilizes the ERC-1155 standard in order to create an interactive word game where people stake territory in both digital and physical space. Users collect letters as fungible tokens, which they can then sell back to create Word NFTs. Word NFTs can be combined to create Motto NFTs. Motto NFTs can then be placed in physical space for people to discover as hidden messages. This interaction between the metaverse and physical space is what creates the Mottoverse.

Mottoverse showcase

How it's made

The frontend is a Typescript Next.js app that connects to the user's browser based wallet. The main purpose of the UI is to help the user generate Word/Motto NFTs and to visualize those that have been placed in physical space on the map. The Mottoverse contract follows the ERC-1155 standards and is written in Solidity. Each letter of the alphabet is a fungible token. Letters can be exchanged for Word NFTs. Word NFTs can be combined to create Motto NFTs. The owner of a Word NFT is paid in a fungible token called GOLD whenever their word is used. Words and Mottos cannot be duplicated, which is checked by storing the hash of their respective array of letters or words. Mottos can be placed in physical space as designated by a mapping of Locales(Lat/Lng). These Locales are read by the frontend and rendered onto the map for anyone to see. Upon the creation of a Word/Motto NFT, assets are dynamically created and saved in an S3 bucket. The assets are the metadata of the NFT and an image of rendered text. These functions are delegated by the Next.js API and serverless Google Cloud functions.