What is Cbor[CLTC] CLTC-20? Forked From CBRC-20.

Disclaimer: This is a proposal for a new Convention Of Usage.
Convention Proposition. Read every word if you decide to test. This will be worthless. Play at your own risk :-) *TERMS MAY VARY BASED ON CLTC* FORK

Introduction

Cbor[CLTC] CLTC-20 is the proposal of an efficient Metaprotocol standard for fungible tokens on Litecoin through Ordinals. By utilizing the newmetadataandmetaprotocolfields introduced in ord 0.10+, which allow for arbitrary properties to be stored directly within the Inscription envelope, CLTC-20 keeps the same functional logic of the LTC-20 Metaprotocol while reducing the cost of each inscription and simplifying the indexing process.


Overview of CLTC-20 Features

Before we cover the CLTC-20 Metaprotocol Convention, let’s first take a moment to understand what ametaprotocolis.

WTF is a Metaprotocol?

Quick History of Metaprotocols

"Metaprotocol" is a term used by the Ordinals Community to describe an interactable "protocol" formalized through off-chain indexing of on-chain information, like LTC-20, SNS, Bitmap, etc. Until recently, an "Ordinal metaprotocol" was a conceptual term not officially recognized in the Ordinal client. This changed with ordv0.10, when the Ord Team introduced fields for writingmetaprotocolandmetadatainformation directly in the inscription envelopes. This update allows for the official flagging of Metaprotocols on Ordinals.

The Current Metaprotocol Situation

For Ordinal Metaprotocol token standards, the journey has been complex. To address issues arising post-ord v0.9, all LTC-20 indexers have decided to "freeze" on ord v0.9 for LTC-20 indexing. This means that LTC-20cannotleverage the "metaprotocol" or "metadata" fields introduced in the latest versions of ord 0.10+, hindering the LTC-20 Metaprotocol's ability to upgrade and become more efficient. As a result, the future of LTC-20 Indexing is stuck in a state of uncertainty, despite market perceptions.

CLTC-20, on the other hand, fully utilizes both the "metaprotocol" and "metadata" field features for token data, leading to significant savings in inscription fees and blockspace. This efficiency is achieved as there are no JSON files inscribed on Litecoin for CLTC-20, positioning it as the first "real" Ordinals Metaprotocol token standard (according to the latest rules and version of the ord client).

Now let’s get into what CLTC-20 looks like!

CLTC-20 Deep Dive

The Ordinal Envelope

The Ordinal Envelope is a fundamental component of the Ordinals protocol, enabling the unique capability to embed data on individual satoshis within the Litecoin blockchain. It plays a vital role in creating distinctive digital assets directly on Litecoin.

Let's take an example of an Ordinal Envelope containing the message "Hello, world!" to understand its structure and function:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

Inscribing Metadata with CBOR

To push the Ordinal community in a good direction, the developers of the Ordinals protocol, in version 0.10+, have integrated CBOR as a key component. This integration permitsmetadatato be inscribed in Ordinal Envelopes using the CBOR format, which is very efficient as CBOR data is 60%-70% smaller in byte size than equivalent data in JSON format.

This inclusion of themetaprotocolfield and the usage of CBOR for storingmetadatain the Ordinal envelope also significantly enhances data handling efficiency for Indexers. These choices allow for more compact and rapid processing of token-related data. As a result, the Ordinal envelope becomes not just a container, but a robust tool for sophisticated data interactions within the Litecoin blockchain.

These advancements in the Ordinal envelope pave the way for more dynamic and versatile usecases. Developers can now leverage these improvements to create more nuanced and efficient token-based solutions, further expanding the capabilities of the Litecoin network. You can read more about CBOR and metadatahere.

Definition of a Metaprotocol

In the world of CLTC-20,metaprotocolis a property defined in the ordinal framework (specifically in ord v0.10+), and serves as a field that can carry a "metaprotocol" or "community convention", as well as its metaprotocol operational codes. CLTC-20 is the first proposed standard to utilize this field and definition ofmetaprotocolproperly.

The CLTC-20 Metaprotocol Convention

We use themetaprotocolfield in line with theUniform Resource Name standard, adhering to this syntax:

<metaprotocol>:[op]:[tick]=[amt]

The CLTC-20 Metaprotocol Syntax

For example, a CLTC-20 mint inscriptionmetaprotocolfield would look like this:

cLTC-20:mint:CLTC=1000

And a CLTC-20 transfer inscriptionmetaprotocolfield would look like this:

cLTC-20:transfer:CLTC=500

The CLTC-20 Metaprotocol Logic

The CLTC-20metaprotocolrules follow directly with LTC-20, meaningCLTC-20 tokens adhere to the exact same rules as the LTC-20 token standard(such as the First is First principle, 4-character names, default decimal of 18, etc, you can read the existing LTC-20 ruleset outlinedhere)

However, for CLTC-20mintandtransferinscriptions, there's no need to include the "p", "op", "tick" or "amt" characters whatsoever, as they are specifieddirectlyin the Ordinal Evelope. There is nometadatarequired formintortransferinscriptions as we are simply signaling operational actions of an existing token,thus lowering the cost of CLTC-20 mint/transfer inscriptions compared to LTC-20/TAP. Metadata is onlyrequiredfordeployinscriptions.

Definition of Metadata

Newly defined in the official ord client (ord >0.10),metadatais a field designated for carrying arbitrary informationdirectlywithin an Ordinal Inscription envelope in the form of a CBOR file. You can read aboutmetadatain ordinal envelopeshere.

