Skip to content

Tools for creating, submitting, and managing off-chain metadata such as multi-asset token metadata

License

Notifications You must be signed in to change notification settings

input-output-hk/offchain-metadata-tools

Repository files navigation

Off-chain metadata tools

Overview

In the Cardano multi-asset era, this project helps you create and submit metadata describing your assets, storing them off-the-chain.

It provides a reference implementation for this draft CIP.

Disambiguation

This metadata is used to describe "assets" (see here). Assets, most-often known as tokens, are represented on-the-chain by their asset ID, which look something like this: "7c8d07d69639e9413dd637a1a815a7323c69c86abbafb66dbfdb1bb6". Asset IDs are not very user-friendly, so this metadata provides a mapping between the on-chain asset ID and more user-friendly information off-chain.

This metadata is not to be confused with on-chain transaction metadata. Transaction metadata is included with each transaction and stored "on-the-chain". Transaction metadata is used for a variety of purposes, hence the confusion.

Components

This project consists of a number of components:

  • token-metadata-creator
    • Asset/Token metadata creation and validation
  • metadata-server
    • Server for retrieving metadata from the storage layer
  • metadata-store-postgres
    • Postgres metadata storage layer
  • metadata-webhook
    • GitHub webhook that writes metadata to the storage layer
  • metadata-validator-github
    • Simple validator used to ensure that GitHub PRs are in a format appropriate for the webhook
  • metadata-lib
    • shared library for common metadata needs

Pre-built binaries:

See our releases for stable binaries.

For the bleeding-edge the following are available (use these with caution):

Building

See the docs.

Documentation

Link Contents
API Documentation Specification of the metadata-server API
Manual Everything else