A very gentle introduction to Solana programming through Seahorse Lang
A path to becoming a program (smart-contract) developer on Solana for Python developers. You don't need any degree or web 3.0 experience.
This course provides an introduction to the uninitiated in web3 to Solana development. Solana development has a steep learning curve because:
- Solana Programming Model: Solana account model is not for the faint hearted. But once one gets the hang of it, it’s one of the most excited frameworks to work with.
- Rust Lang: the language used to code programs or smart contracts on Solana. Rust is not the easiest language to learn.
Seahorse lang is built to bypass one of these two barriers, more specifically the latter.
Developers gain Python's ease-of-use, while still having the same safety guarantees as every Rust program on the Solana chain. Low-level memory problems are handled by default, letting you worry about the important stuff.
- Gain an immersive understanding of the Solana account model
- Understand how to write Solana programs using Python and Seahorse lang
- Learn how to make full-stack decentralised applications using Python and Javascript
- Learn the very basics of Anchor and Rust using Seahorse lang
- Python programming skills
- Solana basics
The main focus of this Chapter will be to dive straight into the writing a Seahorse program without getting into the nitty-gritties of installing CLIs and dependancies. We will be using Solana Playground to write, test and publish our Seahorse Program. We will also write Anchor tests for our program and finally write a frontend in ReactJS.
We will focus on learning the very basics of Solana Core Programming.
In this chapter we will learn how to build a Counter App, and use Program Derived Addresses (PDAs) to do so. The program is similar to the above, but the use of PDAs opens up a new paradigm to the learners which is crucial for Solana Programming.
This chapter contains a glossary of important topics/words that readers should ideally know before proceeding to chapter 1.
- Primer on Blockchain and Solana
- Intro to blockchain
- Blocks
- Leader
- Validators
- Proof of History (PoH) VDF
- Account Model
- Intro to Accounts
- Mutable / Immutable
- Transaction parallelisation
- Program Derived Addresses (PDAs)
- Instructions and Transactions
- Instructions
- Anatomy of intructions
- Transactions
- Anatomy of transactions
- Vote vs Non-vote transactions
- Versioned transactions
- Lookup Tables
- Programs
- Introduction to programs
- State
- Data
- Native
- SPL
- Solana Program Library (SPL)
- Token Program
- spl-token-cli
- Associated Token Account Program
- Mint Account
- Token Metadata Program
- Fungible Tokens
- Fungible assets
- Non-Fungible tokens (NFTs)