# @cardinal/namespaces 中文文档

规范地址：https://npmcn.com/package/%40cardinal/namespaces/

版本：6\.0\.0
npm 元数据更新时间：2023-03-07T21:59:47.550Z
中文译文更新时间：2026-11-09T13:20:54.936Z
软件包许可：AGPL-3\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cardinal/namespaces
原文对照：https://npmcn.com/package/%40cardinal/namespaces/?lang=original
项目主页：https://cardinal.so/
源码仓库：https://github.com/cardinal-labs/cardinal-namespaces

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，83 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：8 个
- 首次发布：2022-01-04T19:38:00.506Z
- 最新版本发布：2023-03-07T21:59:47.443Z
- 近 30 天下载量：2569（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：177（近 12 个月 0 个）

## 中文简介

红衣主教命名空间 SDK

## 安装

```sh
npm install @cardinal/namespaces
```

也可以使用：`pnpm add @cardinal/namespaces`、`yarn add @cardinal/namespaces`、`bun add @cardinal/namespaces`

## README

# 红衣主教命名空间

[![License](https://img.shields.io/badge/license-AGPL%203.0-blue)](https://github.com/cardinal-labs/cardinal-namespaces/blob/master/LICENSE) [![Release](https://github.com/cardinal-labs/cardinal-namespaces/actions/workflows/release.yml/badge.svg?branch=v0.0.27)](https://github.com/cardinal-labs/cardinal-namespaces/actions/workflows/release.yml)

![](https://npmcn.com/package/%40cardinal/namespaces/images/banner.png)

NFT 定值和订阅协议

## 背景情况

可以将命名空间视为一套模板参数的租赁分配器,使NFT公司能够按程序计价并按要求租用。 与Metaplex糖果-机器类似,这通过将NFT做成薄荷并随后用所配置参数的符号管理器来包装来工作. 返回取名空间后,可以再由新用户租用.

-   用户名
    -   在从给定命名空间租借用户名时,您可能租借游戏,访问服务,或参与DAO的权利. 用户名以管理式NFT的形式出现,该NFT在租房期间坐在钱包中.
-   验证所有权
    -   拥有一个租来的,管理的NFT 从一个命名空间 之前已经核实你的身份, 允许你维护 已经证明的所有权 在该命名空间内的东西.
-   订阅
    -   可以设置一个取名空间,提供基于订阅的入门内容. 当用户试图访问内容时,提供者可以轻而易举地检查NFT的所有权.
-   密钥/ 车票
    -   命名空间可以代表旅馆中可以临时租用的房间。 所租用的钥匙也可能有按用期到期,并用作活动票.
-   徽章/ 证书
    -   可以设置一个取名空间,将徽章或证书出租给特定的一组用户. 用户可以通过命名空间批准,然后要求其徽章可以被核实为由该命名空间签发和管理.

## 软件包

| 软件包 | 说明 | 版本 | 文档 |
| :-- | :-- | :-- | :-- |
| `cardinal-namespaces` | 点播 NFT 薄荷 | [![Crates.io](https://img.shields.io/crates/v/cardinal-namespaces)](https://crates.io/crates/cardinal-namespaces) | [![Docs.rs](https://docs.rs/cardinal-namespaces/badge.svg)](https://docs.rs/cardinal-namespaces) |
| `@cardinal/namespaces` | 命名空间的脚本 SDK | [![npm](https://img.shields.io/npm/v/@cardinal/namespaces.svg)](https://www.npmjs.com/package/@cardinal/namespaces) | [![Docs](https://img.shields.io/badge/docs-typedoc-blue)](https://cardinal-labs.github.io/cardinal-namespaces/) |

## 地址

程序地址在devnet,testnet,和主网-beta上相同.

-   命名空间 : [`nameXpT2PwZ2iA6DTNYTotTmiMYusBCYqwBLN2QgF4w`](https://explorer.solana.com/address/nameXpT2PwZ2iA6DTNYTotTmiMYusBCYqwBLN2QgF4w)

## 开始

```
git clone https://github.com/cardinal-labs/cardinal-namespaces.git
cd cardinal-namespaces
make
```

## 文档

**名片**

命名空间是协议的基础组成部分. 一个取名空间是程序拥有的PDA,在通称下组成了NFT的逻辑分组. 通常类似于TLD(顶级域),但命名空间的使用可以相差很大. 基本上一个命名空间是属于命名空间的符号的创建者. 它包含一个可以更新命名空间参数的权威,当用户在命名空间中声称条目时,它们由命名空间发布.

```
#[account]
pub struct Namespace {
    pub bump: u8,
    pub name: String,
    pub update_authority: Pubkey,
    pub rent_authority: Pubkey,
    pub approve_authority: Option<Pubkey>,
    pub schema: u8,
    pub payment_amount_daily: u64,
    pub payment_mint: Pubkey,
    pub min_rental_seconds: i64,
    pub max_rental_seconds: Option<i64>,
    pub transferable_entries: bool,
}
```

**名称条目**

取名空间是取名条目的集合. 每个名称条目存储与命名空间中特定名称相关的信息. 最重要的是,名称来源于名称和取名空间,因此每个条目都是给定名称空间所独有的. 该条目主要用于将字符串名称映射到NFT(薄荷地址). NFT的持有者有能力设置输入数据,并使用反向输入将其地址映射回该名称.

名称条目NFT是使用干线生成器动态生成的.

名称条目根据命名空间的参数由命名空间发布. 命名空间使用主控键来创建代表每个条目的可撤销和过期的NFT. 这个设置允许订阅,以及由命名空间所发可撤销的徽章.

```
#[account]
pub struct Entry {
    pub bump: u8,
    pub namespace: Pubkey,
    pub name: String,
    pub data: Option<Pubkey>,
    pub reverse_entry: Option<Pubkey>,
    pub mint: Pubkey,
    pub is_claimed: bool,
    pub claim_request_counter: u32,
}
```

## 问题与支持

如果你正在使用红衣主教命名空间合同和图书馆进行开发, 请随意向Discord寻求支持。 我们将与你或你的团队合作,回答问题,提供发展支持并讨论新的特征请求.

对于问题,请提交 GitHub 问题.

> [https://discord.gg/cardinallabs (英语)](https://discord.gg/cardinallabs)

## 许可证

红衣主教协议根据GNU Affero通用公共许可证 v3.0.

简言之,这意味着对这个代码的任何修改都必须公开源码,并且根据AGPL-v3.0许可证提供,即使只私下使用.

## 常见问题

### @cardinal/namespaces 是什么？

红衣主教命名空间 SDK

### 如何安装 @cardinal/namespaces？

在项目目录运行 npm install @cardinal/namespaces，或使用 pnpm add / yarn add / bun add。

### @cardinal/namespaces 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cardinal\_\_namespaces 是否存在。

### @cardinal/namespaces 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @cardinal/namespaces 可以商用吗？

@cardinal/namespaces 使用 AGPL-3\.0 许可。最严格的 Copyleft：除分发外，通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括，不构成法律意见，请以许可原文为准。

### @cardinal/namespaces 的下载量有多少？

根据 npm 官方下载统计，@cardinal/namespaces 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,569 次，日均约 86 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cardinal/namespaces 还在维护吗？

最新版本 6\.0\.0 发布于 2023/03/08（3 年前）；至今共发布 177 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/01/05。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

