Solana NFT Developer Tools Ranked by GitHub Stars
There are an estimated 25,000 developers currently working on the Solana ecosystem, by analysing the most popular developer tools we can gain insight into the technology stack behind the most successful NFT collections.
1. Candy Machine CLI
167 Stars
2000 Forks
Candy Machine is built on top of the Metaplex CLI, allowing for developers to easily generate NFTs containing images and relevant metadata. Candy Machine is a hall mark of fair mints thanks to its ‘fair auction’ architecture.
2. Solita
87 Stars
21 Forks
Solita allows developers to translate Solana Rust programs into low level TypeScript, a programming language capable of facilitating multiple object-based architectures. Solita requires Anchor or Shank to extract Rust from the interactive data language.
3. Amman
49 Stars
13 Forks
Amman is a locally run Solana validator, providing a range of tools which allow developers to test Solana software development kits, libraries and apps. Amman is considered a mandatory tool for all developers building and testing Solana NFT projects.
4. Shank
46 Stars
8 Forks
Shank provides Solana developers with the ability to extract Rust Solana programs using attributed macros. This can be used in conjunction with tools such as Solita to generate a low level software development kit for the particular Solana app in TypeScript.
5. Beet
23 Stars
8 Forks
Beet is a boiler plate ‘account management’ layer allowing NFT collection developers to manage public keys as users. Beet also increases the safety of NFT holders and adds capabilities such as GPA builders and a serializer.
6. Cusper
3 Stars
3 Forks
Cusper is the standard error handling framework for Solana apps. Cusper can automatically resolve custom program bugs and error codes while logging everything into program logs, making dealing with errors significantly easier.
7. Rust Bin
1 Stars
2 Forks
Rust Bin is a frame work to help developers reduce Bincode output, which is computationally expensive in terms of cycles and call depth. This is achieved by synchronising a Rust binary version with the related Rust crate.