Solana 文档参考资料

术语

以下术语贯穿于 Solana 文档和开发生态系统中。

账户

Solana 分类账中的一条记录,可以存储数据或是一个可执行的程序。

类似于传统银行的账户,Solana 账户可以持有称为 lamports 的资金。像 Linux 中的文件一样,它可以通过一个密钥寻址,通常被称为 公钥 或 pubkey。

密钥可以是以下之一:

  • 一个 ed25519 公钥
  • 一个程序派生的账户地址(32 字节值,强制脱离 ed25519 曲线)
  • 一个 ed25519 公钥与 32 个字符字符串的哈希值

账户所有者

拥有账户的程序的地址。只有拥有该账户的程序可以修改该账户。

另请参阅 权限

应用

与 Solana 集群交互的前端应用程序。

权限

对账户拥有某种权限的用户地址。

例如:

  • 铸造新代币的能力被赋予作为代币铸造的“铸造权限”的账户。
  • 升级程序的能力被赋予作为程序“升级权限”的账户。

银行状态

在给定 tick 高度 下解释分类账中所有程序的结果。它至少包括持有非零 原生代币 的所有 账户 集合。

区块

由一个 投票覆盖的账本中连续的一组条目。一个领导者在每个中最多生成一个区块。

区块哈希

标识记录(区块)的唯一值(哈希)。Solana 从区块的最后一个条目 ID计算区块哈希。

区块高度

当前区块下方的区块数量。在创世区块之后的第一个区块高度为一。

引导验证者

生成区块链创世(第一个)区块验证者

BPF 加载器

Solana 程序拥有并加载 BPF 链上程序,使程序能够与运行时交互。

客户端

访问 Solana 服务器网络集群的计算机程序。

承诺

网络对区块确认的衡量标准。

集群

维护单一账本的一组验证者

计算预算

每笔交易消耗的最大计算单元数量。

计算单元

区块链计算资源消耗的最小计量单位。

确认时间

领导者创建一个滴答条目到创建一个确认区块之间的时钟持续时间。

确认区块

收到账本投票超级多数区块

控制平面

连接集群所有节点的八卦网络。

冷却期

质押 被停用后的若干个 epoch 期间,质押逐步变得可供提取。在此期间,质押被视为“正在停用”。更多信息请参见:预热和冷却

信用

参见 投票信用

跨程序调用 (CPI)

从一个 链上程序 调用另一个程序。更多信息请参见程序间调用

数据平面

一种多播网络,用于高效验证 条目 并达成共识。

无人机

一种链下服务,作为用户私钥的托管者。通常用于验证和签署交易。

条目

账本 中的一个条目,可以是 时钟信号交易条目

条目 ID

条目最终内容的抗预映像 哈希,作为该 条目 的全局唯一标识符。该哈希提供以下证据:

  • 条目是在一段时间后生成的
  • 指定的 交易 是包含在条目中的交易
  • 条目在 账本 中相对于其他条目的位置

参见 历史证明

epoch

领导者计划 有效的时间,即 slot 的数量。

手续费账户

交易中的手续费账户是支付将交易包含在账本中的费用的账户。这是交易中的第一个账户。由于支付交易费用会减少账户余额,因此该账户必须在交易中声明为可读写的(可写)。

最终性

当代表 2/3 质押 的节点拥有一个共同的 时。

分叉

从公共条目派生但随后分离的账本

创世区块

链中的第一个区块

创世配置

创世区块准备账本的配置文件。

哈希

一段字节序列的数字指纹。

通胀

随着时间的推移增加代币供应,用于奖励验证和支持 Solana 的持续开发。

内部指令

参见 Cross Program Invocation

指令

调用程序中特定指令处理器的调用。指令还指定它希望读取或修改的账户,以及作为指令处理器辅助输入的附加数据。客户端必须在交易中包含至少一个指令,且所有指令必须完成,交易才会被视为成功。

指令处理器

指令处理器是程序中处理来自交易指令的函数。指令处理器可能包含一个或多个Cross Program Invocation

keypair

用于访问账户的公钥和对应的私钥

lamport

一种分数形式的原生代币,其值为 0.000000001 SOL

在计算预算内,使用一定数量的 微 lamports 计算优先费用

领导者

验证者在将条目附加到账本时的角色。

领导者计划

验证者公钥映射到的序列。集群使用领导者计划来确定任何时刻的领导者

账本

一个包含交易条目列表,这些交易由客户端签名。从概念上讲,这可以追溯到创世区块,但实际的验证者的账本可能只包含较新的区块,以减少存储需求,因为设计上不需要旧区块来验证未来的区块。

账本投票

在特定计时高度下,验证者状态哈希值。它包括验证者对其接收到的区块已被验证的确认,以及在特定时间段内(即锁定期)不对冲突的区块(即分叉)投票的承诺。

轻客户端

一种可以验证其指向有效集群客户端。它执行的账本验证比瘦客户端多,但比验证者少。

加载器

一种具有解释其他链上程序二进制编码能力的程序

锁定期

验证者在此期间无法对另一个分叉进行投票的时间长度。

消息

交易的结构化内容。通常包含一个头部、账户地址数组、最近的区块哈希以及指令数组。

交易中的消息格式中了解更多。

中本聪系数

一种衡量去中心化程度的指标,中本聪系数是可以集体行动关闭区块链的最小独立实体数量。该术语由 Balaji S. Srinivasan 和 Leland Lee 在量化去中心化中提出。

原生代币

用于跟踪集群中节点完成工作的代币

节点

参与集群的计算机。

节点数量

参与集群验证者数量。

链上程序

Solana 区块链上的可执行代码,用于解释每个交易中发送的指令,以读取和修改其控制的账户。这些程序在其他区块链上通常被称为“智能合约”。

