Skip to main content

Curation Protocol Quickstart

https://www.loom.com/share/5219e8f230d743f4bb46c2238c1079c7

Curation Protocol

How to Start Experimenting:

Deploy curation contracts

Interact with deployed curation contracts

  • Fork repo
    git clone https://github.com/public-assembly/curation-interactions.git
  • Install dependancies
    • yarn install from root folder
  • Spin up local test components
    • yarn example:next from root folder

Experiment with UIs that incorporate curation contracts (like pulling in site content dynamically from curation contracts)

  • Neosound
    • Fork repo

      git clone https://github.com/public-assembly/neosound.git
    • yarn install from root

    • yarn dev from root

  • Public Assembly home page
    • Fork repo

      git clone https://github.com/public-assembly/public-assembly-home-page.git
    • yarn install from root

    • yarn dev from root

How to use ZORA API to get Curation Information from a Contract

API Explorer

Example query screenshot

image

Example query code

query ListCollections {
tokens(
networks: {network: ETHEREUM, chain: GOERLI}
where: {collectionAddresses: "0xEd824d01B337Fb423554185464dbF7D85034446B"}
) {
nodes {
token {
collectionAddress
collectionName
owner
}
}
}
}

With this query you can then pass specific listingRecord tokenID into the getListing method call on the curator contract to retrieve information about a Listing

This is how you can generate a curator profile that can be managed by the curator (Try to use this information provide frontend interface for removing listings)

  • The useValidation hook in the curation-interactions package returns all of the listingRecord tokens owned by a given address (ex: whoever is logged in) for a given curation contract
    • The hook return you want for this is userActiveListings