Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RGB++ Assets Convention Rules doc #10

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ Documents list:
| 01 | [RGB++ Script Standard](./docs/lockscript-design-prd-en.md) | [RGB++ 合约规范](./docs/lockscript-design-prd-cn.md) |
| 02 | [CKB Bitcoin SPV Type Script](https://github.com/ckb-cell/ckb-bitcoin-spv-contracts/blob/master/contracts/ckb-bitcoin-spv-type-lock/README.md) | CKB BTC SPV 合约设计 |
| 03 | [CKB Bitcoin SPV Library Design](https://github.com/ckb-cell/ckb-bitcoin-spv/blob/master/docs/Design.md) | CKB Bitcoin SPV 库的设计 |
| 04 | [RGB++ Assets Convention Rules](./docs/RGB++-assets-convention-rules.md) | RGB++ 资产规则 |
66 changes: 66 additions & 0 deletions docs/RGB++-assets-convention-rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
> This document is a repost of _[_xUDT Information Convention RFC_](https://talk.nervos.org/t/xudt-information-convention-rfc/8030)_
> post on NervosTalk forum, with minor refinements for improved consistency and readability.

## Background

xUDT (RGB++) assets on CKB similar to ERC20 assets on Ethereum in that they lack protocol-level uniqueness constraints for token names.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
xUDT (RGB++) assets on CKB similar to ERC20 assets on Ethereum in that they lack protocol-level uniqueness constraints for token names.
xUDT (RGB++) assets on CKB are similar to ERC20 assets on Ethereum in that they lack protocol-level uniqueness constraints for token names.

Considering the conventions of the Bitcoin ecosystem, Considering the conventions of the Bitcoin ecosystem, it is necessary to introduce
standards regarding uniqueness and length.
Comment on lines +7 to +8
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Considering the conventions of the Bitcoin ecosystem, Considering the conventions of the Bitcoin ecosystem, it is necessary to introduce
standards regarding uniqueness and length.
Considering the conventions of the Bitcoin ecosystem, it is necessary to introduce standards regarding uniqueness and length.



## Scope
- The following conventions cover **inscription info cell** and **unique cell**, combining the two for processing.
For example, each asset has a unique name among them.
- These conventions consider only the `Symbol` and do not consider the `Name` field.

```yaml
# Unique cell
{
"code_hash": "0x2c8c11c985da60b0a330c61a85507416d6382c130ba67f0c47ab071e00aec628",
"hash_type": "data1",
"out_point": {
"tx_hash": "0x67524c01c0cb5492e499c7c7e406f2f9d823e162d6b0cf432eacde0c9808c2ad",
"index": "0x0"
},
"dep_type": "code"
}
```

## Name Conflict
- Only the first occurrence of an asset name on-chain is acknowledged; subsequent occurrences are marked as “duplicate”.
- Case sensitivity is ignored during duplicate comparison, for example: “Seal” is considered the same as “SEAL”.
- Any addition of invisible characters (including spaces) to the name, regardless of whether there are similar assets,
is treated as a “**duplicate**”.
- For wallets and exchanges, duplicate assets are directly hidden.
- For browsers:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- For browsers:
- For blockchain explorers:

- “duplicate assets” are labeled as “Risk Asset - RGB++ incompatible”;
- non-duplicate assets are labeled as “RGB++ Compatible”;
- In places where the aforementioned text is too long to display, symbols such as [!] and [+] are used for marking.


## Letters
- For exchanges, only the ASCII visible character subset is supported.
- For wallets and browsers, the supported character range includes:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- For wallets and browsers, the supported character range includes:
- For wallets and explorers, the supported character range includes:

- ASCII visible characters subset
- A subset of emojis: to be determined
- For assets that use unsupported characters, the asset name is uniformly displayed as “INVALID”.

## Length Range
- Only assets with Symbol length of 4-5 characters are processed normally.
- Assets falling outside this range are treated as “duplicate assets”.

## Verification
- Whitelisted assets are set to bypass the rules mentioned above.
- To get whiltelist, To get on the whitelist, project owners should submit their token information to Cell Studio’s GitHub repository.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- To get whiltelist, To get on the whitelist, project owners should submit their token information to Cell Studio’s GitHub repository.
- To get on the whitelist, project owners should submit their token information to [TODO].

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatif you were previously whitelisted. How do you regain access to the previous list. String history for proof of contribution of BTC info?.

After verification, the token information will be reviewed and released. Assets on the whitelist are given priority for display
regardless of the above rule, and any other assets with the same name are automatically labeled as "duplicate assets".
- As of now, the whitelist submission is not open yet.


## Assets Mark
Ecosystem apps should add label / mark for every asset to provide some critical information:
- Issuance mark: `L1 issue` / `L2 issue` to identify where the coins are issued, on Bitcoin with `rpgpp_lock` or CKB with normal lock;
- Supply mark: `Limited supply` / `Unlimited supply` to identify whether a coin could be issued arbitrarily.

> Note: The [issue For Support tags of xudt #620](https://github.com/Magickbase/ckb-explorer-public-issues/issues/620) defines the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> Note: The [issue For Support tags of xudt #620](https://github.com/Magickbase/ckb-explorer-public-issues/issues/620) defines the
> Note: The [issue For Support tags of xudt #620](https://github.com/Magickbase/ckb-explorer-public-issues/issues/620#issuecomment-2060182586) defines the

existing tags and display of xUDTs on the CKB Explorer.