Our project's primary objective is to foster industry-wide data sharing by employing a common schema to define data structures. Simultaneously, each participating organization can maintain their own schema with variations from the common one, streamlining the process of transferring data to the OpenChainMeta database.
{
"$schema": "<http://json-schema.org/draft-07/schema#>",
"title": "ChainMeta",
"description": "An object designed to uniformly describe blockchain metadata from different providers",
"type": "object",
"required": [
"community",
"provider",
"version",
"revision",
"introduction",
"chainmetadata"
],
"properties": {
"community": {
"description": "The community name of this open source project",
"type": "string",
"enum": [
"openchainmeta"
]
},
"provider": {
"description": "Basic information of the data provider",
"type": "object",
"required": [
"provider_name",
"provider_id",
"provider_signature"
],
"properties": {
"provider_name": {
"description": "Provider's name",
"type": "string"
},
"provider_id": {
"description": "Provider's unique id",
"type": "string",
"pattern": "^ocm[0-9]{6}$"
},
"provider_signature": {
"description": "Provider's signature",
"type": "string"
}
}
},
"version": {
"description": "The version of provider's metadata",
"type": "string"
},
"revision": {
"description": "The revision of provider's metadata",
"type": "integer"
},
"introduction": {
"description": "Introduction of provider's metadata",
"type": "string",
"format": "uri"
},
"chainmetadata": {
"description": "Details of provider's metadata",
"type": "object",
"required": [
"schema",
"artifact"
],
"properties": {
"schema": {
"description": "Schema of provider's metadata, explain how data is read",
"type": "string",
"format": "uri"
},
"artifact": {
"description": "Storage details of provider's metadata",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"path",
"fileformat",
"signature"
],
"properties": {
"artifact_type": {
"description": "Type of artifact",
"type": "string",
"enum": [
"s3",
"remote path",
"local file"
]
},
"path": {
"description": "Path of the metadata file",
"type": "string",
"format": "uri"
},
"fileformat": {
"description": "Format of the metadata file",
"type": "string",
"enum": [
"json",
"parquet",
"csv"
]
},
"signature": {
"description": "Signature of the metadata file",
"type": "string"
}
}
}
}
}
}
}
}