Skip to content

ISCC Registration

CIP: 0003
Title: ISCC Registration
Authos: TP
Status: Draft
Created: 2018-01-13
License: BSD-2-Clause

Purpose

An open an public registry for ISCC content identifiers. This documents specifies an open stream named iscc that can be used to register ISCC content codes and optionally associated metadata.

Schema

The ISCC-stream is named iscc and is readable and writable by every blockchain participant. The stream uses multiple keys for each stream-item where each key represents one of the 4 ISCC components: Meta-ID, Content-ID, Data-ID, Instance-ID.

The stream-item value must be a JSON object that supports a set of defined top-level fields which are specified below. Applications may add custom fields at the top level but must prefix those fields with an underscore to avoid collisions with future extensions of the ISCC Metadata specification.

Top-Level Fields

version (optional)

Version of ISCC registry schema. Assumed to be 1.0 if omitted.

title (required)

Title of an intangible creation.

The UTF-8 encoded value of the title-field must not exceed 128 bytes. For a valid ISCC entry the value of this field together with the optional extra-field must encode to the MetaID that was given as the first key of the stream-item.

extra (optional)

A short statement that distinguishes this intangible creation from another one.

The UTF-8 encoded value of the extra-field must not exceed 128 bytes.

tophash (optional)

The full 64 character hex-encoded tophash (merkle root) retuned by the instance_id function.

meta (optional)

A list of one or more metadata entries. Must include at least one entry if specified.

A metadata entry allows for a flexible and extendable way to supply additional industry specific metadata about the identified content. It is a JSON object with the fields schema, mediatype, data, url. The schema-field may indicate a well known metadata schema (such as Dublin Core, IPTC, ID3v2, ONIX) that is used. The mediatype-field specifies an IANA Media Type. The data-field is only required if theurl field is omitted. It holds the metadata conforming to the indicated schema and mediatype. The url-field is only required if the data-field is omitted. The url is an external link that is expected to host the metadata with the indicated schema and mediatype.

Examples

Minimal ISCC registry entry value:

{
  "title": "The Neverending Story"
}

With extra field:

{
  "title": "The Neverending Story",
  "extra": "1984 fantasy film based on novel"
}

With ISCC data integrity hash:

{
  "title": "The Neverending Story",
  "tophash": "40aeb0ef856a8dbfa4e9897de98b1a1eef7e24f8744e65cd33118b40d9741147"
}
With linked Metadata:

{
  "title": "Ubu: A face-to-face connector app for Hubud members",
  "meta": 
  [
    {
      "schema": "xmp",
      "mediatype": "application/rdf+xml",
      "url": "http://camwebb.info/blog/2014-11-19/ubu.xmp"
    }
  ]
}

With custom inline Metadata:

{
  "title": "The Neverending Story",
  "meta": 
  [{
    "schema": "schema.org",
    "mediatype": "application/ld+json",
    "data": 
      {
        "@context": "http://schema.org",
        "@type": "Movie",
        "name": "The Neverending Story",
        "dateCreated": "6 April, 1984",
        "director": "Wolfgang Petersen",
        "actors": ["Noah Hathaway", "Barret Oliver", "Tami Stronach"],
        "duration": "1:42:00"
      }
  }]
}

With application specific custom field:

{
  "title": "The Neverending Story",
  "_productionCompany": "Bavaria Studios"
}