<aside> 🧱 Last updated: June 7, 2023 You can see all the code here: https://github.com/briqNFT/briq-protocol and the documentation: https://github.com/briqNFT/briq-protocol/tree/main/docs
</aside>
https://www.youtube.com/watch?v=CT9h_9J2Zys&feature=youtu.be
The briq protocol is a token-backed, customisable NFT system.
It has three core components:
briqs
, or briq tokens
, are the fundamental unit. They are the underlying token of the ecosystem, and can be either fungible or non-fungible. They have one on-chain characteristic: their material (an arbitrary identifier).sets
are the NFTs of the briq ecosystem. They are made of briqs
, and can be minted, transferred, burned at-will by their owner. Sets are defined by a 3D matrix of briqs, and contain data such as briq position, briq colors, etc. The full shape is not stored on-chain, but a hash is.Attribute Registry
is a contract handling additional metadata for sets, such as 'This set is an official Genesis Collection set'. This ensures that, even if you rebuild an official set briq by briq, if you don’t have the booklet to identify it at minting, it won’t be recognized as a official set.Additional components include:
Booklets
, which are an 1155 NFT that can be 'wrapped' inside a set
to mark it an official Genesis Collection set. This process is handled by the attributes registry and is transparent on the frontend.box
contract, which are 1155 NFTs sold by briq for the Genesis sale. Boxes are regular NFTs that can be unboxed, i.e. burned in exchanged for a booklet NFT and briq tokens.Auction
contract handles the Genesis auction sale.Shape
contracts deal with 3D shapes and are used by booklets to verify that the user is constructing the correct shapes.Contracts are upgradable for the foreseeable future. See contracts/upgrades/proxy.cairo
for the core proxy contract:
briq tokens
. briqs
have a material. The interface is material-based instead of token_id based as that is a more natural usage.sets
. Essentially a regular ERC721, but handles assembly/disassembly. When assembling, it becomes the owner of the underlying briq tokens, and vice-versa. This vastly reduces the gas costs when transferring sets.