-
Notifications
You must be signed in to change notification settings - Fork 28
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
Decide on hypercert claim schema #98
Comments
Just to clarify (are these statements correct?):
Technical questions, esp. @ryscheng
Non-technical questions, esp. @ccerv1
|
Yes, we currently use the value
That's easy to add, but can you clarify, this is for the minter to specify if this is a positive or negative contribution or impact? Shouldn't we leave that to the evaluation?
It's an array right now, so they're ordered.
Contributors are an array of strings. The |
Clarified with Holke. by positive and negative, I think what he means is include vs exclude. |
I've created a draft metadata spec. You can view/comment on it here. I'm also copying the most relevant parts below for easy access: ERC-1155 properties
In order to perform hypercert-specific operations, including split and merge functions, and for your hypercert to robustly claim a set of coordinates in the impact space, there are six additional Hypercert-specific properties
Here is an example of a complete set of properties included in a hypercert's metadata:
See also:
|
@bitbeckers @ryscheng we are not using the global list of scope tags anymore (as previously implemented), right? |
Nope, there is nothing really defined at the moment |
Does the - prefix do the job to negate scopes? Or would it be easier to have an array with an attribute that is a boolean (splitting the scope tag from the positive or negative boolean)? Also thinking about data analytics later on |
Depends on the input. If it's manual, and somebody fat-fingers a space, suddenly 'public-display' becomes 'public' and '-display'. Or parsing mishaps? Defining two seperate structures might be safer. Would the input options be limited as well? As in, will it be drop-down/autofill or is it a textual greenfield? Because that kinda underlines or solves the point on typos. |
Yes the current UI will be drop-down/autofill. Open question as to whether we want a drop-down for
So turning |
That will depend on the frontends. Since other can create different frontends in the future, we might see both at some point. The frontend could still work with prefix -, even if we store it differently. But the UI should prevent accidental negations. I like the data structure better that makes it more explicit, but ultimately that should be a technical decision. @ccerv1 is there an advantage of "object with an includes array and an excludes array" over array<{positive_or_negative: boolean, scope_tag: string}>? |
@holkeb I think |
One factor to keep in mind, is that we want to make sure it looks right on OpenSea. So 3 followup questions:
Worth experimenting a bit to see before we finalize CC @bitbeckers |
@ryscheng we can experiment with this. If we go for traits like the Do note the 'Array property' that displays a single value. If that is correct, we should split the positives and negatives in two separate arrays. re: Does it make sense to hide collection and allowlist_uri somewhere else in the metadata so it doesn't show up in the NFT attributes? |
Update: I've worked through the metadata schema and moved I agree with @bitbeckers that it would be helpful more often than not for the Next step: let's play with some different json blob formats (fields in |
Sample JSON with some pseudo-dummy metadata:
|
We'll set up a simple contract on Goerli for testing JSON implementations |
I played around with metadata properties, and the following schema works, though I have some concerns with it. View it on OpenSea here Metadata here And the JSON copied for discussion:
|
Can we add a version number somewhere? |
Here's a new proposed schema, updated per latest discussions with @holkeb and incorporating davidad's feedback. Changes:
|
Thanks! this is helpful, couple questions:
|
on 2.: Yes, we can use an explicit "all" |
@ryscheng my understanding is that OpenSea prioritises @ccerv1 how is the metadata rendered on non-OpenSea platforms like Rarible and Nifty Gateway? The reason I ask is to prevent optimising for OpenSea. |
OpenSea's documentation is very vague on how this works. For instance, this metadata displays correctly (here) but doesn't show any properties.
I haven't tried other platforms. I'm going to keep playing with this today. I also have all the draft hypercerts artwork combos from Sascha to experiment with. Anyway, I'd like this issue to be done and dusted by Monday morning. |
Alright! I think we finally have it! This is what it looks like on OpenSea: https://testnets.opensea.io/assets/goerli/0xffb1fbff7a40ea441aeae8036812af116f593995/57 Updates:
|
@ccerv1 how do we currently deal with time in the date range? Comment from davidad:
|
From our conversation today, I think the most recent iteration is mostly it, the only thing we're missing is a
that should be included with rights, impact_scopes, and work_scopes. |
@ccerv1 Regarding the display value of the conjunctive clauses
Option 2 really would indicate a conjunctive clause. I know that many won't really know what to do with it, but I also believe it isn't distracting. Especially as we include negative terms, this makes more sense than the "&" |
@ryscheng I have created explicit includes/excludes list for those fields. The metadata for such a property would be as follows:
|
Adding an example of a project's metadata here |
Here is the current schema Currently we just have
In the interest of not having this issue turn into a forever issue where we are constantly just evolving the schema, I'm going to close this out. CC @ccerv1 @holkeb If you prefer one of the following options, feel free to open a new issue:
|
This is what we have right now
https://github.com/Network-Goods/hypercerts-sdk/blob/main/types/claimdata.d.ts
This is what's written in the paper
https://docs.google.com/document/d/1456v3OWTnkQXQIo4lmud7b2qOXqsYwQo1EuN-GbsJU8/edit?disco=AAAAmz4v61w
Related to what is optional/required?
#96
We should decide on the schema soon.
The text was updated successfully, but these errors were encountered: