Solana 文档参考文献

术语

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

账户

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

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

密钥可以是以下之一:

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

账户所有者

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

另请参阅 权限

应用

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

权限

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

例如:

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

银行状态

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

区块

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

区块哈希

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

区块高度

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

引导验证者

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

BPF 加载器

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

客户端

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

承诺

网络对 区块 确认的度量。

集群

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

计算预算

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

计算单元

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

确认时间

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

确认区块

已获得 账本投票 超级多数区块

控制平面

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

冷却期

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

信用

参见 投票信用

Cross Program Invocation (CPI)

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

数据平面

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

drone

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

条目

账本 中的一个条目,可以是 tick交易条目

条目 ID

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

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

参见 历史证明

epoch

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

费用账户

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

最终性

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

分叉

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

创世区块

链中的第一个区块

创世配置

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

哈希

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

通胀

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

内部指令

参见跨程序调用

指令

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

指令处理器

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

keypair

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

lamport

价值为 0.000000001 sol 的分数原生代币

在计算预算内,数量为 微 lamports 的值用于计算优先费用

领导者

验证者在向账本追加条目时的角色。

领导者计划

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

账本

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

账本投票

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

轻客户端

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

加载器

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

锁定期

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

消息

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

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

中本聪系数

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

原生代币

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

节点

参与 集群 的计算机。

节点数量

参与 集群验证者 数量。

链上程序

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

PoH

参见 历史证明

点数

奖励机制中的加权 积分。在 验证者 奖励机制 中,赎回期间应归属于 质押 的点数是 投票积分 和质押的 lamport 数量的乘积。

私钥

密钥对 的私钥。

程序

参见 链上程序

程序派生账户 (PDA)

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

程序 ID

包含 程序账户 的公钥。

历史证明 (PoH)

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

优先费

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

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

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

public key (pubkey)

keypair 的公钥。

rent

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

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

rent exempt

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

root

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

runtime

validator 中负责执行 program 的组件。

Sealevel

Solana 的并行运行时,用于 onchain programs

shred

block 的一个部分;在 validators 之间传输的最小单位。

signature

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

跳过率

当前 epoch 中被跳过的 slot 占总领导者 slot 的百分比。由于在 epoch 边界之后样本量较小,以及对于领导者 slot 数量较少的验证者,这一指标的方差较高,因此可能具有误导性。然而,有时它也可以用于识别节点配置错误。

被跳过的 slot

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

只有当一个 slot 比最新的 (因此未被跳过的)slot 更旧时,才能确定它是否被跳过。

slot

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

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

智能合约

参见链上程序

SOL

Solana 集群原生代币

Solana 程序库 (SPL)

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

质押

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

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

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

超级多数

集群 的 2/3。

系统变量

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

精简客户端

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

tick

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

tick 高度

账本 中的第 N 个 tick

代币

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

Token Extensions Program

Token Extensions Program 的程序 ID 为 TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb,包含与 Token Program 相同的功能,但增加了扩展功能,例如保密转账、自定义转账逻辑、扩展元数据等。

token mint

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

Token Program

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

tps

每秒 交易 数。

tpu

交易处理单元

交易

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

交易 ID

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

交易确认

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

交易条目

一组可以并行执行的交易

tvu

交易验证单元

validator

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

VDF

参见可验证延迟函数

可验证延迟函数 (VDF)

一种需要固定时间执行的函数,它会生成一个运行证明,该证明可以在比生成所需时间更短的时间内进行验证。

投票

参见账本投票

投票信用

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

钱包

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

预热期

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

Is this page helpful?