PoH

参见历史证明

点数

奖励机制中的加权积分。在验证者奖励机制中,赎回期间某个质押应得的点数是投票积分与质押的 lamport 数量的乘积。

私钥

密钥对的私钥。

程序

参见链上程序

程序派生账户 (PDA)

签名权限属于程序的账户,因此不像其他账户那样由私钥控制。

程序 ID

包含程序账户的公钥。

历史证明 (PoH)

一组证明,每个证明都证明某些数据在创建该证明之前已经存在,并且在前一个证明之前经过了精确的时间段。与VDF类似,历史证明可以在比生成所需时间更短的时间内验证。

优先费

用户可以在计算预算指令中指定的额外费用,用于优先处理其交易

优先费通过将请求的最大计算单元数乘以计算单元价格(以每计算单元 0.000001 lamports 为增量指定)并向上取整到最接近的 lamport 来计算。

交易应请求执行所需的最少计算单元,以尽量减少费用。

公钥 (pubkey)

密钥对 的公钥。

租金 (rent)

账户程序 为在区块链上存储数据而支付的费用。当账户余额不足以支付租金时,它们可能会被垃圾回收。

另请参阅下文的 免租金。了解更多关于租金的信息:什么是租金?

免租金 (rent exempt)

账户需要维持与其存储数据量成比例的最低 lamport 余额。所有新创建的账户都会永久存储在链上,直到账户被关闭。无法创建低于免租金门槛的账户。

根 (root)

验证者 上达到最大 锁定区块。根是所有活动分叉的祖先中最高的区块。根的所有祖先区块也会传递性地成为根。不是根的祖先也不是根的后代的区块将被排除在共识考虑之外,并可能被丢弃。

运行时 (runtime)

验证者 中负责执行 程序 的组件。

Sealevel

Solana 的并行运行时,用于 链上程序

分片 (shred)

区块 的一个部分;在 验证者 之间传输的最小单位。

签名 (signature)

一个 64 字节的 ed25519 签名,由 R (32 字节) 和 S (32 字节) 组成。要求 R 是一个非小阶的打包 Edwards 点,S 是范围内的标量 0 <= S < L。此要求确保签名不可篡改。每笔交易必须至少有一个用于 费用账户 的签名。因此,交易中的第一个签名可以被视为 交易 ID

跳过率

当前 epoch 中被跳过的 slot 占总领导者 slot 的百分比。由于样本量较小,epoch 边界之后的跳过率可能会有较高的波动性,对于领导者 slot 数量较少的验证者也是如此。然而,这个指标有时也可以用来识别节点配置错误。

被跳过的 slot

一个过去的 slot,由于领导者离线或 分叉 中的 slot 被集群共识放弃以选择更好的替代方案,而未生成 区块。被跳过的 slot 不会作为后续 slot 的区块祖先,也不会增加 区块高度,也不会使最旧的 recent_blockhash 过期。

一个 slot 是否被跳过只能在其比最新的 已根定(因此未被跳过)slot 更旧时才能确定。

slot

每个 领导者 处理交易并生成 区块 的时间段。

slot 共同构成一个逻辑时钟。slot 按顺序排列且不重叠,根据 PoH 的定义,slot 大致等同于相等的现实时间。

智能合约

参见 链上程序

SOL

Solana 集群原生代币

Solana 程序库 (SPL)

Solana 上的 程序库,例如 spl-token,用于完成创建和使用代币等任务。

质押

如果可以证明 验证者 存在恶意行为,其代币将被没收给 集群

基于质押权重的服务质量 (SWQoS)

SWQoS 允许对来自已质押验证者的交易提供优先处理

超级多数

集群 的 2/3。

系统变量

一个系统账户系统变量提供集群状态信息,例如当前的 tick 高度、奖励点数值等。程序可以通过系统变量账户 (pubkey) 或通过系统调用查询来访问系统变量。

精简客户端

一种客户端,它信任自己正在与一个有效的集群通信。

tick

一个账本条目,用于估算时钟持续时间。

tick 高度

账本中的第 N 个 tick

代币

一种可数字化转移的资产。

代币扩展程序

代币扩展程序的程序 ID 为 TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb,它包含与代币程序相同的所有功能,但还附加了扩展功能,例如保密转账、自定义转账逻辑、扩展元数据等。

代币铸造

一个可以生成(或“铸造”)代币的账户。不同的代币通过其唯一的代币铸造地址区分。

代币程序

代币程序的程序 ID 为 TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA,提供了转账、冻结和铸造代币的基本功能。

tps

每秒交易数

tpu

交易处理单元

交易

客户端使用一个或多个密钥对签名的一个或多个指令,并以原子方式执行,只有两种可能的结果:成功或失败。

交易 ID

交易中的第一个签名,可用于在完整的账本中唯一标识该交易。

交易确认

自交易被接受到账本以来的确认区块数量。当交易所在的区块成为根区块时,该交易即被最终确认。

交易条目

一组可以并行执行的交易

tvu

交易验证单元

validator

Solana 网络集群中的完全参与者,负责生成新的区块。validator 验证添加到账本中的交易。

VDF

参见可验证延迟函数

可验证延迟函数 (VDF)

一种需要固定时间执行的函数,它会生成一个证明,证明其已运行,并且该证明的验证时间比生成时间更短。

投票

参见账本投票

投票信用

validators 的奖励统计。当 validator 在其投票账户中达到一个时,会获得一个投票信用。

钱包

一组密钥对,允许用户管理其资金。

预热期

权益被委托后的一些epochs期间,权益逐步生效。在此期间,权益被视为“激活中”。更多信息请参见:预热和冷却

Is this page helpful?