SZNouns is a protocol for proliferating SZNouns in a seasonal minting cadence, based off of the original Nouns Project.
Noun protocol is a suite of smart contracts that generates and auctions a Noun every day. The protocol serves as an open standard for generative art - Nouns. Because all of the art was released under the public domain, developers can build without restriction on the protocol at the smart contract or application layer.
This documentation describes the mechanisms that power the Nouns protocol and what each component entails. If you have any questions, please reach out via Discord
The Noun protocol forked for SZNouns consists of three primary components: Nouns, auctions and the DAO. The suite of smart contracts gives you full access to the auctions and generative art that powers the protocol.
Generate a random SZNoun on-chain
SZNouns Smart contract architecture
<aside> ➡️ To view the source code, visit the Github repository. You can also review the architecture here.
</aside>
Every auction begins where the last one ends. On settlement of an auction, a new SZNoun is minted and the next auction is created, all in the same transaction. *Diagram from Nouns’ Wiki
To settle an auction, the NounsAuctionHouse
contract is called. The function settleCurrentAndCreateNewAuction()
both settles and creates a new auction:
function settleCurrentAndCreateNewAuction() external override nonReentrant whenNotPaused {
_settleAuction();
_createAuction();
}