程序
创建压缩 NFT
mplx bg nft create 命令在现有的默克尔树中铸造压缩 NFT。如果您还没有默克尔树,请先创建一棵。
基本用法
交互式向导(推荐)
mplx bg nft create --wizard
指定特定树
mplx bg nft create my-tree --wizard
基于文件创建
mplx bg nft create my-tree --image ./nft.png --json ./metadata.json
基于 URI 创建
mplx bg nft create my-tree --name "My NFT" --uri "https://example.com/metadata.json"
参数
| 参数 | 描述 |
|---|---|
TREE | 树名称(已保存)或默克尔树地址(向导模式下可选) |
选项
| 选项 | 描述 |
|---|---|
--wizard | 使用交互式向导 |
--name <value> | NFT 名称 |
--uri <value> | 现有元数据 URI |
--json <value> | JSON 元数据文件路径(需要 --image) |
--image <value> | 图片文件路径 |
--description <value> | NFT 描述 |
--attributes <value> | "trait:value,trait:value" 格式的属性 |
--animation <value> | 动画/视频文件路径 |
--project-url <value> | 外部项目 URL |
--symbol <value> | 链上符号 |
--royalties <value> | 显式叶子版税 %(0–100,允许小数,例如 7.5)。退出集合继承 |
--inherit-royalties | 存储继承哨兵 65535 和空叶子创作者。需要带 Royalties 插件的 --collection。当集合有 Royalties 且省略 --royalties、--creator 和 JSON seller_fee_basis_points 时为默认 |
--creator <address>:<share> | 叶子分成(可重复;份额合计须为 100)。显式叶子铸造时默认是付款者 100%。即使省略 --royalties 也会退出继承。不能与 --inherit-royalties 同时使用 |
--collection <value> | Core 集合地址(必须有 BubblegumV2)。Metaplex Core 集合 |
--owner <value> | 叶子所有者公钥(默认为付款者) |
全局标志
| 标志 | 描述 |
|---|---|
-c, --config <value> | 配置文件路径。默认为 ~/.config/mplx/config.json |
-k, --keypair <value> | 密钥对文件或 Ledger 路径(例如:usb://ledger?key=0) |
-r, --rpc <value> | 集群的 RPC URL |
--json | 以 JSON 格式输出 |
示例
- 使用向导创建:
mplx bg nft create --wizard
- 使用向导指定特定树创建:
mplx bg nft create my-tree --wizard
- 使用现有元数据 URI 创建:
mplx bg nft create my-tree --name "My NFT" --uri "https://arweave.net/xxx"
- 使用本地文件创建:
mplx bg nft create my-tree --image ./artwork.png --json ./metadata.json
- 使用元数据标志创建:
mplx bg nft create my-tree \
--name "Cool NFT #1" \
--image ./nft.png \
--description "一个非常酷的压缩 NFT" \
--attributes "Background:Blue,Eyes:Laser,Hat:Crown" \
--royalties 5
- 在集合中创建(集合有 Royalties 插件时自动继承):
mplx bg nft create my-tree \
--name "Collection Item #1" \
--image ./nft.png \
--collection 7kPqYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 强制从集合 Royalties 插件继承:
mplx bg nft create my-tree \
--name "Inherited cNFT" \
--uri "https://arweave.net/xxx" \
--collection 7kPqYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
--inherit-royalties
- 显式叶子版税与创作者分成(退出继承):
mplx bg nft create my-tree \
--name "Split cNFT" \
--uri "https://arweave.net/xxx" \
--collection 7kPqYxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
--royalties 7.5 \
--creator Addr111111111111111111111111111111111111111:60 \
--creator Addr222222222222222222222222222222222222222:40
输出
Uploading image... ✓
Uploading metadata... ✓
Creating compressed NFT... ✓
--------------------------------
Compressed NFT Created!
Tree: my-tree
Owner: YourWalletAddressHere
Asset ID: CNFTAssetIdHere
Royalties: inherited (leaf sentinel 65535)
Signature: 5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Explorer: https://solscan.io/tx/5xxx...
--------------------------------
元数据 JSON 格式
使用 --json 时,您的元数据文件应遵循以下结构:
{
"name": "My NFT",
"symbol": "MNFT",
"description": "NFT 描述",
"seller_fee_basis_points": 500,
"attributes": [
{ "trait_type": "Background", "value": "Blue" },
{ "trait_type": "Rarity", "value": "Rare" }
],
"properties": {
"files": [
{ "uri": "", "type": "image/png" }
]
}
}
image 字段将自动填充上传的图片 URI。
如果设置了 seller_fee_basis_points,CLI 会将其视为显式叶子费率,不会从集合继承。
继承版税
铸造到带有 Royalties 插件 的 Core 集合时,CLI 可以存储继承哨兵(65535)和空叶子创作者,而不是把集合费率复制到每个 cNFT。DAS 会解析集合费率用于展示。参见读取继承版税。
mplx bg collection create \
--name "My Compressed Collection" \
--uri "https://example.com/collection.json" \
--royalties 5
| 意图 | 标志 |
|---|---|
| 自动继承 | --collection <COL>,并省略 --royalties、--creator 和 JSON seller_fee_basis_points |
| 强制继承 | --collection <COL> --inherit-royalties |
| 显式叶子费率 | --royalties <0-100>(允许小数)。退出继承 |
| 显式分成 | --creator <ADDR>:<share>(可重复;合计 100)。即使没有 --royalties 也会退出继承(叶子费率则为 0%) |
--inherit-royalties 需要带 Royalties 插件的 --collection,且不能与 --royalties、--creator 或 JSON seller_fee_basis_points 同时使用。仅用 mplx core collection create 不够——集合需要 BubblegumV2(若要继承还需要 Royalties)。
注意事项
- 树参数可以是已保存的树名称或公钥地址
- 如果树是私有的,您必须是树权限才能铸造
- 如果树是公开的,任何人都可以铸造 NFT
- RPC 必须支持 DAS API
- 仅限 Bubblegum V2 - 这些命令适用于 Bubblegum V2 树,并使用 Metaplex Core 集合(不是 Token Metadata 集合)
- 属性格式:
"trait:value,trait:value"- 冒号分隔 trait 和 value,逗号分隔对 - 所选集合有 Royalties 插件时,向导会提供继承与显式版税两种选择
