Beginner Launch Tutorial - Building an NFT Project with Niftory Web3 APIs
Niftory is a third party partner with Dapper Labs that provides a set of APIs for interacting with the Flow Blockchain, all without writing any Cadence contracts, transactions or scripts. Niftory does an excellent job of providing the core functionality of most NFT projects, that allows you to focus on your project and app, instead of the complexities of smart contracts on Flow.
This tutorial uses the MonsterMaker app as inspiration to create a similar app with Niftory that mints MonsterMaker NFTs.
MonsterMaker is an example dApp that demonstrates the basic structure of a Flow blockchain app that works with the Dapper Platform.
MonsterMaker x Niftory Example Github Repo:
Add NFTs to Niftory
- Create Account on Niftory
- Initialize the SmartContract
- Create a Set
- Add Collectibles to the Set. We will use some pre-generated Monsters for this example.
Add information about your NFT. You can set a limit on the number of NFTs that can be minted and specify the rarity of the NFT:
Upload the image for your NFT:
Add any blockchain metadata about the NFT:
Your NFT will be added:
- Mint the Collectible. This will mint the NFTModel that Niftory uses to the blockchain, which will allow the NFTs to be minted properly.
Build the App
- Clone the repo: ‣
- Go to the
- Add API Key, Client ID and Client Secret to the
- Add contract and transactions to your Dapper Organization and App by following the steps outlined in this blog post:
- Add a new App
- Add the contract. The address will be in the form of
A.<ADDRESS>.<NAME>. In the example below this will be
- Add the public and storage paths using the CollectionPath (ie
- Download the Dapper Transactions, and add
setup.cdcas a Custom transaction and
purchase.cdcas a Purchase transaction. Copy and paste the contents of
metadata.cdcto the Metadata Script section for the Purchase transaction.
- Launch Sample App - Go to Drops and your NFT will be displayed
> yarn install > yarn dev
You can easily modify/theme/style the UI:
Clicking on a Monster will allow a user to Mint that monster: