Inspiration

Our idea sparked from a profound question: "What if a person could truly own a part of history?". With TrendWave NFT, we aim to capture the essence of today's trending topics and news and immortalize them on the NEAR blockchain. We want to empower individuals to not only engage with the viral content they love but also own a tangible piece of that cultural moment within their NEAR wallet.

What it does

Our approach involves leveraging the cutting-edge capabilities of AI-generated imagery to craft unique, captivating visuals that encapsulate the spirit of each day's prevailing trend or meme. By minting these images as non-fungible tokens (NFTs) on the blockchain, we create an avenue for others to purchase, collect, and trade these digital artifacts, thus giving rise to a marketplace that thrives on the intersection of blockchain, art, and cultural phenomena.

TrendWave NFT serves as a bridge between the ephemeral nature of viral content and the immutability of the blockchain. It offers a novel way for individuals to participate in and contribute to the ever-evolving meme culture, while also providing a secure and decentralized platform for trading and ownership verification.

How we built it

Our architecture consisted of ...

Python API: We wrote a FastAPI Python API that interacted with the React front-end by fetching trending searches from Google Trends. We also created an endpoint to generate images based on our prompts that we iterated on to improve. Some key features:

  • spaCy "en_core_web_sm" natural language processing model was used to detect characters/people in the Google Trends results (eg. we only wanted to mint humans, animals, characters from fiction)
  • we used the runwayml/stable-diffusion-v1-5 Stable Diffusion model from Hugging Face
  • we used ptrends to crawl Google Trends as they don't have a natively supported API. We also implemented proxies in the case that we were rate limited from Google's website

NEP-171 and NEP-177 standard smart contract: We wrote a smart contract in rust that follows the NEP-171 and NEP-177 standards. This allowed us to mint and view NFTs on the NEAR blockchain. We then deployed the smart contract on the test net and successfully connected it to our frontend.

Front-end (User): We created a frontend using parcel where users can login and view NFTs that are still owned by our admin account. They can sort through the number of AI generated NFTs that are available. This is the bare bones to a marketplace with we hope to build in the future.

Front-end (Admin): The admin can use the python scripts to generate images. These images can then be minted to our admin accounts so that users can view them.

Challenges we ran into

This was our first time building and deploying an NEP-171 and NEP -177 standard smart contract. We had to learn about the NEAR ecosystem and how smarts contracts work on the NEAR blockchain. We overcame this challenge by reading the NEAR documentations.

Another challenge we ran into while creating the smart contract was using rust. This was our first time using the language so we had to quickly understand the syntax. We had some issues setting up some packages such as nft.storage but got past that. There was also a learning curve to figure out the IPFS file formatting as well as the minting process of NFTs, and deploying contracts to TestNet.

Accomplishments that we're proud of // What We Learned

Coming into this hackathon with next to no experience in Web3, it was very enriching to get exposure to various aspects of the field including NFTs and Near's ecosystem. We also learned Rust and worked with Stable Diffusion for the first time :)

What's next for TrendWave NFTs - Generative AI NFT Collections

As this is an early POC, there is plenty of aspects to fine tune on the front-end as well as the market-place aspect. We could work on facilitating transactions on our website as well as setting up cron jobs on a server to periodically create new collections automatically (eg. every week).

Built With

Share this project:

Updates