Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

circles 1k nft collection [project overview] #2

Open
jaensen opened this issue Apr 10, 2024 · 2 comments
Open

circles 1k nft collection [project overview] #2

jaensen opened this issue Apr 10, 2024 · 2 comments
Assignees

Comments

@jaensen
Copy link

jaensen commented Apr 10, 2024

Introduction:

Circles 1k NFT tree collection - a unique project that combines art, community participation, and circles. The collection consists of 1000 generated NFTs that form individual blocks of a larger construct, such as a tree. As donors send CRC to the treasury address, sequentially minted NFTs with unique artwork are assigned to each donor, filling in the corresponding spaces on the tree. The end result is an interactive experience that showcases the power of collective effort 🙂

NFT Collection Details

  • The collection comprises 1000 unique NFTs, each representing a block of the larger construct (e.g., a tree).
  • Each NFT is numbered sequentially from 1 to 1000 and minted in order as donations are received.
  • The artwork for every NFT will be uniquely generated and embedded in SVG format, ensuring that each NFT is one-of-a-kind.
  • The NFTs will include the new Circles logo, the users note (on-chain?), and potentially a diagram of the entire tree (or some other structure?).
  • No individual rarity, but there’s a total collection cap of 1000 NFTs, with numbers 1 and 1000 maybe being particularly desirable.
  • include text as metadata and display with SVG:
    • “A token of appreciation”
    • “Dappcon 24” (if decide to do one collection per event)

Minting Process

  • Donors send a specified amount of CRC to the designated treasury address eg 100 CRC
  • Upon receiving the CRC, the next NFT in the sequence is minted and assigned to the donor.
  • The minted NFT fills in the corresponding space on the tree visualisation.
  • The minting process continues until all 1000 NFTs are minted, and the shape is completely filled.

Smart Contract Implementation

  • The collection could be implemented using an ERC721 smart contract, as each NFT is unique and not interchangeable.
  • The smart contract will handle the sequential minting process and metadata.
  • The unique artwork for each NFT will be generated and embedded in the SVG format within the smart contract.

Visualisation

  • The tree visualisation will be displayed on a large monitor at Dappcon.
  • Whenever a donor sends CRC and an NFT is minted, the minting process will be visually represented on the screen.
  • The visualisation will show pending transactions and update in real-time as spaces on the tree are filled.

Important points:

  • set limit to max 3 NFTs per circles account
  • we may want to display this vertically to allow space for the tree "growth"... (the UI should ideally be responsive)
  • each NFT will cost 100 CRC
  • could be touch responsive so people can interact with the big displays (TBC with events team)

an example front end:
Image

Animated SVG example for ref:
[NiftyFair - Collection - SVG NFT]:
https://niftyfair.io/gnosis/collection/0x05a8ce439401a0765c9a5303dcd7de05d97f6a79/

Re trust connections for receiving CRC and limitations:
https://forum.aboutcircles.com/t/upcoming-token-sale-for-circles/381/5

Sequence diagram:

title Circles 1k NFT Tree Collection Minting Process

participant Donor Wallet
participant QR Code
participant Server
participant Chain
participant Visualization

opt Onboard
    Donor Wallet->QR Code: Scans
    note left of Donor Wallet: A link for circles.garden \nand/or Metri
    QR Code->Donor Wallet: Open payment link
end 
opt Donation
    Server-->>Chain: Listen for Donations
    Donor Wallet->Chain: Send donation to Treasury
end
opt NFT
    Chain-->>Server: Notify Server of Donation
    Server->Chain: Request NFT Minting for Donor
    Chain->Donor Wallet: Mint NFT to Donor Wallet
end
opt Visualization
    Visualization-->>Chain: Listen for minted NFTs
    Chain-->>Visualization: Notify Visualization of minted NFT
    Visualization->Visualization: Display Updated Tree
end

Image

@jaensen
Copy link
Author

jaensen commented Apr 10, 2024

A few questions on the topic:

  • Will a NFT have a fixed "price" or do we mint one for every donation, no matter how much CRC have been sent?
  • How do we deliver the NFT (people won't be able to view it in circles.garden or the wallet so we need another way)?

Some ideas from a previous call:

  1. Write a telegram bot that receives messages with the user's safe address
  2. Send the user a payment link via telegram e.g. https://circles.garden/send/0x009626dAdEd5E90aECee30AD3EBf2b3E510FE256?a=1&n=Hello
  3. Wait for the transfer to arrive
  4. Check the incoming transfer and mint the nft to the user's safe
  5. Send a link to the NFT in a block explorer or gallery

@jaensen
Copy link
Author

jaensen commented Apr 10, 2024

Another idea was to "liberate" the user from the need to use circles.garden in the first place. For this, we would create a page on a circles.garden subdomain (E.g. exit.circles.garden) that allows the user to connect a browser wallet (or via wallet connect) as a safe owner.

Since its on a subdomain we should be able to access the privateKey in localstorage and use it to sign a addOwner message. This message is then sent to the circles relayer for execution. Once done, the user can use any wallet to interact with the Circles account.

Once 'liberated', we can direct the user to specialized pages that allow to send Circles and mint the NFT.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants