Releases: onflow/freshmint
Freshmint CLI v0.5.0
Installation
npm install -g freshmintFollow the getting started guide to create your first Freshmint project.
Changelog
Freshmint CLI v0.4.0
Changelog
- Add
burncommand (#114)
Example
# Destroy 3 existing NFTs, the IDs of which are 29, 35, and 36
fresh burn 29 35 36Freshmint Core v0.4.0
Installation
npm install @freshmint/core@0.4.0Changelog
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
limitparameter 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 freshmintCLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-projectNow follow the steps in my-project/README.md to get started!
v0.0.29 (Alpha)
Installation
# Install the Freshmint CLI
npm install -g freshmint@0.0.29-alpha# Install as a local NPM package
npm install freshmint@0.0.29-alphaCLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-projectChangelog
v0.0.28 (Alpha)
Installation
# Install the Freshmint CLI
npm install -g freshmint@0.0.28-alpha# Install as a local NPM package
npm install freshmint@0.0.28-alphaCLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-projectChangelog
- 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 freshmint@0.0.27-alpha# Install as a local NPM package
npm install freshmint@0.0.27-alphaCLI Quick Start
# Create a new Freshmint project in ./my-project
fresh start my-projectChangelog
- Switch from MIT to Apache 2.0 license (#94)
- Update
NFTCollectionDisplayViewto 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@alphaQuick Start
# Create a new Freshmint project in ./my-project
fresh start my-projectChangelog
v0.0.18 (Alpha)
Installation
# Install Freshmint CLI
npm install -g freshmint@alpha
# Install as local NPM package
npm install freshmint@alphaQuick Start
# Create a new Freshmint project in ./my-project
fresh start my-projectChangelog
- Pin remote files to IPFS by specifying an HTTP URL in CSV file (#74).
- Add
FreshmintMetadataViews.BlindNFTview toBlindNFTandEditionNFTcontracts (#79).- This also adds a generic get_nft.cdc Cadence script that works for standard, blind and revealed NFTs.
- Validate
freshmint.yamland 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/cryptosubmodule to the"exports"object inpackage.json(13907bc).