In CLTC-20 the only timemetadataisrequiredis when deploying a new CLTC-20 token. We will now go over some examples of what deploying, minting, and transferring CLTC-20 tokens looks like!

HOW TO PLAY WITH CLTC-20

Read from here if you just want to play!

How to Play [Hard Mode]

If you DO have an ord 0.10+ client running locally and want to inscribe in local, here's how CLTC-20 works!

How to Deploy a CLTC-20

Deploying a CLTC-20 token is a straightforward process:

  1. Create a JSON File: Let's say you're creating a "Cbor[CLTC]" token with the ticker "CLTC".Because you want to deploy a new CLTC-20, you MUST inscribe your token "metadata" in the CBOR format.To do this, you must first create a JSON file like this:
{
    "tick": "CLTC",
    "max": "84000000",
    "lim": "1000",
    "dec": "8"
}
  1. Convert to CBOR File:

After saving your JSON file, use the Cbor[CLTC] JSON to CBOR converter to create your .cbor file.

  1. Inscribe Your Token:

You can inscribe the CLTC token using this command:

ord wallet inscribe  --fee-rate FEE_RATE  --metaprotocol=cltc-20:deploy --cbor-metadata ./deployCLTC.cbor --file <literallyanyfile>

How to Mint a CLTC-20

Minting a CLTC-20 token is very easy.

  1. Choose Your File to Inscribe

Choose any file you want to inscribe (cheapest option is a txt file containing only the number0).

  1. Inscribe Your Mint Operation:

Execute the minting process with the following command:

ord wallet inscribe --fee-rate FEE_RATE --metaprotocol=cLTC-20:mint:CLTC=1000 --file <yourchosenfile>

This command will mint the specified amount of "CLTC" tokens.

How to Make a CLTC-20 Transfer Inscription

  1. Choose Your File to Inscribe

Choose any file you want to inscribe (cheapest option is a txt file containing only the number0).

  1. Inscribe Your Transfer Operation:

Use the following command to inscribe the transfer of your "CLTC" tokens:

ord wallet inscribe --fee-rate FEE_RATE --metaprotocol=cltc-20:transfer:CLTC=500 --file <yourchosenfile>

This command will create a CLTC-20 transfer inscription which can then be sent to a Litecoin address as a one-time use "ticket" to signify an ownership change of CLTC-20 tokens,exactly the same as the LTC-20 transfer inscription logic.

LTC-20 vs CLTC-20

Summarized from this document, here are some of the key of advantages of CLTC-20 over LTC-20

  1. Reduced Inscription Costs:

  2. A Simplified Indexing Process:

  3. Support for All MIME Types:

  4. No Limitations of Ordinal Client:

  5. Innovative Token Interaction Possibilities:

Ending Thoughts from CyBORg (Creators of CBRC-20)

Here you have it folks, the Cbor[CLTC] CLTC-20 convention. A proposed alternative to LTC-20 standard that follows the exact same logic but in a more efficient/cheaper way thanks to ord 0.10+. The realization of “what could have been” for LTC-20 if Indexers did not decide to freeze to ord v0.9.

This is purely an experiment and should not be treated as an investment.

Let’s keep on finding new ways to play together :-)

Glossary

LTC-20:A token standard for creating and managing fungible tokens on the Litecoin blockchain, utilizing the Ordinals protocol for data inscription.

CBOR (Concise Binary Object Representation):A binary data serialization format that offers compact size and efficient data processing, used in the context of blockchain for efficient data storage and transmission. Similar to JSON, but more efficient.

Cbor[CLTC] / CLTC-20:A proposed metaprotocol standard for creating and managing fungible tokens on Litecoin, leveraging the Ordinals protocol. It aims to be more efficient and cost-effective than the traditional LTC-20 standard by using the newmetadataandmetaprotocolfields.

Metaprotocol (Term):A concept used to describe a protocol within a protocol, often referring to a set of standards or rules established on top of an existing blockchain protocol, like Ordinals.

Metaprotocol (Field):A specific field within the Ordinal envelope used to identify and distinguish different protocols or conventions within the blockchain, utilized in the CLTC-20 standard.

Metadata (Field):A field within the Ordinal envelope that carries arbitrary information, such as a token's deploy-related details, in a CBOR file format. This field plays a significant role in the CLTC-20 standard for storing token data efficiently.

MIME Type:A standard that indicates the nature and format of a document, file, or an assortment of bytes. It stands for Multipurpose Internet Mail Extensions and is used in CLTC-20 for flexibility in token operations.

Ordinal Envelope:A data structure within the Ordinals protocol, featuring extendable properties for storing and managing data related to Ordinal Inscriptions.

Ordinal Inscription:A feature of the Ordinals protocol allowing for the embedding of arbitrary data directly into Litecoin transactions.

Uniform Resource Name Standard (URN):A protocol for assigning a unique and persistent name to resources. In the context of CLTC-20, it's used in themetaprotocolfield to adhere to specific naming conventions for protocol instructions.

References

  1. Ordinals v0.10 Release: Detailed release notes of Ordinals version 0.10, which introduced themetaprotocolandmetadatafields, are availablehere.

  2. Uniform Resource Name (URN) Standards: Learn more about the URN standards, crucial for themetaprotocolfield syntax in CLTC-20, atRFC 2141.

  3. LTC-20 Token Standard Documentation: For insights into the LTC-20 token standard and its operational rules, visit theLayer 1 documentation.

  4. Ordinals Inscriptions Metadata: A guide to understanding themetadatafield in ordinal envelopes can be foundhere.