The future of NFTs lies in composability. We came up with the idea of creating a system where NFTs would be made out of building blocks that could be combined to create other NFTs. We call these building blocks briqs. Briqs are the literal building blocks of NFT composability.

What it does

Players collect briqs, build constructions with them, disasemble the constructions to get the briqs back and build something new. All briqs and constructions are stored on-chain. Players access the game through a dedicated WebApp displaying a 3D builder for them to build with their briqs. They can build constructions with the available briqs, bundle them into a set and mint it as an NFT.

How we built it

Briqs and briq sets are stored on-chain on StarkNet. A Flask server proxies the calls from the WebApp to the StarkNet testnet. The WebApp uses Vue.js and Vite. The briq builder is based on Three.js. The Flask server and WebApp and run on Google Cloud.

Challenges we ran into

Cairo is a whole different beast from Solidity, it comes with its own quirks and we had to get familiar with them. There is no way to easily link Web3 and StarkNet so we had to build a proxy server to handle the interaction between the chain and the browser.

Accomplishments that we're proud of

We have a full end-to-end construction workflow where the briqs are queried from StarkNet, a construction is made on the user's browser and exported back to StarkNet as an NFT.

What we learned

We got familiar with Cairo, StarkNet and Three.js

What's next for briq

1) Push it to production 2) Seize the briqs of construction

Built With

Share this project: