Beginning Solana Development
- There are 2 ways to develop for the Solana blockchain.
- dApps -- Creating off-chain applications that interact with Solana (via solana-web3.js or other JSON RPC API libraries). A great onboarding point for those unfamiliar with Rust.
- Programs (smart contracts) -- Creating on-chain that run on the Solana Runtime, forever. These are built with Rust, C or C++
- Programs (smart contracts) come in 2 types:
- Native Programs -- Core Solana programs like: System, Staking, Voting
- Solana Program Library (SPL) -- Other common use programs like: Token (ERC20 equivalent, includes NFTs)
- Solana is not EVM (Ethereum Virtual Machine) compatible, but there is a bidirectional token bridge for Solana-Ethereum projects.
- Solana uses Proof-of-History (PoH) for ordering transactions and Proof-of-Stake (PoS) for consensus.
- State in Solana is an account (think of it as a file, but you're paying rent for keeping it). There are other accounts too! -- this can be confusing.
- Solana's native token is SOL and can be sub-divided into small units called lamports.
Resources: