Smart Contract Project Templates

This is a beta version of the Solana Toolkit, and is still a WIP. Please post all feedback as a GitHub issue here.

Choose from one of the below scaffolds to generate a new project workspace:

  • Anchor - A popular Rust-based framework for creating Solana smart contracts.
  • create-solana-program - In-depth workspace generator for either Anchor smart contract development or Native smart contract, including JavaScript and Rust clients.
  • Web App Templates - Generator for new projects that connects a Solana smart contract to various frontend stacks, includes wallet connector setup.

Anchor

anchor init

This generates a basic workspace to be able to write an Anchor rust smart contracts, build, test, and deploy. For more information, read the anchor init doc.

Create Solana Program

npx create-solana-program

This generates an in-depth workspace for either Anchor smart contract development or Native smart contract development with either a Javascript Client, Rust Client, or both. For more information, read the create-solana-program doc.

Web App Template

npx create-solana-dapp

This initializes a new project that connects a Solana smart contract to a typescript frontend with a wallet connector. For more information, read the web app template doc.

Mobile App Template

yarn create expo-app --template @solana-mobile/solana-mobile-expo-template

This is initializing a new project using the Expo framework that is specifically designed for creating mobile applications that interact with the Solana blockchain.

Update an Existing Project

npx create-solana-program

You can add the Solana program scaffold to an existing project by following this guide.

Standard Project Layouts

For best practices on smart contract file structure, read this guide.

On this page

Edit page