配置文件
Sugar 使用 JSON 配置文件来上传资产和配置 Candy Machine——在大多数情况下,该文件将命名为 config.json。配置包括用于初始化和更新 Candy Machine 的设置,以及上传要铸造的资产。它还将包括守卫的配置,这些守卫将提供对铸造的访问控制。
基本配置文件如下所示:
{
"tokenStandard": "pnft",
"number": 10,
"symbol": "TEST",
"sellerFeeBasisPoints": 500,
"isMutable": true,
"isSequential": false,
"ruleSet": "eBJLFYPxJmMGKuFwpDWkzxZeUrad92kZRC5BJLpzyT9",
"creators": [
{
"address": "PanbgtcTiZ2PveV96t2FHSffiLHXXjMuhvoabUUKKm8",
"share": 50
},
{
"address": "PanbgtcTiZ2PveV96t2FHSffiLHXXjMuhvoabUUKKm8",
"share": 50
}
],
"hiddenSettings": null,
"uploadMethod": "bundlr",
"awsConfig": null,
"pinataConfig": null,
"sdriveApiKey": null,
"guards": {
"default": {
"botTax": {
"value": 0.01,
"lastInstruction": true
}
},
"groups": [
{
"label": "OGs",
"guards": {
"startDate": {
"date": "2022-10-20 12:00:00 +0000"
},
"tokenGate": {
"amount": 1,
"mint": "7nE1GmnMmDKiycFkpHF7mKtxt356FQzVonZqBWsTWZNf"
},
"solPayment": {
"value": 1,
"destination": "PanbgtcTiZ2PveV96t2FHSffiLHXXjMuhvoabUUKKm8"
}
}
},
{
"label": "Public",
"guards": {
"startDate": {
"date": "2022-10-20 18:00:00 +0000"
},
"solPayment": {
"value": 2,
"destination": "PanbgtcTiZ2PveV96t2FHSffiLHXXjMuhvoabUUKKm8"
}
}
}
]
}
}
配置文件可以看作包含三个主要部分:Candy Machine 设置(从 "tokenStandard" 到 "hiddenSettings")、上传设置(从 "uploadMethod" 到 "sdriveApiKey")和守卫设置("guards")。
Candy Machine 设置
Candy Machine 设置决定资产的类型、可用资产数量及其元数据信息。
| 设置 | 选项 | 值/类型 | 描述 |
|---|---|---|---|
| tokenStandard | |||
| "nft" | 非同质化资产(NFT) | ||
| "pnft" | 可编程非同质化资产(pNFT) | ||
| number | 整数 | 可用项目数量 | |
| symbol | 字符串 | 表示 NFT 符号的字符串 | |
| sellerFeeBasisPoint | 整数 | 创作者分享的版税,以基点表示(即 550 表示 5.5%) | |
| isMutable | 布尔值 | 表示 NFT 元数据账户是否可以更新的布尔值 | |
| isSequential | 布尔值 | 表示在铸造期间是否应使用顺序索引生成的布尔值 | |
| ruleSet | 公钥 | (可选) 铸造的 pNFT 使用的规则集 |
creators 设置允许您指定最多 4 个地址及其百分比份额。
| 设置 | 选项 | 值/类型 | 描述 |
|---|---|---|---|
| creators | 最多 4 个创作者 | 创作者列表及其版税百分比份额 | |
| address | 公钥 | 创作者公钥 | |
| share | 整数 | 介于 0 和 100 之间的值 |
虽然链上元数据存储最多 5 个创作者,但 Candy Machine 被设置为其中一个创作者。因此,最多只能有 4 个创作者。
份额值的总和必须加起来等于 100,否则将生成错误。
Candy Machine 可以配置为在铸造 NFT 时没有最终元数据。当您计划在铸造完成后进行揭示步骤时,这很有用。在这种情况下,您可以为隐藏的 NFT 指定"占位符"元数据值:
| 设置 | 选项 | 值/类型 | 描述 |
|---|---|---|---|
| hiddenSettings | |||
| name | 字符串 | 铸币名称(必须使用 $ID$ 或 $ID+1$ 铸币索引替换变量,以便 sugar reveal 可以工作) | |
| uri | 字符串 | 铸币的 URI(可以使用 $ID$ 或 $ID+1$ 铸币索引替换变量) | |
| hash | 字符串 | 32 个字符的哈希值(在大多数情况下,这是带有铸币编号和元数据映射的缓存文件的哈希,以便在铸造完成时可以验证顺序。可以使用 sugar hash 找到) |
上传设置
Sugar 支持多种存储提供商——要使用的提供商由 uploadMethod 设置定义。根据提供商的不同,可能需要额外的配置。
下表提供了可用设置的概述:
| 设置 | 选项 | 接受的值 | 描述 |
|---|---|---|---|
| uploadMethod | 配置用于上传图像和元数据的存储 | ||
| "bundlr" | 使用 Bundlr 上传到 Arweave,并使用 SOL 支付(适用于主网和开发网;文件在开发网上仅存储 7 天) | ||
| "aws" | 上传到 Amazon Web Services(AWS) | ||
| "pinata" | 上传到 Pinata(适用于所有网络;有免费和分级订阅) | ||
| "sdrive" | 使用 SDrive Cloud Storage 上传到 Shadow Drive | ||
| awsConfig | (使用 "aws" 时必需) | ||
| bucket | 字符串 | AWS 存储桶名称 | |
| profile | 字符串 | 从凭证文件名使用的 AWS 配置文件 | |
| directory | 字符串 | 存储桶内要上传项目的目录。空字符串表示将文件上传到存储桶根目录。 | |
| pinataConfig | (使用 "pinata" 时必需) | ||
| JWT | 字符串 | JWT 认证令牌 | |
| apiGateway | 字符串 | 连接到 Pinata API 的 URL | |
| apiContent | 字符串 | 用作创建资产链接基础的 URL | |
| parallelLimit | 整数 | 并发上传数量;使用此设置避免速率限制 | |
| sdriveApiKey | 字符串 | SDrive API 密钥 (使用 "sdrive" 时必需) |
特定上传方法设置:
守卫设置
guards 设置允许您指定在 Candy Machine 上启用哪些守卫。
Candy Machine 支持多种守卫,这些守卫提供对铸造的访问控制。守卫可以配置为"default"守卫组或出现在多个守卫组中。
