Goal. Demystify on-chain data and transactions without code.
Cover. Accounts as data containers. Program vs user accounts. PDAs (conceptual). Transactions and instructions. Commitment levels.
Activity. Follow a real transaction on an explorer and annotate the parts.
Takeaway. “I can read a transaction.”
1) Module overview
Everything on Solana lives in accounts (data records) and is changed by programs (smart contracts). A transaction is an “envelope” carrying one or more instructions telling programs what to do. By the end, you’ll be able to spot who signed, which programs ran, which accounts changed, and what “finalized” means. See Solana’s Core Concepts on [Accounts](https://solana.com/docs/core/accounts#program-derived-addresses
**
3) and the JSON‑RPC guide to [Commitment levels](https://docs.solana.com/developing/clients/jsonrpc-api#commitment
•).
2) Plain‑English explainer: accounts → programs → PDAs → transactions
Accounts (the data layer).
- Accounts are addressable data records with an address (pubkey), lamports (SOL), and optional data.
- Every account has an owner program. Only that owner program can mutate its data or debit lamports, via its instructions. Reference: [Accounts — owners, data, lamports](https://solana.com/docs/core/accounts#program-derived-addresses
**
3).
Programs (the logic).
**
3).
PDAs, conceptually.
- Program‑Derived Addresses (PDAs) are deterministic addresses derived from seeds plus a program ID. They let programs “own” related accounts without private keys. The runtime authorizes PDA “signing.” Learn more in [Program‑derived addresses (PDA)](https://solana.com/docs/core/accounts#program-derived-addresses
•).
Transactions and instructions (the envelope).
- A transaction bundles: a recent blockhash (freshness), a list of accounts it will read or write, one or more instructions (what to do), and signatures proving approval.
- Commitment levels indicate increasing confidence the tx is on the durable chain: processed, confirmed, finalized. See [Commitment levels — finalized, confirmed, processed](https://docs.solana.com/developing/clients/jsonrpc-api#commitment
•).