配置文件

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整数介于 0100 之间的值

虽然链上元数据存储最多 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"守卫组或出现在多个守卫组中。