aboutcircles / nft-tree

2 stars 0 forks source link

circles 1k nft collection [project overview] #2

Open jaensen opened 6 months ago

jaensen commented 6 months ago

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

Minting Process

Smart Contract Implementation

Visualisation

Important points:


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 commented 6 months ago

A few questions on the topic:

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 commented 6 months ago

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.