I'm Hector and I have created this guide to help you launch your first NFT collection on Solana. If you're interested in working together, you can contact me on Twitter: @HectorNBardales.
At the end of the guide I have added resources and links to discord groups where you can ask questions. This guide doesn't replace the official documents of the programs that are used but instead compiles information so that it can hopefully be easier to understand and use.
If you have any questions, you can leave them as comments or join either the Metaplex or Hashlips Discord server and post them there.
The original guide Solana NFTs: Everything you need is still available, but all the necessary information for the new versions of the Metaplex software, Hashlips, and others will be documented here from now on.
Some of the changes are:
The following content can be used to interact with the Solana Blockchain through the creation of non fungible tokens. Solana operates by using Proof of Hsitory which allows it to have a much higher speed than other blockchains.
These are the programs used in this guide. Start by downloading Visual Studio Code for your system. Follow with the rest until yarn. The following can be done later.
You only need one, but can always test others.
Some commands require the use of your own custom RPC to prevent any timeouts or errors. Here is a list of some providers you can choose from:
Quicknode: Free and recommended for Mainnet (Remember to choose Mainnet Beta)
GenesysGo: Free, but due to this you might be rate limited on Mainnet.
RPC Info
What is it? Remote procedure call. It is used to interact with Solana.
Why use one? Speed and being able to mint without issues. You will be rate limited if you use the ones from Solana.
How to choose one? Consider the size of the project and number of users interacting with it.
Before proceeding to generate or create any metadata you must familiarize yourself with the correct metadata standard. The link show the standard for nonfungible tokens ie NFTs.
Collections are now defined onchain with an additional NFT called the Collection NFT.
A collection NFT is minted to the uploaders wallet as soon as a Candy Machine is created.
If you want a Collection NFT. Create an image and json file called collection.png and collection.json respectively. Here is more information about the Collection NFT.
For large collections you'll most likely generate the images from layers. Always check that the generated metadata matches the [token metadata standar](dI have listed the following generators:
I've added the main steps to follow. This sometimes includes some commands that you can copy/paste and hit enter to run.
Once again, keep in mind that this generator appends edition which is not used in Solana but can be deleted after generation.
The Hashlips Art Generator is available for free on Github. Start by opening up Visual Studio Code.
Clone the repo
Open the Hashlips Generator folder in an IDE. Create a new terminal and run yarn:
This should install yarn.
Add you layers into the Layers folder. Be sure to name each folder correctly.
Stay in the config.js file and change the namePrefix, description, and solanaMetadata. (baseUri doesn't need to be changed because your assets will be uploaded to Arweave by default when using the Candy Machine.)
Select the number of NFts to be generated:
Names must match the folder names.
This python based generator can generate image and metadata at very high speeds. It producdes graphs such as the one below to view trait rarity.
(Image from Solseum Generator Github)
To operate:
Install Python 3
Clone the repo
Locate the cloned folder. Your assets you go into the Input->Assets folder.
Edit the template.json file to match the token metdata standard.(If users require it I, comment and I'll create a fork following the new standard.)
Follow the instructions on how to generate based on your needs. The following command generates 100 NFTs for public minting.
Operation is similar to the Hashlips Generator. Follow the instructions on Github to create exclusions ie layers that cannot go together and forced combinations ie force layers to appeat together.
Once your assets are ready, you can move on to using the Solana Cli.
1. Install Solana Tool Suite by following the steps on that website.
Always confirm the installation was successful with:
Solana has Mainnet Beta, Devnet, and Testnet. For an official launch you must use Mainnet Beta. For testing purposes you should use Devnet.Your first project should begin on Devnet. Here you can use Solana that isn't real i.e. fake Sol.
2. Begin by changing cluster. Open your terminal and run:
Devnet:
For mainnet it's suggested to use an rpc such as Quicknode.
Mainnet:
3. Create a file system wallet:
The wallet, devnet.json, is stored on your device in the folder: ~/.config/solana. This is a hidden folder. To show a hidden folder on MacOS use cmd+shift+.
.
4. Set your keypair:
5. Add Solana and check balance of your wallet
If solana airdrop
fails, use a Sol Faucet.
For more info on steps 2-5 visit the Metaplex Docs: Solana Toolinh Required
Sugar is the new Candy Machine Cli. The Candy Machine is still the program in charge of interacting with Solana. Metaplex has simplified the process by creating Sugar to operate the program.
1. Install Sugar: Choose installation for your system.
2. Add a folder named assets into the metaplex folder. It should contain all your images and json files and your Collection NFT, if you want a new collection.
3. Create a config file: This file will contain the settings of the Candy Machine.
I've copied the sample from Metaplex below. You'll notice that creators are here. These creators are addresses that will receive the royalty fees.
(This is the sample configuration file provided on the Metaplex Docs)
This is a basic config file. The Metaplex Docs have other settings that can be addded if needed.
4. Upload your assets
One of the most common storages is Arweave. You can change the upload method in your configuration file.
Before uploading make sure all of the files in the assets folder are correct:
Before moving forward, if you are on mainnet it is highly recommended to use your own private RPC server. Quicknode is one of the providers.
Here is how you can use it:
To upload:
This will create a cache file named cache.json
If you used bundlr you will have an account funded and can with with
5. Deploy Sugar
Skip this step if you are not adding NFTs to an existing collection. If you are use:
Collection NFT MINT ID on Solscan.io example
Here I used the sample assets from Metaplex to and then set the collection to the address on the screen.
This is the result from setting a collection to an existing one:
The first option is to use use Sugar to directly mint.
There are several tools you can using including:
CAUTION this commands closes youre Candy Machine. It will retrieve the remaining funds.
You can also check bundlr balance and withdraw from bundlr:
You can do it like this
And upload data using tools such as Arloader
The link for metaboss above has lots of instructions. Therefore, I'll only add anything that might clear things up.
Test on devnet. When you're ready remember to change to mainnet or it will not work.
For many actions in Metaboss you'll need a mint list. Here is how you can get one using snapshot mints
:
Make sure to connect with the authority wallet.
Any questions that might help others will be added here.
collection
command from Sugar to set a new set of NFTs to a preexisting collection.sugar upload
my sugar bundlr balance
reuturns 0. Why?