Curation Protocol Quickstart
https://www.loom.com/share/5219e8f230d743f4bb46c2238c1079c7
Important Links
- Public Assembly GitHub
- Public Assembly NPM
- Neosound site + repo
- Public Assembly site + repo
- How to deploy your own version of Neosound thread
Curation Protocol
- Protocol repo
- Protocol NPM Package (OUT OF DATE DO NOT USE)
- Grab ABI (for
Curator.sol
+CuratorFactory.sol
from here instead)
- Grab ABI (for
- Custom hooks + components repo
- Custom hooks NPM package
CuratorFactory
addressesSVGMetadataRenderer
addresses- Example of live curation contracts
- Curator.sol powering neosound.xyz
- Curator.sol powering public—assembly.com
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 rootyarn dev
from root
- Public Assembly home page
Fork repo
git clone https://github.com/public-assembly/public-assembly-home-page.git
yarn install
from rootyarn dev
from root
How to use ZORA API to get Curation Information from a Contract
Example query screenshot
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
- The hook return you want for this is