Releases: onflow/freshmint
Freshmint CLI v0.5.0
Installation
npm install -g freshmint
Follow the getting started guide to create your first Freshmint project.
Changelog
Freshmint CLI v0.4.0
Changelog
- Add
burn
command (#114)
Example
# Destroy 3 existing NFTs, the IDs of which are 29, 35, and 36
fresh burn 29 35 36
Freshmint Core v0.4.0
Installation
npm install @freshmint/[email protected]
Changelog
Standard Edition Updates
The edition template now allows developers to create either closed or open editions. Open editions are editions that have no predefined limit, whereas a closed edition must contain a fixed number of NFTs determined before minting.
Previously, an edition had two fields: size
and count
. Freshmint only supported closed editions. As such, every edition had to specify a fixed size.
An edition now contains the fields limit
, size
and burned
:
pub struct Edition {
pub let id: UInt64
/// The maximum number of NFTs that can be minted in this edition.
///
/// If nil, the edition has no size limit.
///
pub let limit: UInt64?
/// The number of NFTs minted in this edition.
///
/// This field is incremented each time a new NFT is minted.
/// It cannot exceed the limit defined above.
///
pub var size: UInt64
/// The number of NFTs in this edition that have been burned.
///
/// This field is incremented each time an NFT is burned.
///
pub var burned: UInt64
}
How to mint a closed edition
See the updated edition documentation for full instructions.
It is still possible to mint a closed edition like before. It requires a change when calling the createEditions
function.
When creating an edition, include the limit
field instead of size
:
const edition = {
// Previously this field was named `size`:
// size: 100
limit: 100,
metadata: {
name: 'Edition 1',
description: 'This is the first edition',
thumbnail: 'bafybeidlkqhddsjrdue7y3dy27pu5d7ydyemcls4z24szlyik3we7vqvam',
}
};
const editions = await client.send(contract.createEditions([edition]));
Blind Edition Updates
See the updated blind edition documentation for full instructions.
The blind edition template was updated in two ways:
- Same as the standard edition template above, it now accepts a
limit
parameter instead ofsize
(to support open editions). - It now shows an NFT's edition at mint time instead of at reveal time. The serial number is still hidden. We call these "partially-blind editions".
How to mint a partially blind edition
const edition = {
// Previously this field was named `size`:
// size: 100
limit: 100,
metadata: {
name: 'Edition 1',
description: 'This is the first edition',
thumbnail: 'bafybeidlkqhddsjrdue7y3dy27pu5d7ydyemcls4z24szlyik3we7vqvam',
}
};
const editions = await client.send(contract.createEditions([edition]));
for (const edition of editions) {
// THE OLD WAY
//
// const mintedNFTs = await client.send(contract.mintNFTs(
// randomizedNFTs,
// { bucket: edition.id }
// ));
const randomizedSerialNumbers = shuffle(edition.serialNumbers);
// THE NEW WAY: specify an editionId and a list of serialNumbers.
//
const mintedNFTs = await client.send(contract.mintNFTs({
editionId: edition.id,
serialNumbers: randomizedSerialNumbers,
bucket: edition.id
}));
}
Other Changes
Freshmint CLI v0.1.0 (Alpha)
Installation
# Install the Freshmint CLI
npm install -g freshmint
CLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-project
Now follow the steps in my-project/README.md
to get started!
v0.0.29 (Alpha)
Installation
# Install the Freshmint CLI
npm install -g [email protected]
# Install as a local NPM package
npm install [email protected]
CLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-project
Changelog
v0.0.28 (Alpha)
Installation
# Install the Freshmint CLI
npm install -g [email protected]
# Install as a local NPM package
npm install [email protected]
CLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-project
Changelog
- Add support for on-chain royalties in Node.js library (#103)
- See documentation for usage examples.
- Throw error when collection is missing a deployed address (#99)
v0.0.27 (Alpha)
Installation
# Install the Freshmint CLI
npm install -g [email protected]
# Install as a local NPM package
npm install [email protected]
CLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-project
Changelog
- Switch from MIT to Apache 2.0 license (#94)
- Update
NFTCollectionDisplayView
to support HTTP media (#98)- See documentation for usage examples.
- Documentation updates
- Add documentation for allowlists
- Update documentation for
EditionNFT
- Fix typo in README (#92) - @justinawrey
v0.0.20 (Alpha)
Installation
# Install Freshmint CLI
npm install -g freshmint@alpha
# Install as local NPM package
npm install freshmint@alpha
Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-project
Changelog
v0.0.18 (Alpha)
Installation
# Install Freshmint CLI
npm install -g freshmint@alpha
# Install as local NPM package
npm install freshmint@alpha
Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-project
Changelog
- Pin remote files to IPFS by specifying an HTTP URL in CSV file (#74).
- Add
FreshmintMetadataViews.BlindNFT
view toBlindNFT
andEditionNFT
contracts (#79).- This also adds a generic get_nft.cdc Cadence script that works for standard, blind and revealed NFTs.
- Validate
freshmint.yaml
and return better error messages for invalid configuration.
v0.0.17 (Alpha 2)
This is a small release to fix a package configuration error in the previous v0.0.17 Alpha 1 release.
Installation
npm install -g freshmint@alpha
π Bug Fixes
- Add
freshmint/crypto
submodule to the"exports"
object inpackage.json
(13907bc).