核心概念

Build a strong understanding of the core concepts that make Solana different from other blockchains. Understanding the "Solana programming model" through these core concepts is very important to maximize your success as a Solana blockchain developer.

Solana 账户模型 #

在 Solana 上,所有数据都存储在所谓的“帐户”中。 The way data is organized on the Solana blockchain resembles a key-value store, where each entry in the database is called an "account".

Learn more about Accounts here.

交易和指令 #

在 Solana上,我们发送 交易与网络交互。 交 易包括一个或多个指令, 每个交易代表一个待 处理的特定操作。 指令的执行逻辑是存储在部署到 Solana 网络的 programs 上。每个程序存储自己的一组指令。

Learn more about Transactions and Instructions here.

Solana 上的费用 #

Solana 区块链有几种不同类型的费用和成本,这些费用和成本是使用无许可网络所需的。 它们可以分为几种特定类型: 它们可以分为几种特定类型:

  • Transaction Fees - A fee to have validators process transactions/instructions
  • Prioritization Fees - An optional fee to boost transactions processing order
  • Rent - A withheld balance to keep data stored on-chain

Learn more about Fees on Solana here.

Solana 上的程序 #

在 Solana 生态系统中,“智能合约”被称为程序。 Each program is an on-chain account that stores executable logic, organized into specific functions referred to as instructions and called via instruction handler functions within the respective deployed program.

Learn more about Programs on Solana here.

程序派生地址 #

程序派生地址 (PDAs) 为 Solana 上的开发者提供了两个主要用例:

  • 确定性账户地址: PDAs 提供了一种机制,通过组合可选的“种子”(预定义输入)和 特定的程序 ID 来确定性地派生一个地址。
  • 启用程序签名: Solana 运行时允许程序为从其程序 ID 派生的 PDAs “签名”。

你可以将 PDAs 视为一种通过预定义的一组输入(例如字符串、数字和其他账户地址)在链 上创建类似哈希映射结构的方法。

Learn more about Program Derived Address here.

跨程序调用 #

跨程序调用(CPI)是指一个程序调用另一个程序的指令(instruction)。这种机制允许 Solana 程序的可组合性。 这种机制允许 Solana 程序的可组合性。

你可以将指令视为程序向网络公开的 API 端点,而 CPI 则是一个 API 内部调用另一个 API。

Learn more about Cross Program Invocation here.

Solana 上的代币 #

代币是代表对各种资产所有权的数字资产。 代币化使得财产权的数字化成为可能,是管理 可替代和不可替代资产的基本组成部分。

  • 可替代代币代表同类型和同价值的可互换和可分割资产(例如 USDC)。
  • 不可替代代币(NFT)代表不可分割资产的所有权(例如艺术品)。

Learn more about Tokens on Solana here.

Clusters and Endpoints #

Solana blockchain 有几个不同的验证组,被称为 Clusters。 每个集群在整体生态系统中担任不同的目的,并 包含专用的 api 节点来满足其各自集群的 JSON-RPC 请求。

集群中的各个节点由第三方拥有和运营,每个都有一个公共端点可用。

There are three primary clusters on the Solana network, each with a different public endpoint:

  • Mainnet - https://api.mainnet-beta.solana.com
  • Devnet - https://api.devnet.solana.com
  • Testnet - https://api.testnet.solana.com

Learn more about Clusters and Endpoints here.