Attestations
Attestations using the Ethereum Attestation Service (EAS) are used to verify the authenticity of hypercerts. We are building on top of EAS because of it's flexibility. By defining a schema in the registry contract on a supported chain, users can create standardized attestation formats to evaluate hypercerts according to -best- practices in a respective domain.
Hypercerts compatible schemas
To design an schema that is compatible with hypercerts we require that the schema contains the required fields for determining the hypercert ID
. This allows us, and any evaluator, to determine which hypercert is being evaluated.
All other information is up to the schema designer. We recommend exploring the EAS documentation and schema registry to get started and maybe even find the schema you need.
Required fields
Field | Type | Description |
---|---|---|
chain_id | uint256 | The chain ID where the minter contract is deployed |
contract_address | address | The contract address of the minter contract on the chain |
token_id | uint256 | The token ID in the minter contract of the hypercert |
Concatenate the chain_id, contract_address and token_id to get the hypercert ID
. We use this to reference hypercerts across chains.
Supported schemas
- Basic Evaluation
Basic evaluation
The basic evaluation schema is used to evaluate the truthfulness of basic hypercert data.
Field | Type | Description |
---|---|---|
chain_id | uint256 | The chain ID where the minter contract is deployed |
contract_address | address | The contract address of the minter contract on the chain |
token_id | uint256 | The token ID in the minter contract of the hypercert |
evaluate_basic | uint8 | Evaluate basic truthfulness of the hypercert |
evaluate_work | uint8 | Evaluate work scopes defined in the hypercert |
evaluate_contributors | uint8 | Evaluate contributors defined in the hypercert |
evaluate_properties | uint8 | Evaluate properties defined in the hypercert |
comments | string | Comments from the evaluator |
tags | string[] | Tags from the evaluator |
The evaluate fields (e.g. evaluate_basic
) represent an enum value. The evaluator can choose between the following values:
Value | Description |
---|---|
0 | Not evaluated |
1 | Valid |
2 | Invalid |
Trusted evaluators
In addition to a curated set of schemas, the Hypercerts Foundation maintains a list of trusted evaluators in the attestor registry
. This is an intermediate step to decentralized governance of trusted evaluators as we grow the ecosystem. Please reach out to us if you think you and/or your organization should be on the list.