Skip to Content
Telchar docs released 🎉
Registry OCI

Open Container Initiative (OCI)

The Open Container Initiative (OCI) is an open-source project launched in 2015 by the Linux Foundation to establish open standards for container formats and runtimes.

Why OCI on Telchar?

We chose OCI on Telchar because we needed an efficient way to store and manage artifacts. OCI is a standard that allows us to do this in a simple, structured, and easily consumable way.

How we use it

We store certain DApp information in a configuration file, including its name, scope, repository, and published date. In the OCI layers, we store the DApp’s version-specific README and the plutus.json file

Example

This is an example of the config and layers stored for Asteria 

config.json

{ "name": "asteria", "scope": "txpipe", "repository_url": "https://github.com/txpipe/asteria", "blueprint_url": "https://github.com/txpipe/asteria/blob/main/onchain/src/plutus.json", "published_date": 1738871210 }

Layers

Layer 1 - plutus.json

On this layer we store the original plutus.json of a DApp. This files follows the Plutus Blueprint  definition.

{ "preamble": { "title": "txpipe/asteria", "description": "Aiken contracts for project 'txpipe/asteria'", "version": "0.0.0", "plutusVersion": "v3", "compiler": { "name": "Aiken", "version": "v1.1.3+3d77b5c" }, "license": "Apache-2.0" }, "validators": [ { "title": "asteria.asteria.spend", "datum": { "title": "datum", "schema": { "$ref": "#/definitions/asteria~1types~1AsteriaDatum" } }, "redeemer": { "title": "redeemer", "schema": { "$ref": "#/definitions/asteria~1types~1AsteriaRedeemer" } }, "parameters": [ { "title": "admin_token", "schema": { "$ref": "#/definitions/asteria~1types~1AssetClass" } }, { "title": "ship_mint_lovelace_fee", "schema": { "$ref": "#/definitions/Int" } }, { "title": "max_asteria_mining", "schema": { "$ref": "#/definitions/Int" } } ], "compiledCode": "5907f101010032323232323232223223225333007323232323253323300d3001300e3754004264646464646464a66602860060022a66602e602c6ea8028540085854ccc050c02000454ccc05cc058dd50050a8010b0a99980a18020008a99980b980b1baa00a150021616301437540122646464a66602a6008602c6ea80184c8c8c8c8c8c8c8c94ccc074c030c078dd5000899191919191919192999812980a00389919299981518168010992999814180c18149baa001132330080011323232533302c3375e6012605c6ea8018dd31991912999817980f0160800899191980080080191299981a80089981b19bb04c1014000374c00697adef6c6013232323253330363372091010000213303a337609801014000374c00e00a2a66606c66e3d22100002132533303730263038375400226607666ec1301014000303c30393754002008200864a66606ea66607400229445280a6103d87a80001301d3303b374c00297ae0323300100100222533303b00113303c337609801014000375006a97adef6c60132323232533303c33720910100002133040337609801014000375007200a2a66607866e3d22100002132533303d302c303e375400226608266ec13010140003042303f3754002008200864a66607a6058002298103d87a80001302333041375000297ae03370000207226608066ec0dd48011ba800133006006003375a607a0066eb8c0ec008c0fc008c0f40044cc0e8cdd81ba9002374c0026600c00c0066eacc0dc00cdd7181a801181c801181b800991900118018009981999bb04c01014000375005897adef6c60300100122533303100114984c94ccc0c8004526132325333031337206eb8c0c8c0d8010dd718190010998028029981a8010008b181b001181a000981a0009bab3009302e37546012605c6ea803c54ccc0b000c54ccc0b000840045280a5014a066e3cdd7180418169baa0030133370e6eb4c044c0b0dd500119b8001348008cdc4240006660126eacc018c0acdd50019bae3010302b37540506eb8c018c0acdd5014181698151baa001163005302937540022c605600266002022466ebcc034c0a0dd5000980698141baa300330283754012264a66604c603401026464a666056605c004264a666052603260546ea80044c8cc0240044c8c94ccc0b0c06cc0b4dd5000899191929998178028a99981780108008a5014a066ebc064014c8c8c8cdc499b82375a606a0026eb4c0d4c0d8008cdc11bad3035002375a606a606c00260626ea8c8c8c05ccc0d4dd419b82375a606c0046eb4c0d8004cc0d4dd419b82375a606c606e0046eb4c0d8c0dc0052f5c060646ea8c8c8c8c8c068cc0e0dd419b81337046eb4c0e4010004cdc11bad303900200333038375066e0800c0052f5c06eb4c0e0c0e4004c0d0dd5181b981a1baa007375a606c606e00260646ea8c00d200230313754600460066eacc030c0c4dd5180618189baa01230303754600260046eacc02cc0c0dd50039180a198191ba8001330324c10101004bd701199806800a450048810016533302b4a0298103d87a80001533302b4a0260226605e60226605e6ea0cdc0a400004c6605e6ea120c7014bd7025eb804c044cc0bcc044cc0bcdd401319817a601021864004bd7025eb80c014cc03c05c8c8cc004004c8cc004004c94ccc0b8c088c0bcdd50008a5eb7bdb1804dd5981998181baa0013300e37566014605e6ea8c028c0bcdd500180a9129998188008a5eb804cc0c8c0bcc0cc004cc008008c0d0004894ccc0c000452809929998171919b8f33371890001b8d489045348495000001489045348495000375c606600429444cc00c00c004c0cc004c0b8c0acdd50008b180318151baa00116302c0013300201223375e601c60526ea8004c038c0a4dd5180218149baa00a130013300b013253330273330275333027301630283754601c60526ea8c038c0a4dd5180218149baa00114a029452825113371090001998039bab300430293754600860526ea8004dd7180718149baa026375c600860526ea809852812999813180a98139baa00114a2294088c8cc00400400c894ccc0ac00452f5c026464a666054600a00426605c00466008008002266008008002605e004605a002460526054002460506052605200244a666046602460486ea80084c8c8c8c94ccc0a8c0b40085401458dd7181580098158011bad3029001302537540042c44464a6660486030604a6ea8004520001375a6052604c6ea8004c94ccc090c060c094dd50008a6103d87a80001323300100137566054604e6ea8008894ccc0a4004530103d87a8000132323232533302a337220100042a66605466e3c0200084c040cc0b8dd4000a5eb80530103d87a8000133006006003375a60560066eb8c0a4008c0b4008c0ac004cc01000c00888c8cc00400400c894ccc098004530103d87a800013232323253330273372200e0042a66604e66e3c01c0084c034cc0acdd3000a5eb80530103d87a8000133006006003375660500066eb8c098008c0a8008c0a0004c07cdd500a1811180f9baa001163300100923375e6008603e6ea800403c88c8cc00400400c894ccc088004530103d87a8000132325333021300500213007330250024bd70099802002000981300118120009ba5480008c07c004dd7180e980f0011bad301c001301837540026034602e6ea801858dd6180c980d180d0011bac3018001301437540146e1d2000370e9002180a180a801180980098079baa002370e90010b1808180880118078009807801180680098049baa00114984d958dd68009bad0015734aae7555cf2ab9f5740ae855d101", "hash": "756f0563a106bc8d723ab95cbbd9b7ed01caaad053a6f3d8434d2d3a" }, [...] ], "definitions": { "AssetName": { "title": "AssetName", "dataType": "bytes" }, "Data": { "title": "Data", "description": "Any Plutus data." }, "Int": { "dataType": "integer" }, "PolicyId": { "title": "PolicyId", "dataType": "bytes" }, [...] } }

Layer 2 - README.md

If exist, we will store the README.md of the DApp. This file contains the information about the DApp.

# Asteria A Cardano bot challenge to showcase the capabilities of the eUTxO model. ## Mechanics In this bot challenge you compete by moving a ship (your bot) through a 2D grid. The ship that reaches the center is allowed to collect the rewards. [...]