What it does
The Upgrader enables you to choose the exact attributes you want on your NoGoalFaces NFT, so it can truly be personal and represent you!
- To try from demo site:
- Simply go to https://faces.nogoal.click/upgrade and enter your wallet address
- If you don't own an NGF, you can put: 66Ki5jbjuD4g4ntNA6q9Ezv3LRFeAnM8DD7UNknkZQsU (you'll be able to simulate, but not to apply changes)
How we built it
The frontend is made in React with Solana's web3 library, and is compatible with Phantom wallet. Transactions contains a small SOL fee, the price of purchased attributes in INO, the NFT mint address, and the selected attributes data. An off-chain process listen to these transactions and perform the changes if everything is correct. We'll try to move this fully on-chain in the coming weeks. An image generation API (in Python/Flask) is used by both the frontend, to preview the changes, and the off-chain process, to generate the upgraded image.
Challenges we ran into
There was not so much code snippets, and answers to the issues we faced when it came to actually performing the metaplex update. But by going there little by little, we managed to do everything we wanted.
Accomplishments that we're proud of
We are happy to have succeeded in enabling updates while keeping the metadata on Arweave and not on a centralized server, even if it was more work!
What we learned
An awful lot about about Arweave, Solana's web3, the Metaplex program, interacting with Solana programs, and more!
What's next for NoGoalFaces
- New (upgrade only) attributes?
- Other upgrade/evolution types?
- Merge (combine 2 faces and keep the rarest attribute for each type)
- Age (add wrinkles to your face, once per epoch max)
Tell us on Discord! https://discord.gg/mHS3qbBaZk

Log in or sign up for Devpost to join the conversation.