Core Concepts

To build on Solana, it's essential to understand key concepts unique to Solana development. This section covers the core concepts you need to understand as you start building on Solana, including accounts, transactions, programs, and more.

Accounts

All data on the Solana blockchain is stored as an Account. The structure of the Solana blockchain resembles a key-value store, in which the key is the on-chain address and the value is an Account.

Learn more about Accounts.

Transactions and Instructions

To interact with the Solana network, a user must send a transaction. A transaction is a set of one or more instructions—an instruction is a specific operation to be processed. The execution logic for an instruction is stored on a program deployed to the Solana network.

Learn more about Transactions and Instructions.

Fees

There are three different types of fees that can be incurred when using the Solana blockchain:

  • Transaction Fees: A fee to have validators process transactions & instructions
  • Prioritization Fees: An optional fee to boost a transaction's processing order
  • Rent: A withheld balance to keep data stored on-chain

Learn more about Fees on Solana.

Programs on Solana

On Solana, smart contracts are called Programs. Each program is stored in an on-chain account and contains executable code with specific instructions. These instructions represent the program's functionality and are invoked by sending a transaction to the network.

Learn more about Programs on Solana.

Program Derived Address

Program-derived addresses (PDAs) allow developers to create hashmap-like structures on-chain using a predefined set of inputs (e.g. strings, numbers, and other account addresses). PDAs allow for two important use cases:

  • Deterministic Account Addresses: Predefined inputs (seeds) and a program ID are combined to deterministically derive an address.
  • Program Signing: A Solana programs can sign for PDAs, which are derived from its program ID.

Learn more about Program Derived Address.

Cross-program Invocation

Cross-program invocation (CPI) occurs when one program invokes an instruction from another. This allows for the composability of Solana programs. To conceptualize the concept, imagine a program's set of instructions as a set of API endpoints. A CPI occurs when one endpoint invokes another.

Learn more about Cross Program Invocation.

Tokens

Tokens are digital assets that represent ownership over diverse categories of assets. Tokenization enables the digitalization of property rights—a fundamental component for managing fungible and non-fungible assets.

  • Fungible Tokens: Interchangeable and divisible assets of the same type and value (ex. USDC).
  • Non-fungible Tokens (NFT): Ownership of indivisible assets (e.g. artwork).

Learn more about Tokens on Solana.

Clusters and Endpoints

The Solana blockchain has several different groups of validators, known as Clusters. Each clusters serves a different purpose and contains dedicated nodes to fulfill JSON-RPC requests. There are three primary clusters on the Solana network, shown in the table below.

NameEndpointUse
Mainnethttps://api.mainnet-beta.solana.comProduction
Devnethttps://api.devnet.solana.comDeveloper experimentation
Testnethttps://api.testnet.solana.comValidator testing

Learn more about Clusters and Endpoints.

Is this page helpful?

सामग्री तालिका

पृष्ठ संपादित करें
Core Concepts | Solana