> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Helius 术语表：Solana 和 Helius 术语定义

> 面向开发者的定义，解释 Helius 文档和 Solana 生态系统中使用的术语——DAS、LaserStream、优先费、压缩 NFTs、PDAs、计算单元等。

Helius 文档和 Solana 中使用术语的快速参考定义。每个条目链接到相关的产品页面或指南（如适用）。

跳转到：

* [Helius 产品和平台](#helius-products-and-platform)
* [Solana 基础](#solana-fundamentals)
* [交易机制](#transaction-mechanics)
* [代币和资产](#tokens-and-assets)
* [连接和流媒体](#connectivity-and-streaming)
* [生态系统](#ecosystem)

***

## Helius 产品和平台

### 自动扩展

Helius 的法币计划自动充值机制。当月度信用额度耗尽时，自动扩展会根据用户设定的上限购买额外的信用额度，从而防止 `429` 错误中断生产流量。加密计划没有自动扩展。相反，它们使用[预付信用额度](/zh/billing/additional-credits#crypto-plans)，需手动购买。

查看[自动扩展](/zh/billing/additional-credits)。

### 信贷

Helius 计费 API 和流媒体使用的单位。RPC 方法、DAS 调用和流媒体吞吐量各有特定的信贷成本。每个计划都包括一个每月的信贷配额，每个计费周期重置（未使用的信贷不结转）。

参见[信贷](/zh/billing/credits)以获取完整的成本表。

### DAS API

数字资产标准——一个开放规范，为 Solana 数字资产（NFTs、压缩 NFTs、可替代代币）提供统一接口。Helius 的 DAS API 实现以单一结构化响应返回丰富的元数据、所有权和定价，消除了对链上资产数据进行自定义解析的需求。

参见[DAS API](/zh/das-api)。

### 专用节点

私人 Helius RPC 节点没有速率限制或信贷计量，以固定月费计费。适合需要无限吞吐量的狭窄用例；大多数应用程序最好由常规 Helius RPC 服务，因为其性能更优、故障转移能力强、功能覆盖全面。

请参阅[专用节点](/zh/dedicated-nodes)。

### 增强交易

Helius 的解析交易 API 可将原始 Solana 交易解码成人类可读的事件——代币转移、NFT 销售、交换、质押操作等——无需每个程序指令解析器。

请参阅[增强交易](/zh/enhanced-transactions)。

### 错误代码

Helius APIs 返回的标准 HTTP 状态代码，带有 Helius 特定上下文：

* `400 Bad Request` — 参数无效或请求格式错误（例如，地址格式无效，缺少必填字段，JSON 格式错误）
* `401 Unauthorized` — 缺少或无效的 API 密钥
* `403 Forbidden` — 访问被拒绝，通常是由于 IP 限制、未包含端点的订阅或 API 密钥权限不足
* `404 Not Found` — 请求资源没有可用数据（对于未知钱包的身份查找是正常的）
* `429 Too Many Requests` — 信用额度耗尽，超出速率限制或达到并发请求限制
* `5xx` — Helius 端问题；请使用指数退避重试

有关详细信息和故障排除步骤，请参阅[错误代码](/zh/faqs/error-codes)。

### 门卫

Helius 的边缘网关通过将请求路由到全球分布的代理舰队，提供显著低于标准 RPC 调用的延迟。通过将 `mainnet.helius-rpc.com` 替换为 `beta.helius-rpc.com` 来访问。

有关架构背景，请参阅[门卫](/zh/gatekeeper/overview)和[引入门卫博客文章](https://www.helius.dev/blog/introducing-gatekeeper)。

### LaserStream

Helius 的高性能 gRPC 流服务，用于 Solana 链上数据，具有历史重放、多区域故障切换，是 Helius 流产品中功能最丰富的集。官方 SDK 提供 JavaScript/TypeScript、Rust 和 Go。 [LaserStream WebSocket](#laserstream-websocket) 在同一基础设施上运行。

有关 SDK 基准的深入探讨，请参阅 [LaserStream](/zh/laserstream) 和 [LaserStream SDK 性能博客文章](https://www.helius.dev/blog/laserstream-sdks)。

### LaserStream WebSocket

Helius 的持久 WebSocket 流服务。它在一个统一端点上提供标准的 Solana WebSocket 方法和 Helius 特定的扩展（`transactionSubscribe` 和增强的 `accountSubscribe`，具有更丰富的过滤功能）。LaserStream WebSocket 与 [LaserStream](#laserstream) gRPC 共享后端。

参见 [LaserStream WebSocket](/zh/rpc/websocket)。

### 优先费用 API

Helius 的费用估算端点根据实时链上费用市场返回推荐的优先费用值。无需猜测或在拥堵期间过度支付，可实现具有竞争力的费用定价。

参见 [优先费用 API](/zh/priority-fee-api)。

### 速率限制

在给定的 Helius 计划下的每秒最大请求数量。速率限制因计划级别和 API 系列（标准 RPC、增强 API、流式传输）而异。超过限额将返回 `429 Too Many Requests`。

参见 [速率限制](/zh/billing/rate-limits)。

### 发送者

Helius 专为低延迟交易者设计的交易着陆服务，结合优先费用、Jito 提示和抵押连接路由以最大化着陆率。可用于 `https://sender.helius-rpc.com/fast`。

参见 [发送者](/zh/sending-transactions/sender)。

### 分片交付

Helius 提供通过 UDP 流式传输原始 Solana 碎片的服务——这是在最终区块组装前提供的最早链上信号。Helius 从跨区域的分布式验证者网络中汇总碎片，以尽量减少任何单个验证者的地理延迟差异。适用于高频交易、套利和其他低延迟应用。原始碎片可通过[Helius 仪表板](https://dashboard.helius.dev/shred-delivery-seats)自助获取 - 每个 IP 每月 1000 美元（专业计划每个 IP 每月 800 美元）。

参见 [分片交付](/zh/shred-delivery) 以及博客文章 [赢得毫秒游戏：分片、LaserStream 和 Solana 的边缘](https://www.helius.dev/blog/solana-shreds)，深入了解分片的工作原理。

### 抵押连接

Helius 付费计划的默认交易提交路径。抵押连接通过 Solana 的协议级“权益加权服务质量”（SWQoS）将交易路由到即将成为块领导者的节点，基于验证者抵押权给予优先连接槽，并在拥堵期间减少包丢失。Helius 的付费计划继承了这一着陆率优势，而无需呼叫者直接操作重度抵押的验证者。

参见 [优化交易](/zh/sending-transactions/optimizing-transactions) 以及博客文章 [权益加权服务质量：你需要知道的一切](https://www.helius.dev/blog/stake-weighted-quality-of-service-everything-you-need-to-know)。

### Wallet API

Helius 的 REST API 用于查询 Solana 钱包的余额、交易历史、转账、身份和资金来源——提供结构化的、按美元定价的响应，而不是原始的 RPC 输出。它接受 SNS `.sol` 和 ANS 域名以及地址。

参见[钱包 API](/zh/wallet-api/overview)。

***

## Solana 基础知识

### 账户

一个在 Solana 上持久保存数据的容器，由一个 32 字节的公钥标识。所有链上状态——用户余额、程序代码、代币元数据——都存在于账户中，包括程序本身。每个账户都有一个所有者，这是一个被允许修改其数据或提取 lamports 的程序，并且必须保持一个最低 SOL 余额（免租）以保持持久性。

参见博客文章[Solana 编程模型：在 Solana 上进行开发的介绍](https://www.helius.dev/blog/the-solana-programming-model-an-introduction-to-developing-on-solana)以获得更深入的了解。

### Agave

当前的权威 Solana 验证者客户端，由 Anza 维护——这个名称是原始 Solana Labs 客户端的重塑继承者。对特定 Agave 版本的引用（例如 v1.17.31 [SWQoS](#stake-weighted-quality-of-service-swqos) 最小质押阈值）通常将行为固定到客户端的特定版本。[Jito-Solana](#jito) 是 Agave 的一个分支，集成了他们的区块引擎；[Firedancer](#firedancer) 是 Jump Crypto 开发的独立基于 C 的替代方案。

参见博客文章[Solana 虚拟机](https://www.helius.dev/blog/solana-virtual-machine)了解 Agave 实现的 SVM 模型。

### Airdrop

将 SOL 或 SPL 代币发放到一个地址。在 Devnet 和 Testnet 上，空投通常指从水龙头获得的小额测试 SOL，用于为开发钱包提供资金；在 Mainnet 上，空投指向现有持有者进行的大量代币分发。Devnet 空投可通过 [Devnet 水龙头](/zh/rpc/devnet-sol) 获得。

### 关联代币账户 (ATA)

一个确定性派生的代币账户，用于持有给定钱包地址的特定SPL代币。每个钱包每个代币铸币厂最多有一个ATA，使ATA成为查询用户代币余额的标准位置。它是使用钱包地址和代币铸币厂作为种子派生的。

### 区块

一种包含一组交易和基本元数据的数据结构，包括区块的哈希和前一区块的哈希，形成一个不可变的链。区块在时隙期间生成：分配的[领导者](#leader-leader-schedule)为一个[时隙](#slot)验证传入交易，打包成区块，并通过[Turbine](#turbine)广播到网络中。并非每个时隙都生成区块——如果领导者未能及时生成，时隙会被跳过，网络继续前进。

一旦区块获得了占多数的权益加权[验证者](#validator)投票，它就被视为确认的（参见[承诺级别](#commitment-level)）。

有关更深入的信息，请参阅博客文章[深入了解Solana上的时隙、区块和时期](https://www.helius.dev/blog/solana-slots-blocks-and-epochs)。

### 承诺级别

一项交易已被包含在链上的信心程度：

* `processed` — 当前领导者已见但尚未投票的交易；如果区块失去共识，可能仍会被丢弃（约0.4秒）
* `confirmed` — 区块获得≥66%权益加权验证者投票；历史上，没有已确定的区块被回滚（约0.6秒）
* `finalized` — 区块获得≥66%的投票，并在其上建立了31个后续区块（即Tower BFT最大锁定），使其实际上不可逆转（约13秒）

`confirmed`是推荐的默认值。对于UI反馈使用`processed`，对于高价值操作如交易所存款或跨链桥使用`finalized`。在`finalized`获取的区块哈希比`confirmed`更快过期，缩短了交易过期前的窗口期。

请参阅博文[什么是 Solana 承诺级别？](https://www.helius.dev/blog/solana-commitment-levels)以获得更深入的了解。

### 计算单元 (CU)

Solana 衡量交易所执行的计算工作量，类似于以太坊的 gas。每笔交易都指定一个计算单元上限和计算单元价格（每个计算单元的微 lamport 优先费）；两者的乘积决定了总优先费用。超出限制会导致交易失败。

### CPI（跨程序调用）

Solana 的一种机制，允许一个链上[程序](#program)调用另一个程序，传递账户和指令数据——这种原语使 Solana 具有可组合性。CPI 通过 `sol_invoke_signed` syscall 公开，该 syscall 验证调用者对于传递的账户是否具有适当的权限；[PDA](#program-derived-address-pda) 允许程序代表其拥有的账户签名。

被调用的程序在调用程序剩余的[计算预算](#compute-units-cu)内运行：如果消耗了预算或超过设定的限制，整个调用链将失败，包括原始交易。

请参阅博文[Solana 虚拟机](https://www.helius.dev/blog/solana-virtual-machine)以获得更深入的了解。

### 纪元

大约 432,000 个 Solana slot 的集群——这是 Solana 更新验证器集、领导者计划、权益代表和奖励分配的高级组织间隔。在当前 slot 目标下，每个纪元大约需要 2 天。

请参阅博文[理解 Solana 的槽、块和纪元](https://www.helius.dev/blog/solana-slots-blocks-and-epochs)以获得更深入的了解。

### Firedancer

一个第二个独立的 Solana [验证器](#validator)客户端，由 Jump Crypto 使用 C 从头编写。Firedancer 的目标是（1）通过独立实现记录和标准化 Solana 协议，（2）提高客户端多样性（无单一客户端控制> 33% 的权益），以及（3）提升生态系统性能。其架构是模块化的：多个单一用途的 Linux 进程称为“tile”（QUIC tile，verify tile 等）通过共享内存通信，与 [Agave](#agave) 的单进程设计相对。

Frankendancer 是他们的混合中间体——Firedancer 的高性能 C 网络代码与 Agave 的 Rust 运行时和共识代码结合。

查看博客文章[什么是 Firedancer？](https://www.helius.dev/blog/what-is-firedancer)以更深入了解。

### 指令

Solana 交易中的最小工作单元——与相关账户和数据的单个程序调用。一个交易捆绑一个或多个指令，原子性执行（全成功或全回滚）。

查看博客文章[Solana 编程模型：Solana 开发简介](https://www.helius.dev/blog/the-solana-programming-model-an-introduction-to-developing-on-solana)以更深入了解。

### Lamport（拉姆波特）

SOL 的最小单位：1 SOL = 1,000,000,000 拉姆波特（10⁻⁹ SOL），以图灵奖得主 Leslie Lamport 的名字命名，因其在分布式系统的基础工作。原始 Solana RPC 方法以拉姆波特返回余额和费用；Helius 的[钱包 API](/zh/wallet-api/overview)自动处理转换。优先费用以微拉姆波特计价——拉姆波特的百万分之一（10⁻¹⁵ SOL）。

### 领导者/领导者计划

领导者是被指定在指定[插槽](#slot)期间提议新[区块](#block)的[验证者](#validator)。领导者由在每个[时代](#epoch)开始时计算的权益加权随机计划挑选，因此任何验证者都可以独立推导出即将在未来约2-3天的窗口中哪个槽位由谁领导。每个领导者被分配四个连续的插槽（每个插槽约400毫秒，约1.6秒），给他们一个连续生产区块的短时间窗口。

如果领导者在其槽位中未能产生区块，该槽位将被跳过——网络将继续前进而不等待缺失的区块。像[Sender](#sender)这样的交易发送服务将签名交易路由到当前领导者和接下来的两个领导者，以最大化着陆概率。

有关深入了解，请参阅博客文章[Solana上的共识：Tower BFT和历史证明](https://www.helius.dev/blog/consensus-on-solana)。

### Merkle树

一种加密树结构，其中每个非叶子节点是其子节点的哈希，因此单个根哈希承诺整个数据集。验证数据属于树，只需沿从叶到根的路径上的兄弟哈希—Merkle证明—无论树的大小，都是O(log n)的数据。对于深度为26的树，该证明是26个兄弟哈希（约832字节），虽然很小但仍然每个叶子：这是[压缩NFT](#compressed-nft-cnft)使用的证明形状。[ZK压缩](#zk-compression)用单个恒定大小的[有效性证明](#validity-proof)替代它，随着数据集的增长而不会增加。

请参阅博客文章[加密工具101：哈希函数和Merkle树解释](https://www.helius.dev/blog/cryptographic-tools-101-hash-functions-and-merkle-trees-explained)。

### 程序

一个可执行帐户，包含编译的sBPF字节码（即，Solana上的智能合约）。程序是无状态的——它们读取和写入它们拥有的数据帐户，并通过程序ID（其32字节地址）进行识别。Solana附带了一组内置于运行时的原生程序（系统、质押、投票等）；其他所有都是用户部署的程序。

有关深入了解，请参阅博客文章[Solana编程模型：在Solana上的开发简介](https://www.helius.dev/blog/the-solana-programming-model-an-introduction-to-developing-on-solana)。

### 程序派生地址 (PDA)

从程序ID和一组种子中派生出的确定性地址。PDAs让程序为它们控制的帐户签名，使其对于有状态程序设计至关重要。PDAs故意处于曲线之外，因此没有它们的私钥。

### 历史证明 (PoH)

Solana 的同步原语 — 不是共识算法。PoH 提供了一种加密时间戳功能，让验证者无需相互通信即可就事件顺序达成一致。实现方式：一个连续的 SHA-256 哈希链，在每个验证者的单个 CPU 核心上连续运行，使用每次迭代的输出作为下一次迭代的输入。生成是顺序的和单线程的；验证是可并行化的。

PoH 提供定义何时一个[区块](#block)有效的“滴答”。领导者必须在给定的 PoH 滴答范围内发布区块——超出范围的区块被视为跳过。PoH 与[Tower BFT](#tower-bft)结合运行，这是实际的共识机制。

有关深入探讨，请参阅博客文章[历史证明、权益证明和工作量证明解释](https://www.helius.dev/blog/proof-of-history-proof-of-stake-proof-of-work-explained)。

### 租金 / 免租

每个 Solana 账户必须持有的 SOL 余额，以维持在链上的存在，依据账户的存储大小进行调整。账户必须是免租的：使账户余额低于最低限度的交易会失败。一旦成为免租，账户将在无需进一步付款的情况下无限期地存在。

### Sealevel

Solana 的并行交易执行引擎。与顺序虚拟机如 EVM 不同，Sealevel 能够在多个 CPU 核心上同时执行多个交易。这得益于每个 Solana 交易在执行之前明确声明其将读取和写入的[账户](#account)，因此调度器可以在不进行运行时分析的情况下识别不冲突的批次。

调度规则很简单：触及不同账户的交易并行运行；仅读取相同账户的交易也并行运行（读取不冲突）；写入相同账户的交易顺序运行以防止竞争条件。

请参阅博客文章[Solana Virtual Machine](https://www.helius.dev/blog/solana-virtual-machine)以深入了解。

### Slot

Solana的基本时间单位，在此期间指定的领导验证者有机会生成一个区块。Slots的目标是400毫秒，尽管实际持续时间可能会因网络状况而有所不同。如果领导者在其Slot期间未能生成区块，该Slot将被跳过——网络继续移动到下一个Slot，而不是等待，因此并不是每个Slot都会产生区块。

请参阅博客文章[Understanding Slots, Blocks, and Epochs on Solana](https://www.helius.dev/blog/solana-slots-blocks-and-epochs)以深入了解。

### SVM (Solana Virtual Machine)

Solana完整的事务执行堆栈，不是一个简单的字节码解释器。SVM包含协调执行的Bank组件、Banking Stage调度器、BPF加载器和sBPF虚拟机本身（一个具有11个通用寄存器和约100个操作码的基于寄存器的VM，为性能而进行即时编译）。这与EVM不同，后者明确指单个字节码执行器。

Solana程序编译为sBPF，即Solana从Linux eBPF分叉而来。任何具有LLVM前端的语言（C、C++、Rust、Zig）都可以以sBPF为目标。要求交易预先声明账户访问是解锁[Sealevel](#sealevel)的并行执行和Solana本地费用市场的关键。

请参阅博客文章[Solana Virtual Machine](https://www.helius.dev/blog/solana-virtual-machine)以深入了解。

### Tower BFT

Solana的共识机制。Tower BFT是一种类似于pBFT的算法，它利用[历史证明](#proof-of-history-poh)的同步时钟，消除了在每个Slot上进行同步共识轮的需求。验证者构建出一个“投票塔”——一系列连续的投票堆栈，其中每个新投票会使先前所有投票的锁定期加倍，从而成倍提高改变分叉的投注损失成本。

确认阈值：一旦一个区块获得≥2/3的权益加权投票，就被认为是**确认的**（要违反最终性，必须削减≥4.6%的总权益）。一个区块一旦有投票加上31个后续区块建立在其之上时，就被**最终确定**，即Tower BFT的最大锁定时间。详见[承诺等级](#commitment-level)以获取使用指南。

参见博文[在Solana上的共识：Tower BFT和历史证明](https://www.helius.dev/blog/consensus-on-solana)以深入了解。

### Turbine

Solana的区块传播协议。领导者将每个区块分割成MTU大小的[碎片](#shred)以及Reed-Solomon纠删码恢复碎片——FEC速率（通常是32:32）即使在\~33%数据包丢失的情况下也能让网络重建区块。然后，领导者通过固定的权益加权对等验证器树（每个碎片组由`(leader id, slot, shred index, shred type)`进行初始化）转发碎片，而不是直接向每个验证者广播完整区块。该树（`DATA_PLANE_FANOUT = 200`）使领导者的出站带宽大致恒定，无论验证者数量，并使区块在2-3跳中到达网络，而不是O(n)。

参见博文[Turbine: Solana上的区块传播](https://www.helius.dev/blog/turbine-block-propagation-on-solana)。

### Validator

Solana网络上的一个节点，通过在其分配的领导者时隙期间生成区块并对其他验证者的区块进行投票来参与共识。验证者根据其活跃权益按比例被选为领导者时隙。

***

## 交易机制

### 地址查找表（ALT）

一个链上Solana地址表，版本化交易可以使用1字节索引而不是完整的32字节公钥进行引用，允许单个交易引用最多256个账户。ALT对于复杂的DeFi操作至关重要，否则会超出交易大小限制。

### Blockhash

一个32字节的哈希，用于标识最近的区块，被包含在每个Solana交易中以证明其新鲜度。Blockhash在大约150个时槽（约1分钟）后失效；具有过期blockhash的交易将被拒绝。客户端在签署之前通过[`getLatestBlockhash`](/zh/api-reference/rpc/http/getlatestblockhash)获取一个最近的blockhash。

### Priority Fee

每计算单位支付给验证者的费用，以提升一个交易在其他交易中的优先级，从而改善其被包含的时间。优先费用以每计算单位微lamports（µLamports/CU）为单位设定。Helius的[优先费用API](/zh/priority-fee-api)根据最近的链上费用市场提供实时估算。

### Shred

Solana区块的最小单位。区块被拆分（即切碎）成碎片，以便通过[Turbine](https://www.helius.dev/blog/turbine-block-propagation-on-solana)在验证器网络中并行传播。碎片级别的访问提供了最早可能的链上信号，比区块组装更早。

查看[原始碎片 (UDP)](/zh/shred-delivery/raw-shreds)和[碎片交付概述](/zh/shred-delivery)。

### Stake-Weighted Quality of Service (SWQoS)

一种Solana协议级机制，根据发送者的权益优先考虑当前和即将成为领导者的传入交易。作为防止女巫攻击的措施，SWQoS在Solana于2022年4月30日停机后引入，防止低权益或未质押的同行在拥堵期间垄断领导带宽。

领导者公开两个传入连接池：大约500个连接共享给所有未质押的同行，以及大约2000个按权益加权的连接按比例分配给质押的验证者——持有X%总活跃权益的验证者可以向领导者发送最多X%的数据包。活跃权益在大约1.5万个SOL以下的验证者（约占网络总权益的1/25,000）被视为未质押。最低质押门槛在Agave v1.17.31中实现。

Helius的[质押连接](#staked-connections)通过将客户交易路由到Solana的最大验证者继承了这一定速率优势，因此呼叫者无需直接操作一个高质押验证者即可从SWQoS中受益。

请参阅博客文章[权益加权服务质量：您需要了解的一切](https://www.helius.dev/blog/stake-weighted-quality-of-service-everything-you-need-to-know)。

### 版本化交易

一种较新的 Solana 交易格式，支持地址查找表，允许一次交易引用多达 256 个账户（相比传统交易的约 35 个）。大多数现代 DeFi 集成都需要版本化交易。它们通过序列化交易开始处的版本字节表示。

***

## 代币和资产

### 压缩账户

压缩账户是一个 Solana 账户，其数据通过事务日志提交到分类账，仅在验证器状态中存储哈希指纹，而不是完整数据占用验证器磁盘上的传统账户槽。开发人员可以像对待常规账户一样对待压缩账户；索引器（如 Photon）解析事务日志以重建当前状态，并且当通过 ZK Compression 读取或修改账户时，恒定大小的 Groth16 零知识证明可验证完整性。此模型最适合小数据账户——较大的数据（超过约 100 字节）使压缩不切实际。

### 压缩 NFT (cNFT)

一种以链上并发 Merkle 树中的叶子形式表示的 Solana NFT，而不是其自己的账户。该树位于 Solana 账户中，其状态转换由分类账保障；NFT 的当前状态由索引器从事务历史中推导出，这些索引器生成可验证的 Merkle 证明，与树的链上根进行验证。因此，读取 cNFT 需要像 [DAS API](/zh/das-api) 这样的索引器——标准的 Solana RPC 无法直接返回 cNFT 数据。与标准 NFT 相比，该模型可将铸造成本降低多达 99%。

### 并发默克尔树

一种Solana特定的[默克尔树](#merkle-tree)变体，旨在允许多个写入者在同一个插槽中更新树，而不会使彼此的证明无效。链上账户不仅存储当前根，还有最近有效根的更改日志缓冲区和一个树冠（上层节点的缓存子集），使验证者可以验证针对缓冲窗口中任何根生成的证明。树由三个参数定义：最大深度（将叶子数限制为2^深度）、缓冲区大小（更改日志深度—在旧的飞行中证明失效之前可以发生多少写入），以及树冠深度（用链上租金换取更小的交易内证明）。有效的（深度，缓冲）对范围从（3, 8）到（30, 2048）；为实用的组合性保持`maxDepth − canopyDepth ≤ 10`。

并发默克尔树由SPL账户压缩程序实现，并且是[压缩NFT](#compressed-nft-cnft)的基础，这些NFT通过Metaplex Bubblegum作为叶子铸造。

请参阅博客文章[关于Solana的压缩，您需要知道的一切](https://www.helius.dev/blog/all-you-need-to-know-about-compression-on-solana)。

### Groth16

一种zk-SNARK证明系统，无论语句复杂性如何，都会生成恒定大小的零知识证明（在BN254曲线上为128字节，使用点压缩），具有O(1)验证时间。[ZK压缩](#zk-compression)使用Groth16生成[有效性证明](#validity-proof)，证明压缩账户属于已知状态和已知根—小的证明大小是保持压缩账户交易便宜的原因。

请参阅博客文章[Solana建造者：ZK压缩](https://www.helius.dev/blog/solana-builders-zk-compression)。

### 铸造账户

定义SPL代币属性的链上账户—供应量、小数点和铸造/冻结权限。铸造账户的地址是代币的规范标识符（以太坊术语中的“合约地址”）。

### SPL 代币

通过 Solana 程序库 (SPL) 的代币程序发行的 Solana 代币。可替代代币（USDC, BONK, JUP 等）是 SPL 代币；标准（非压缩）NFT 也是 SPL 代币，铸造时供应为 1 并且小数位为 0。SPL 代币大致相当于以太坊上的 ERC-20 和 ERC-721。Token-2022 是一个更新的程序，扩展了该接口，增加了转账费用和保密转账等可选功能。

### 状态树

[ZK 压缩](#zk-compression) 使用的 Merkle 树，用于存储压缩账户的哈希。链上账户仅保存当前根加上最小的元数据；实际的压缩数据位于交易日志中，并由像 [Photon](#photon) 这样的索引器重建。程序通过传递账户声明内容的 [有效性证明](#validity-proof) 对当前根下的叶子进行哈希来读取或修改压缩状态。

查看 [ZK 压缩](/zh/api-reference/zk-compression)。

### 代币账户

链上账户持有特定所有者的特定 SPL 代币余额。钱包可以拥有任意代币账户，但惯例是使用关联代币账户 (ATA) —— 每个（钱包，铸造）对由关联代币账户程序创建的确定性派生日代账户。

### Token-2022（代币扩展）

支持可选扩展（例如，转账费用、保密转账、计息代币、不可转让代币）的 SPL 代币程序变体。Token-2022 作为单独的链上程序运行，拥有自己的程序 ID，但被设计为经典代币程序的兼容继任者，因此 SDK 通常可以处理这两者。必须在 Token-2022 程序下创建铸币才能使用扩展功能。

请参阅博客文章[什么是令牌扩展？](https://www.helius.dev/blog/what-is-token-2022)。

### 有效性证明

一个恒定大小的[Groth16](#groth16)零知识证明，表明压缩账户的声明内容在特定根的[状态树](#state-tree)中存在。[ZK 压缩](#zk-compression)程序在读取或修改压缩账户时需要有效性证明；该证明使程序能够在无需验证器将数据存储在链上的情况下验证链下状态。[Photon](#photon)通过其[`getValidityProof`](/zh/api-reference/zk-compression/getvalidityproof) RPC 方法向调用者提供有效性证明。

有效性证明是 ZK 压缩与[压缩 NFT](#compressed-nft-cnft)的区别所在：cNFT 使用普通的默克尔证明（从叶到根的兄弟哈希列表，随着树深度增长），而 ZK 压缩的恒定大小 ZK 证明不暴露路径或周围的树状态。

请参阅博客文章[Solana 构建者：ZK 压缩](https://www.helius.dev/blog/solana-builders-zk-compression)。

### ZK 压缩

ZK 压缩是由 Helius 和 Light Protocol 开发的 Solana 原语，通过在分类账的交易日志中提交账户数据并仅在验证器状态中存储哈希指纹，大幅降低链上存储成本。通过从索引交易数据生成的恒定大小的 Groth16 零知识证明保持加密完整性。此原语区别于压缩 NFT，后者使用并发默克尔树而无需零知识证明。

查看 [ZK 压缩](/zh/api-reference/zk-compression)以及博客文章[Solana Builders: ZK Compression](https://www.helius.dev/blog/solana-builders-zk-compression)以深入了解。

***

## 连接性和流媒体

### Geyser

Solana 的插件系统用于将验证器状态变化（账户、交易、插槽、区块）实时流式传输到外部消费者。验证器将 Geyser 插件作为动态库加载；插件在验证器处理状态更新时接收更新，消除了轮询 RPC 以获取更改的需要。Yellowstone gRPC — 主要的 Geyser 插件 — 通过 gRPC 公开这些更新。Helius 的 [LaserStream](#laserstream) 实现了 Yellowstone gRPC 接口，增加了历史重播（最多约 216,000 个插槽 / ～24 小时）和多区域故障切换等功能。

### gRPC

gRPC 是一种通用的高性能二进制 RPC 协议（“gRPC 远程过程调用” 的递归缩写）。在 Solana 上下文中，“gRPC”通常指 Yellowstone gRPC——一种基于 Solana Geyser 插件系统的流接口，通过 gRPC 提供账户和交易更新。Helius 的 [LaserStream](/zh/laserstream) 服务基于 Yellowstone 接口构建，并添加了历史回放、多区域故障转移和托管基础设施等功能。

### RPC

RPC 是远程过程调用的缩写，是一种将服务器方法当作本地函数调用的通用模式。在 Solana 中，“RPC”通常指 RPC 节点——一种跟踪 Solana 状态但不参与共识的节点，专门通过 JSON-RPC 接口提供数据请求（即账户状态、交易历史、交易提交）。相比之下，验证者生成区块并对其进行投票。Helius 的 [RPC 服务](/zh/rpc/overview) 是一支为生产工作负载优化的全球分布式 RPC 节点群。

查看博客文章 [Solana 节点——Solana RPCs、验证者和 RPC 提供者入门](https://www.helius.dev/blog/solana-nodes-a-primer-on-solana-rpcs-validators-and-rpc-providers) 以获得更深入的信息。

### Webhook

Webhook 是服务器在订阅事件发生时发送给接收器 URL 的 HTTP POST 请求——“反向”HTTP，由服务器发起调用。Helius [Webhooks](/zh/webhooks) 将 Solana 链上事件（转账、NFT 销售、自定义程序活动）推送到注册的端点，消除了轮询的需要。

### WebSocket (WSS)

WebSocket 是一种从 HTTP 升级而来的持久的双向 TCP 连接，用于在不重复 HTTP 请求的情况下推送 Solana 数据流。WSS（WebSocket Secure）是运行在 TLS 上的相同协议，是生产 Solana 连接中使用的变体。[LaserStream WebSocket](/zh/rpc/websocket)——Helius 的 WebSocket 流媒体产品，包括标准 Solana 方法和 Helius 扩展，如 `transactionSubscribe`——使用 WSS。

***

## 生态系统

### Anchor

Anchor 是一个用于快速安全构建 Solana 程序的 Rust 框架。通过过程宏处理账户序列化、验证和指令分发等样板代码，让开发者专注于程序逻辑而非底层细节。大多数 Solana 开发者使用 Anchor，而不是用原生 Rust 编写程序。

参见博客文章 [An Introduction to Anchor: A Beginner's Guide to Building Solana Programs](https://www.helius.dev/blog/an-introduction-to-anchor-a-beginners-guide-to-building-solana-programs) 以获得更深入的了解。

### IDL

IDL 代表接口定义语言。IDL 是一个描述 Solana 程序的指令、账户和数据类型的 JSON 架构；客户端使用它来构造交易并解码程序数据，而无需手动编写指令布局。Anchor 会自动生成 IDL 并默认在链上发布，以便公众发现。

### Jito

一家 Solana 生态系统公司，运营网络的主要区块引擎 —— 一个 MEV（最大可提取价值）基础设施层，接受交易包（一起执行或不执行的原子交易组），并让搜索者支付小费给验证者以优先处理它们。

Jito-Solana 验证者客户端是 Agave 的一个分支，集成了区块引擎。包含包需要至少 10,000 lamports 的小费，Jito-Relayer 持有入站流量约 200 毫秒以启用链下包拍卖。

Helius 的 [Sender](#sender) 同时通过质押连接和 Jito 的区块引擎提交交易，采用先执行成功的路径。

参见博客文章 [Solana MEV: An Introduction](https://www.helius.dev/blog/solana-mev-an-introduction)。

### Light Protocol

与 Helius 共同开发 [ZK Compression](#zk-compression) 的 Solana 协议团队。Helius 构建了规范的索引器（[Photon](#photon)）并操作公共 RPC；Light Protocol 构建索引器所依赖的链上程序和证明堆栈。

参见 [github.com/Lightprotocol/light-protocol](https://github.com/Lightprotocol/light-protocol)。

### Photon

这是由Helius构建的开源[ZK Compression](#zk-compression)索引器。压缩的账户数据存在于Solana交易日志中而不是账户状态，因此验证者不会通过标准RPC公开它——Photon解析Solana交易，重建压缩的账户状态，并通过JSON-RPC接口提供服务，该接口与Solana的本地RPC镜像，并且具备ZK-Compression特定的方法，如[`getCompressedAccount`](/zh/api-reference/zk-compression/getcompressedaccount)和[`getValidityProof`](/zh/api-reference/zk-compression/getvalidityproof)。开发人员可以通过[github.com/helius-labs/photon](https://github.com/helius-labs/photon)自托管或使用托管的Helius端点。

查看 [ZK 压缩](/zh/api-reference/zk-compression)。
