1cs v1 — 统一跨天资产标识符
安装
npm install @defuse-protocol/crosschain-assetid
使用量
import {parse1cs, stringify1cs} from '@defuse-protocol/crosschain-assetid';
const assetid = stringify1cs({
version: "v1",
chain: "eth",
namespace: "erc20",
reference: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
})
const obj = parse1cs("1cs_v1:eth:erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48")
目的
1cs_v1 是一个 URL -- -- 安全、紧凑、人可读 标识符格式
代表 任何资产 (crypto sord, NFT, 土生土长的硬币,被包裹/被压缩的资产,
或甚至没有) 跨链条 以一贯的方式.
其目的是:
- 让应用 明确提及资产 而不包含特定链解析逻辑.
- 工作 跨链和跨标准 - EVM、索拉纳、宇宙、NEAR、, 史黛拉,阿普托斯,苏伊,费亚特等.
- 成为 在 URL、文件名和 API 中安全 没有额外逃出.
- 启用 简单解析 以可预见字段为对象.
- 做一个 统一密钥 平衡,交换,桥梁,引文,和离线.
格式
1cs_v1:<chain>:<namespace>:<reference>[:<selector>]
构成部分
| 编 | 需要吗? | 说明 |
|---|---|---|
1cs_v1 | ✅ | 格式化前缀和版本. 1克代表着 1 分块。 。 。 . |
<chain> | ✅ | 小写弹道( 如 . eth, (中文(简体) ), eth-sepolia, (中文(简体) ), solana, (中文(简体) ), near, (中文(简体) ), polygon),可以将测试网编码为sult. |
<namespace> | ✅ | 资产标准/实物: erc20, (中文(简体) ), erc721, (中文(简体) ), spl, (中文(简体) ), near-nft, (中文(简体) ), aptos-coin, (中文(简体) ), aptos-fa, (中文(简体) ), fiat等 (中文(简体) ). |
<reference> | ✅ | 合同/薄荷/账户/帐号/签发人- URI 编码 安全持有 :, (中文(简体) ), /空格 单码等. |
<selector> | 选项 | 子资产选择器:代号ID,模块struct,Stellar代码等——也 URI 编码。 。 。 . |
实例
易打符号
1cs_v1:eth:erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 # USDC on Ethereum
1cs_v1:base:erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 # USDC on Base
1cs_v1:fiat:iso4217:USD # US Dollar (fiat)
无
1cs_v1:eth:erc721:0x1234567890abcdef1234567890abcdef12345678:42
1cs_v1:near:nep171:apes.coolnft.near:series%3A1%2Fblue%3A42
原生硬币
1cs_v1:eth:native:coin
1cs_v1:zcash:native:coin
非EVM标准
1cs_v1:solana:spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
1cs_v1:aptos:aptos-coin:0x1%3A%3Aaptos_coin%3A%3AAptosCoin
1cs_v1:aptos:aptos-fa:0x0b0b819dcf8d9517ed14195a95adfae6a49bfdb49de33a532ca0aa7ee588e8e0
Aptos有两个可互换的标准,所以 reference 每个形状不同 :
aptos-coin遗产Coin<T>标准.reference是完全合格的移动结构类型( T)address::module::Struct) (中文(简体) ).aptos-fa——可交易资产标准AIP-21 (英语)) (中文(简体) ).reference是一个普通对象地址,但0x1::fungible_asset::Metadata资源.
理由和设计选择
1. URL安全
我们编码 reference 财务报告和审定财务报表 selector 与 encodeURIComponent 因此,他们是安全的在URL.
2. 人可读而毫不含糊
- 前缀( E)
1cs_v1),明确使用什么格式. 轻而易举地穿过密码基地. - 链状弹壳+命名空间覆盖大多数识别需求而无需额外查找.
- 工程为 两者 断层链和花纹.
3. 多资产支助
selector 干净地支持 ERC-1155 ID, Stellar 资产代码, Cosmos sident sub-denoms, Aptos/Sui struct names等.
4. 搭桥/包头资产
身份证识别 链上代表如果您需要表达 来源、桥梁、发行人或其他 元数据——通过 查询段落 或在其对象模型中,而不是在核心ID中.
对象窗体
分析a 1cs_v1 字符串给你:
interface OneCsAsset {
version: "v1";
chain: string; // e.g. "eth", "near", "fiat"
namespace: string; // e.g. "erc20", "spl", "native"
reference: string; // decoded from URI
selector?: string; // decoded from URI if present
}
示例
1cs_v1:near:nep171:apes.coolnft.near:series%3A1%2Fblue%3A42
↓
{
version: "v1",
chain: "near",
namespace: "nep171",
reference: "apes.coolnft.near",
selector: "series:1/blue:42"
}