Cotropolis
Innovating on what a generative/cooperative NFT is. Everybody owns a part of the NFT / everybody contributes to it (with some lightweight leaderboard competition for biggest sector).
Screenshots



Problem Statement
This is:ERC721 compatible (uses reference OZ implementation)users get an block of the city when they place itplacing blocks generates more of the cityall city placement rules and data are in the smart contractthe city is on giant piece of art composed of all users blocksblock placement effects properties of the cityusers are restricted in what they place (based on account)Later (not implemented yet):sectors can be claimed & named (with OS integration to trade as a sector)as city moves through stages (hamlet, village, ... metropolis etc) the renderer will adopt new features and render them in previously existing locations (evolving city art as with growth stage)
Solution
Tech outline:solidity contract, tested against hardhat locally and rinkeby, but considering later L2 deploymentall city data is in contract, client is just a vizualizerhardhat for contract pipeline and deploymentclient uses ethers.js and pulls via local web3 providerclient interface is all pure HTML/JS/CSSclient city render is on canvas via the roughjs libraryLater will add:pull of OpenSea listings for blocks or sectors (to show directly on map)server-side serving of city data (for browsers without local web3 wallet)server-side pre-render of city blocks (client-side render of a large city will be slow)
Hackathon
NFTHack 2022
2022