Badges - ava-vs/reputation GitHub Wiki
Reputation Badge
The reputation badge is a visualisation of the user's dynamic reputation non-tradable (soulbound) non-fungible token (dNFT or dSBT).
The user's reputation badge could be used for various purposes, such as event tickets and badges, educational certificates and diplomas, copyright verification of books, articles and other works, etc.
aVa Reputation Protocol
Schema and Use-cases
Digital certificate with Reputation:
JSON Schema for Event Request
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"eventType": {
"type": "string",
"enum": [
"CreateEvent",
"BurnEvent",
"CollectionCreatedEvent",
"CollectionUpdatedEvent",
"CollectionDeletedEvent",
"AddToCollectionEvent",
"RemoveFromCollectionEvent",
"InstantReputationUpdateEvent",
"AwaitingReputationUpdateEvent",
"NewRegistrationEvent",
"FeedbackSubmissionEvent",
"Unknown"
]
},
"topics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string",
"contentEncoding": "base64"
}
},
"required": [
"name",
"value"
]
}
},
"tokenId": {
"type": [
"integer",
"null"
]
},
"owner": {
"type": [
"string",
"null"
]
},
"metadata": {
"type": [
"array",
"null"
],
"items": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string",
"contentEncoding": "base64"
}
],
"minItems": 2,
"maxItems": 2
}
},
"creationDate": {
"type": [
"integer",
"null"
]
}
},
"required": [
"eventType",
"topics"
]
}
JSON Schema for Reputation Request
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"publisher": {
"type": "string",
"description": "Internet Computer publisher ID (principal)"
},
"docId": {
"type": "integer",
"description": "Doctoken ID"
},
"value": {
"type": "integer",
"description": "Reputation change. From 0 to 10",
"minimum": 0,
"maximum": 255
},
"comment": {
"type": "string",
"description": "Comment on the reason for the reputation change"
}
},
"required": [
"user",
"docId",
"value",
"comment"
]
}