红衣主教命名空间
NFT 定值和订阅协议
背景情况
可以将命名空间视为一套模板参数的租赁分配器,使NFT公司能够按程序计价并按要求租用。 与Metaplex糖果-机器类似,这通过将NFT做成薄荷并随后用所配置参数的符号管理器来包装来工作. 返回取名空间后,可以再由新用户租用.
- 用户名
- 在从给定命名空间租借用户名时,您可能租借游戏,访问服务,或参与DAO的权利. 用户名以管理式NFT的形式出现,该NFT在租房期间坐在钱包中.
- 验证所有权
- 拥有一个租来的,管理的NFT 从一个命名空间 之前已经核实你的身份, 允许你维护 已经证明的所有权 在该命名空间内的东西.
- 订阅
- 可以设置一个取名空间,提供基于订阅的入门内容. 当用户试图访问内容时,提供者可以轻而易举地检查NFT的所有权.
- 密钥/ 车票
- 命名空间可以代表旅馆中可以临时租用的房间。 所租用的钥匙也可能有按用期到期,并用作活动票.
- 徽章/ 证书
- 可以设置一个取名空间,将徽章或证书出租给特定的一组用户. 用户可以通过命名空间批准,然后要求其徽章可以被核实为由该命名空间签发和管理.
软件包
| 软件包 | 说明 | 版本 | 文档 |
|---|---|---|---|
cardinal-namespaces | 点播 NFT 薄荷 | ||
@cardinal/namespaces | 命名空间的脚本 SDK |
地址
程序地址在devnet,testnet,和主网-beta上相同.
开始
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 问题.
许可证
红衣主教协议根据GNU Affero通用公共许可证 v3.0.
简言之,这意味着对这个代码的任何修改都必须公开源码,并且根据AGPL-v3.0许可证提供,即使只私下使用.