Solana Program Scaffold
This is a beta version of the Solana Toolkit, and is still a WIP. Please post all feedback as a GitHub issue here.
create-solana-program
initializes an in-depth workspace with everything you need for general Solana
smart contract development. This scaffold allows you to write either native rust
smart contracts or Anchor smart contracts.
Program Frameworks
After running this command, you'll have the option to choose between Shank and Anchor for the program framework:
-
Shank creates a vanilla Solana smart contract with Shank macros to generate IDLs. For more information on Shank, read its README.
-
Anchor creates a smart contract using the Anchor framework, which abstracts away many complexities enabling fast program development. For more information on the Anchor framework, read the Anchor book.
Anchor framework
For Anchor rust development, chose Anchor when asked which program framework to use. This will create a basic Anchor counter program with the following project structure for your program:
Native rust
For native rust development, make sure you chose Shank when asked which program framework to use. This will create a basic counter program with the following project structure for your program:
Generated Clients
Next, you'll have the option to choose between a JavaScript client, a Rust Client, or both.
-
JavaScript Client creates a typescript library compatible with web3.js.
-
Rust Client creates a rust crate allowing consumers to interact with the smart contract.
For further workspace customization and additional information, check out the
create-solana-program
README.
Build
After answering the above prompts, the workspace will be generated. To get started, build your program and clients by running:
To update an existing Anchor project to have this scaffold, read this guide.