Stargaze is the first interoperable layer-1 network for NFTs, providing features such as zero gas fees, a native NFT launchpad and marketplace, and interoperability with the Cosmos and Ethereum networks.
Read below to learn how to create an NFT Collection using IPFS and stargaze.
Prerequisites:
1. Start by opening a new terminal window. Run the following commands to clone the Stargaze public tools and create a new project:
Copy the output of this command, you will need it in the next step.
3. Make a copy of the config.example.js file called config.js.
Open the config.js file and fill in the mnemonic and address fields with the information from the previous command’s output.
//// ACCOUNT INFO ////
// The account seed phrase to use for deployment
mnemonic:
'enlist hip relief stomach skate base shallow young switch frequent cry park',
// Your STARS address
account: 'stars1...',
5. Next, we need to create an IPFS bucket on Filebase.
6. Select ‘Buckets’ from the left sidebar menu, or navigate to.
Select ‘Create Bucket’ in the top right corner to create a new bucket for your NFTs.
7. Enter a bucket name and choose the IPFS storage network to create the bucket.
Bucket names must be unique across all Filebase users, be between 3 and 63 characters long, and can contain only lowercase characters, numbers, and dashes.
8. Now, upload your NFTs to Filebase using the web console and selecting ‘Folder’, then select the folder that contains your NFT files.
These files need to be named in sequential order, such as 0.png, 1.png, 2.png, etc.
You may also include metadata.json files in this folder, if desired. The .json file for each NFT should be in the format:
9. You will see your folder uploaded as a single object:
10. Copy the CID of your folder:
11. Navigate to your IPFS Folder using the Filebase IPFS gateway to see your folder’s files:
https://ipfs.filebase.io/ipfs/IPFS_CID
12. In your config.js file, configure the following lines to reflect your NFT collection’s information:
//// COLLECTION INFO ////
// The name of your collection
name: 'Collection Name',
// The 3-7 letter ticker symbol for your collection
symbol: 'SYM',
// Project description
description: 'An NFT Collection',
// Link to image to use as the main image for the collection.
// Either IPFS or valid http links allowed. Gif compatible.
// (at least 500 x 500 pixels)
image:
'ipfs://IPFS_CID/1.png',
Replace IPFS_CID with your IPFS folder’s CID that you copied previously.
13. Then, configure the following lines to determine mint price, number of NFTs allowed per wallet, and other factors:
//// MINTER CONTRACT ////
// The base URI to be used to programatically mint tokens
baseTokenUri: 'ipfs://...',
// The number of tokens to mint
numTokens: 100,
// The price (in STARS) for your NFTs (minimum 50 STARS)
unitPrice: 100,
// The max amount of NFTs an address can mint
perAddressLimit: 1,
// The date when the sale goes live
// If whitelist is enabled, only whitelisted addresses will be able to purchase
// startTime in ISO format
startTime: '2022-03-11T21:00:00.000Z',
// The minter contract address
// Get this after running `yarn minter`
minter: 'stars1...',
// SG721 contract address
// Get this after running `yarn minter`
sg721: 'stars1...',
14. Save your configuration file.
15. To whitelist an address or list of addresses, use the following command:
16. Next, get your minter’s contract using the following command:
yarn minter
Then, copy the first contract_address value, and input it for the minter contract address, then copy the second contract_address value and input it for the SG721 contract address in the config.js file:
// The minter contract address
// Get this after running `yarn minter`
minter: 'stars1...',
// SG721 contract address
// Get this after running `yarn minter`
sg721: 'stars1...',
17. To mint an NFT to a specific address, use the command:
yarn mint --to [address]
This will mint the next sequential token ID to the specified address.
4. Receive some testnet funds by joining the server and requesting testnet stars in the #faucet channel.
To do this, navigate to . If you don’t have an account already, , then log in.
18. To verify that everything is working as expected, you can view testnet transactions using the .
19. If you’re ready to launch this project on the Stargaze mainnet network, you can follow