設定ファイル
Sugarは、アセットをアップロードしてCandy Machineを設定するためのJSON設定ファイルを使用します – ほとんどの場合、ファイルは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"
}
}
}
]
}
}
設定ファイルは3つの主要な部分で構成されています:Candy Machine設定("tokenStandard"から"hiddenSettings")、アップロード設定("uploadMethod"から"sdriveApiKey")、ガード設定("guards")。
Candy Machine設定
Candy Machine設定は、アセットのタイプ、利用可能なアセット数、およびメタデータ情報を決定します。
| 設定 | オプション | 値/型 | 説明 |
|---|---|---|---|
| tokenStandard | |||
| "nft" | Non-Fungible asset(NFT) | ||
| "pnft" | Programmable Non-Fungible asset(pNFT) | ||
| number | Integer | 利用可能なアイテム数 | |
| symbol | String | NFTのシンボルを表す文字列 | |
| sellerFeeBasisPoint | Integer | クリエイターが共有するロイヤリティのベーシスポイント(550は5.5%を意味する) | |
| isMutable | Boolean | NFTのMetadata Accountを更新できるかどうかを示すブール値 | |
| isSequential | Boolean | ミント時に順次インデックス生成を使用するかどうかを示すブール値 | |
| ruleSet | Public Key | (オプション) ミントされたpNFTによって使用されるルールセット |
creators設定では、最大4つのアドレスとその割合シェアを指定できます。
| 設定 | オプション | 値/型 | 説明 |
|---|---|---|---|
| creators | 最大4人のクリエイター | クリエイターのリストとロイヤリティの割合シェア | |
| address | Public Key | クリエイターの公開鍵 | |
| share | Integer | 0から100の間の値 |
オンチェーンのメタデータには最大5人のクリエイターが保存されますが、Candy Machineはクリエイターの1人として設定されます。その結果、最大4人のクリエイターまでに制限されます。
シェア値の合計は100になる必要があります。そうでなければエラーが生成されます。
Candy MachineはNFTがミントされる時に最終的なメタデータを持たないように設定できます。これは、ミントが完了した後にリビール段階を計画している場合に便利です。この場合、隠されたNFTの「プレースホルダー」メタデータ値を指定できます:
| 設定 | オプション | 値/型 | 説明 |
|---|---|---|---|
| hiddenSettings | |||
| name | String | ミントの名前(sugar revealが機能するように、$ID$または$ID+1$ミントインデックス置換変数を使用する必要があります) | |
| uri | String | ミントのURI($ID$または$ID+1$ミントインデックス置換変数を使用可能) | |
| hash | String | 32文字のハッシュ(ほとんどの場合、これはミント番号とメタデータ間のマッピングを持つキャッシュファイルのハッシュで、ミント完了時に順序を確認できるようにする。sugar hashを使用して見つけることができます) |
アップロード設定
Sugarは様々なストレージプロバイダーをサポートしています – 使用するものはuploadMethod設定で定義されます。プロバイダーによっては、追加の設定が必要になります。
以下の表は利用可能な設定の概要を提供します:
| 設定 | オプション | 許可される値 | 説明 |
|---|---|---|---|
| uploadMethod | 画像とメタデータをアップロードするストレージを設定 | ||
| "bundlr" | Bundlrを使用してArweaveにアップロード、支払いはSOLで行われます(mainnetとdevnetの両方で動作;devnetではファイルは7日間のみ保存) | ||
| "aws" | Amazon Web Services(AWS)にアップロード | ||
| "pinata" | Pinataにアップロード(すべてのネットワークで動作;無料および階層サブスクリプション) | ||
| "sdrive" | SDrive Cloud Storageを使用してShadow Driveにアップロード | ||
| awsConfig | ("aws"が使用される場合に必須) | ||
| bucket | String | AWSバケット名 | |
| profile | String | 資格情報ファイル名から使用するAWSプロファイル | |
| directory | String | アイテムをアップロードするバケット内のディレクトリ。空文字列はバケットのルートディレクトリにファイルをアップロードすることを意味します。 | |
| pinataConfig | ("pinata"が使用される場合に必須) | ||
| JWT | String | JWT認証トークン | |
| apiGateway | String | Pinata APIに接続するURL | |
| apiContent | String | アセットリンクを作成するためのベースとして使用するURL | |
| parallelLimit | Integer | 同時アップロード数;この設定を使用してレート制限を回避 | |
| sdriveApiKey | String | SDrive APIキー ("sdrive"が使用される場合に必須) |
特定のアップロード方法の設定:
ガード設定
guards設定では、Candy Machineで有効にするガードを指定できます。
Candy Machineは、ミントへのアクセス制御を提供する多数のガードをサポートしています。ガードは「デフォルト」ガードグループに設定するか、複数のガードグループに表示させることができます。
