Create your First NFT collection and Mint Tokens
Part 1 of the complete NFT tutorial series for deploying, minting, transferring, and listing NFTs.
Do you wish to deploy your own NFT token, mint NFTs, sell them on one of the leading marketplaces, or create your own NFT marketplace without knowing the underlying concept?
You are at the right place. In this tutorial, we will discuss end-to-end steps to create your NFT token with easy-to-use REST APIs in a fraction of the time; no need to learn solidity or node infrastructure; just learn a few API calls, and you are all set to go.
MetaKeep NFT Infrastructure
MetaKeep Enterprise NFT infrastructure allows you to fully customize your NFT contract and mint NFTs at scale:
-
NFT contract follows OpenZeppelin ERC721 standard and is fully compatible with OpenSea.
-
You can customize the contracts by setting up the royalty percentage, updating metadata, updating the fee receiver, and much more.
-
Completely owned by you and you only, so you have complete control over the smart contract.
-
You can Mint NFTs at scale on EVM-compatible blockchains like Polygon.
-
You and your users do not need to worry about the gas fees; you can pay us in USD.
Getting Started with MetaKeep NFT Contract
The first step is to get an API key; to do so, sign up here and copy your API key.
You can find an end-to-end working demo here.
Create your NFT collection
We will begin with creating a collection supported by some popular marketplaces like Open sea without writing any solidity code.
Step 1: Create a request with the following parameters
{
"nft": {
"name": < NFT Collection Name >,
"symbol": < NFT Collection Symbol >
},
"metadata": {
"name": < Name of the NFT collection>,
"description": <Description of NFT collection>,
"image": < NFT Collection Image>,
"external_link": <URL of NFT collection>,
"seller_fee_basis_points": < Royalty fee in basis points for secondary sales>,
"fee_recipient": < Address to which royalty fees would be paid to>
}
}
Step 2: Make a POST request to nft/createCollection
API
nft/createCollection
APIconst options = {
method: 'POST',
headers: {
accept: 'application/json',
'content-type': 'application/json'
},
body: JSON.stringify({
nft: {
name: "Metakeep_NFT",
symbol: "MTKNFT",
},
metadata: {
name: "Metakeep_NFT",
description: "Metakeep_NFT",
image: "https://metakeep.xyz/images/MetaKeep-1.png",
external_link: "https://metakeep.xyz",
seller_fee_basis_points: 1000,
fee_recipient: "0xa6D88EB4d2e1DD819019ccC13712992f98BABDB9",
},
})
};
fetch('https://api.metakeep.xyz/v2/app/nft/createCollection', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
This is what you should see as the API response.
{
status: 'QUEUED',
transactionId: 'c95a109b-32ad-4c87-921f-4759d046f517',
transactionHash: '0xbeb491b36c971d958c51a10f0c51758a248ad82e18caa51069666f5943a823f4',
transactionChainScanUrl: 'https://mumbai.polygonscan.com/tx/0xbeb491b36c971d958c51a10f0c51758a248ad82e18caa51069666f5943a823f4',
collection: '0xe4b8d2b9de9da98c57ae82d7cbd18f3574707a50'
}
Copy the collection address
Note the
collection
field in the response above. This is your NFT contract address. Copy this for the next step.If you have lost the collection address, you can make a request to the List Collections API to get the list of all created collections.
Mint an NFT token
Now let's mint a token inside the collection and issue it to a user.
Step 1: Create a request with the following parameters
{
"nft": {
"collection": <Collection address>
},
"to": <Mint token to this user. Can be an email or eth address>,
"metadata": <Token metadata>
}
Step 2: Make a post request to the nft/mint
API
nft/mint
APIconst options = {
method: 'POST',
headers: {
accept: 'application/json',
'content-type': 'application/json'
},
body: JSON.stringify({
to: {
email: '[email protected]'
},
metadata: {
name: 'Kittie #1',
description: 'My first NFT cat',
image: 'https://c.tenor.com/13FWU4hPOZEAAAAd/bitcoin-satoshi.gif'
}
})
};
fetch('https://api.metakeep.xyz/v2/app/nft/mint', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
Running the Demo
You can find the end-to-end working demo here. Follow these steps to run the demo:
Step 1: Update .env file
Update the .env file with the API key and user email address
to whom you want to issue the minted token.
Step 2: Run the script
Navigate to nfts/scripts
directory. Then, run the command:
npm install
npm run createCollectionAndMintToken
The demo will create an NFT collection, and wait for the transaction mining. Then, it will mint an NFT token and wait for transaction mining again. You will see the created collection address
and minted token id
in the output of the script.
Next Steps
Congratulations!!! You have successfully Minted the NFT token 🎉🎉.
NOTE: If you want to deploy your own NFT smart contract with a custom Logic, you should use our Lambda Infrastructure. You can read more about MetaKeep Lambda here.
In the following tutorials, we will discuss NFT P2P transfers, locking and unlocking NFT tokens to make them non-transferable, and much more. By the end of this tutorial series, you will have built a complete end-to-end solution for NFTs.
Updated about 2 years ago