I am currently focusing on solana on-chain program development. The solana protocol at large is interesting but I'm choosing program development as my entrypoint.

Developer Environment

Here's some tools and concepts to help get started with solana on-chain program development.

For most of the program development process you're going to want to deploy your program to localnet which is just a local version of solana running on your machine. From my understanding you can't debug a deployed program unless you have direct access to the network which means you would need to be or have access to a devnet validator.

The following repo is some boilerplate code and tooling for compiling your program from rust to the bpf binary:

mvines' solana program template

So here's a few high level steps:

  1. download solana
  2. build and solana to run locally
  3. download the program template above
  4. use the custom cargo commands "cargo build-bpf"
  5. then deploy the compiled .so file to localnet
  6. code, test, debug and iterate

Today I completed steps 1-5. I'm going to build a simple multi-sig onchain wallet program. Here's the repo to follow along.