Solana for Developers

Overview: Voting Program

A high level overview of the project you will be building in this module.

In this module, you will build a voting program in native rust. The program will allow users to create polls with a voting window.

Module Goals

By building the project in this module, you will learn:

  • What program derived addresses (PDA) are and how they fit into your development arsenal.
  • The concept of Slots on Solana.
  • How to manage and manipulate multiple data accounts on Solana. In the last project, you worked with one, in this project, we're taking it up a notch.
  • How to calculate sizes of your data accounts for rent exemption.
  • The concept of account discriminators.
  • Compute unit (CU) optimization to ensure your programs only cost as much as they need to and not a lamport more.
  • Cross Program Invocations (CPI) to system program instructions. You already covered this briefly in the last section where you created an account for your counter.
  • How to do certain security checks and a few things to look out for when writing programs.
  • How to write custom errors for your program.
  • Deploying Solana programs on Testnet and considerations associated with it.

Last updated on