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
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.
Before we cover the CLTC-20 Metaprotocol Convention, let’s first take a moment to understand what ametaprotocolis.
"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.
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!
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
Header (OP_FALSE OP_IF … OP_ENDIF): Acts as a foundational structure for the envelope. It sets up the conditional execution framework, although it primarily serves as a non-operational or 'no-op' component.
Identifier (OP_PUSH "ord"): What we call the "magic code," this identifier is crucial for distinguishing Ordinal inscriptions (or other protocols) from other data on the blockchain.
Content Specification (OP_PUSH "text/plain;charset=utf-8"andOP_PUSH "Hello, world!"): These lines define the MIME type of the content (in this case, plain text with UTF-8 charset) and the actual content to be inscribed.
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.
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.
We use themetaprotocolfield in line with theUniform Resource Name standard, adhering to this syntax:
<metaprotocol>:[op]:[tick]=[amt]
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-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.
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!
Read from here if you just want to play!
If you DO have an ord 0.10+ client running locally and want to inscribe in local, here's how CLTC-20 works!
Deploying a CLTC-20 token is a straightforward process:
{
"tick": "CLTC",
"max": "84000000",
"lim": "1000",
"dec": "8"
}
After saving your JSON file, use the Cbor[CLTC] JSON to CBOR converter to create your .cbor file.
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>
Minting a CLTC-20 token is very easy.
Choose any file you want to inscribe (cheapest option is a txt file containing only the number0).
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.
Choose any file you want to inscribe (cheapest option is a txt file containing only the number0).
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.
Summarized from this document, here are some of the key of advantages of CLTC-20 over LTC-20
Reduced Inscription Costs:
A Simplified Indexing Process:
Support for All MIME Types:
No Limitations of Ordinal Client:
metadataandmetaprotocolfields, allowing for more advanced and efficient token standard development.Innovative Token Interaction Possibilities:
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 :-)
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.
Ordinals v0.10 Release: Detailed release notes of Ordinals version 0.10, which introduced themetaprotocolandmetadatafields, are availablehere.
Uniform Resource Name (URN) Standards: Learn more about the URN standards, crucial for themetaprotocolfield syntax in CLTC-20, atRFC 2141.
LTC-20 Token Standard Documentation: For insights into the LTC-20 token standard and its operational rules, visit theLayer 1 documentation.
Ordinals Inscriptions Metadata: A guide to understanding themetadatafield in ordinal envelopes can be foundhere.