In collaboration with our education partner metacamp.so
Native Programs
System Program: Create new accounts, allocate account data, assign accounts to owning programs, transfer lamports from System Program owned accounts and pay transaction fees.
Config Program: Add configuration data to the chain and the list of public keys that are permitted to modify it
Stake Program: Create and manage accounts representing stake and rewards for delegations to validators.
Vote Program: Create and manage accounts that track validator voting state and rewards.
BPF Loader: Deploys, upgrades, and executes programs on the chain.
Others:
Ed25519 Program: Verify ed25519 signature program. This program takes an ed25519 signature, public key, and message. Multiple signatures can be verified. If any of the signatures fail to verify, an error is returned.
Secp256k1 Program: Verify secp256k1 public key recovery operations (ecrecover).
Solana Program Library (SPL) Program
Token Program: Defines a common implementation for Fungible and Non Fungible tokens
Token Swap Program: A Uniswap-like exchange for the Token program on the Solana blockchain, implementing multiple automated market maker (AMM) curves.
Token-Lending Program: A lending protocol for the Token program on the Solana blockchain inspired by Aave and Compound
Others:
Associated Token Account: Defines the convention and provides the mechanism for mapping the user's wallet address to the associated token accounts they hold
Memo Program:
Validates a string of UTF-8 encoded characters and verifies that any accounts provided are signers of the transaction
Logs the memo, as well as any verified signer addresses, to the transaction log, so that anyone can easily observe memos and know they were approved by zero or more addresses by inspecting the transaction log from a trusted provider.
Name Service: Issues and manages ownership of domain names, Solana Pubkeys, URLs, Twitter handles, ipfs cid's etc..
Shared memory Program: Writes instruction data into the provided account's data
Stake Pool: Pools together SOL to be staked by an off-chain agent running a Delegation Bot which redistributes the stakes across the network and tries to maximize censorship resistance and rewards.
Program vs Data Account
Rent
What is rent for?
Storing data on accounts costs SOL to maintain, and it is funded by what is called rent.
If you maintain a minimum balance equivalent to 2 years of rent payments in an account, your account will be exempt from paying rent.
You can retrieve rent by closing the account and sending the lamports back to your wallet.
When to pay?
When referenced by a transaction
Once an epoch
Where does the rent go?
A percentage of rent collected by accounts is destroyed, while the rest is distributed to vote accounts at the end of every slot.