Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 1.48 KB

metadata.md

File metadata and controls

64 lines (44 loc) · 1.48 KB

Metadata

The Tuli Protocol requires media that is minted on its smart contracts contain a URI pointing to its metadata.

The Tuli Protocol maintains zero opinion about the structure of that metadata. It is explicitly not enforceable at the blockchain level.

Generate

Given a schema version and some nonformatted json it generates a valid, minified, alphabetized json

import { generateMetadata } from '@tulilabs/tdk'

const metadata = {
  version: 'tuli-20210101',
  name: randomName,
  description: randomDescription,
  mimeType: mimeType,
}

const minified = generateMetadata(metadata.version, metadata)

Validate

import { validateMetadata } from '@tulilabs/tdk'

const metadata = {
  version: 'tuli-20210101',
  name: randomName,
  description: randomDescription,
  mimeType: mimeType,
}

const minified = validateMetadata(metadata.version, metadata)

Parse

import { parseMetadata } from '@tulilabs/tdk'

const metadata = `
  {
    version: 'tuli-20210101',
    name: randomName,
    description: randomDescription,
    mimeType: mimeType,
  }
`
const parsed = parseMetadata('tuli-20210101', metadata)

Define a New Schema

To define a new schema, visit the github repository and follow the instructions in the README.md

Further Reading