Share a collection with somebody¶
A cook writes your copy and holds everything. Export writes somebody else's, and who that somebody is decides what goes in it.
Open the Set and press Export…, or run nfty export. Four presets cover the usual reasons:
| Preset | Art | Marketplace metadata | nfty metadata | CookBook | Sealed |
|---|---|---|---|---|---|
| Marketplace | ✓ | ✓ | -- | -- | -- |
| Asset pack | ✓ | ✓ | ✓ | -- | -- |
| Full project | ✓ | ✓ | ✓ | ✓ | -- |
| Sealed critique | ✓ | ✓ | ✓ | -- | ✓ |
A preset is a starting point, not a mode. Every box stays yours to change afterwards, and sealing is a switch you can put on any of the four.
nfty export ./collection --out ./dist --preset marketplace
nfty export ./collection --out ./dist --preset assetpack
nfty export ./collection --out ./dist --preset fullproject --book mybook.cbk
The one you are most likely to get wrong¶
nfty/NNNN.json records, for every asset, the seed and the exact color rolled on every layer. A
buyer wants it. A public listing has no use for it, which is the whole reason the Marketplace
preset leaves it out.
Whatever you choose, the panel at the bottom of the dialog names every file that is going -- and the terminal prints the same list. Read it. It is generated by the code that does the writing, so it cannot promise one thing and ship another.
Publishing to a site¶
You get Chest Demo.set holding images/, metadata/ and set.json. The export is named after the
collection, not the folder you happened to cook into.
Prefer loose files for an uploader? Add --folder.
Selling an asset pack¶
Everything the Marketplace preset ships, plus nfty/ -- so the buyer gets per-asset DNA and the
rarity of every trait. They do not get the CookBook, so they cannot mint a second edition of
what they just bought.
Handing over the whole project¶
For a collaborator, or for your own backup. A Set records only its book's hash, never the book, so
you have to say which .cbk -- nfty cannot go and find it, and shipping the wrong one is worse than
shipping none.
Whoever holds this can regenerate the collection and cook a different one from your art. The dialog says so, in those words, before you press the button.
Sending it for critique¶
NFTY_KEY='a passphrase you chose' \
nfty export ./collection --out ./dist --preset sealedcritique \
--key env:NFTY_KEY --note "Draft for review"
You get Chest Demo.tin: the whole Set encrypted, marked view-only. Your reviewer opens it in nfty
with the passphrase, browses the art, reads the rarity table -- and every Save and Export is refused.
Read What sealing does and does not do before you rely on it. The short version: the encryption is real against anyone without the passphrase, and the refusal is nfty declining rather than arithmetic forbidding.
Send the passphrase by a different route than the file. There is no unseal command and no recovery
if you lose it -- sealing copies your Set, it never consumes it, so keep the original.
There is no --passphrase flag, on purpose
An argument on a command line is visible to every process on the machine while it runs, lands in
your shell history, and is captured verbatim by CI logs. --key names a source instead --
env:NAME, file:PATH, stdin or prompt -- and an unprefixed value is refused rather than
taken as the passphrase. Omit it and nfty asks at the terminal, echoing nothing. See
the CLI reference.
Opening what somebody sent you¶
Drop a .set or a .tin on the opening screen, or use Open Set… -- it takes both. A sealed
export asks for the passphrase, but first it tells you what it is: the collection's name, how many
assets, and the note the sender wrote. That much is readable without any key.
From the terminal: