以下术语贯穿于 Solana 文档和开发生态系统中。
Solana 账本中的一条记录,可以存储数据或是一个可执行的程序。
类似于传统银行的账户,Solana 账户可以持有称为 lamports 的资金。类似于 Linux 中的文件,它可以通过一个密钥寻址,通常被称为 公钥 或 pubkey。
密钥可以是以下之一:
拥有账户的程序的地址。只有拥有该账户的程序可以修改该账户。
与 Solana 集群交互的前端应用程序。
对账户拥有某种权限的用户地址。
例如:
在给定的 tick 高度上解释账本中所有程序的结果。它至少包括持有非零 原生代币的所有账户集合。
由账本上的 条目组成的连续集合,由一个 投票覆盖。领导者在每个 slot 中最多生成一个区块。
标识记录(区块)的唯一值(哈希)。Solana 从区块的最后一个条目 ID 计算区块哈希。
当前区块下方的 区块 数量。创世区块之后的第一个区块高度为一。
生成区块链创世(第一个)区块 的 验证者。
Solana 程序拥有并加载 BPF 链上程序,使程序能够与运行时交互。
访问 Solana 服务器网络 集群 的计算机程序。
网络对 区块 确认的度量。
紧凑数组是以下列格式序列化的数组:

紧凑数组格式用于对交易消息中的账户地址数组和指令数组进行编码。
一组维护单一账本的验证者。
每笔交易消耗的最大计算单元数量。
用于衡量区块链计算资源消耗的最小单位。计算单元用于衡量处理交易时所消耗的计算资源。
从领导者创建一个滴答条目到创建一个确认区块之间的时钟时间。
已获得账本投票的超级多数的区块。
连接集群中所有节点的八卦网络。
在质押被停用后的若干个纪元期间,质押逐步变得可供提取。在此期间,质押被视为“正在停用”。更多信息请参见:预热和冷却。
也称为transaction cost,是对处理交易所需的所有资源的综合估算,单位为计算单元。更多信息请参见这里。
从一个链上程序调用另一个链上程序。更多信息请参见程序间调用。
一种多播网络,用于高效验证条目并达成共识。
一种链下服务,作为用户私钥的托管者。通常用于验证和签署交易。
账本中的一个条目,可以是一个tick 或交易条目。
对条目最终内容进行的抗原像性哈希,作为条目的全局唯一标识符。该哈希提供以下证据:
领导者计划有效的时间,即槽的数量。
交易中的费用账户是支付将交易包含在账本中的成本的账户。这是交易中的第一个账户。由于支付交易费用会减少账户余额,因此该账户必须在交易中声明为可读写(可写)。
当代表 2/3 权益的节点有一个共同的根时。
从共同条目派生但随后分歧的账本。
链中的第一个区块。
为创世区块准备账本的配置文件。
一段字节序列的数字指纹。
随着时间的推移,代币供应的增加用于奖励验证者并资助 Solana 的持续开发。
请参阅 跨程序调用。
调用 程序中特定 指令处理器 的调用。指令还指定它希望读取或修改的账户,以及作为辅助输入提供给指令处理器的附加数据。客户端必须在交易中至少包含一个指令,并且所有指令都必须完成,交易才会被视为成功。
指令处理器是处理来自 交易 的 指令的程序函数。指令处理器可能包含一个或多个跨程序调用。
用于访问账户的 公钥和相应的 私钥。
一种分数形式的 原生代币,其值为 0.000000001 SOL。
验证者在将 条目 添加到 账本 时的角色。
将 验证者 的 公钥 映射到 槽的序列。集群使用 leader 排程来确定在任何时刻哪个验证者是 leader。
包含由 客户端 签名的 交易的 条目列表。从概念上讲,这可以追溯到 创世区块,但实际的验证者 的账本可能只有较新的区块,以减少存储需求,因为设计上不需要旧区块来验证未来的区块。
在给定 tick 高度 下 验证者状态 的哈希值。它包括 验证者 对其接收到的 区块已被验证的确认,以及在特定时间段内(即 锁定期)不对冲突的区块(例如 分叉)投票的承诺。
一种客户端,可以验证其指向的是一个有效的集群。它执行的账本验证比瘦客户端多,但比验证者少。
一种具有解释其他链上程序二进制编码能力的程序。
验证者在此期间无法对其他分叉进行投票的时间段。
交易的结构化内容。通常包含一个头部、账户地址数组、最近的区块哈希以及指令数组。
在交易中的消息格式中了解更多。
1,000,000 微 lamport = 1 lamport
一种衡量去中心化程度的指标,中本聪系数是能够集体行动关闭区块链的最小独立实体数量。该术语由 Balaji S. Srinivasan 和 Leland Lee 在量化去中心化中提出。
用于跟踪集群中节点完成工作的代币。
参与集群的计算机。
参与集群的验证者数量。
Solana 区块链上的可执行代码,用于解释每个交易中发送的指令,以读取和修改其控制的账户。这些程序在其他区块链上通常被称为“智能合约”。
奖励机制中的加权积分。在验证者的奖励机制中,赎回期间某个质押应得的点数是投票积分与质押的 lamport 数量的乘积。
密钥对中的私钥。
请参阅链上程序。
一个账户,其签名权限由程序控制,因此不像其他账户那样由私钥控制。
包含程序的账户的公钥。
一组证明,每个证明都证明某些数据在创建该证明之前已经存在,并且在前一个证明之前经过了精确的时间段。类似于VD(可验证延迟函数),历史证明可以在比生成所需时间更短的时间内验证。
用户可以在计算预算指令中指定的额外费用,以优先处理其交易。
优先费通过将请求的最大计算单元数乘以计算单元价格(以每计算单元 0.000001 lamports 为增量指定)并向上取整到最近的 lamport 来计算。
交易应请求执行所需的最小计算单元数以尽量减少费用。
密钥对中的公钥。
账户和程序在区块链上存储数据所支付的费用。当账户余额不足以支付租金时,它们可能会被垃圾回收。
账户保持与账户中存储的数据量成比例的最低 lamport 余额。所有新创建的账户都会永久存储在链上,直到账户被关闭。无法创建低于免租金阈值的账户。
一个已达到最大锁定的区块或 slot 在验证者上的状态。根是所有活动分叉的祖先中最高的区块。在根的所有祖先区块也会通过传递性成为根。不是根的祖先也不是根的后代的区块将被排除在共识考虑之外,并可以被丢弃。
验证者中负责程序执行的组件。
Solana 的并行运行时,用于链上程序。
区块的一部分;在验证者之间传输的最小单位。
一个 64 字节的 ed25519 签名,由 R(32 字节)和 S(32 字节)组成。要求 R 是一个非小阶的打包 Edwards 点,S 是范围内的标量0 <= S < L。此要求确保签名不可篡改。每笔交易必须至少有一个费用账户的签名。因此,交易中的第一个签名可以被视为交易 ID。
当前epoch中总领导者 slot 中的跳过 slot的百分比。由于在 epoch 边界后样本量较小,以及对于领导者 slot 数量较少的验证者,这一指标可能具有较高的方差,因此可能会产生误导。然而,有时它也可以用于识别节点配置错误。
一个未生成区块的过去 slot ,可能是因为领导者离线或由于集群共识选择了更好的替代方案而放弃了包含该 slot 的分叉。跳过的 slot 不会作为后续 slot 的区块祖先出现,也不会增加区块高度,也不会使最旧的recent_blockhash 过期。
是否跳过某个 slot 只能在其变得比最新的根(因此未跳过)slot 更旧时才能确定。
每个领导者处理交易并生成区块的时间段。
slot 共同构成一个逻辑时钟。slot 按顺序排列且不重叠,根据历史证明 (PoH)大致等于相同的现实时间。
参见链上程序。
Solana 集群的原生代币。
Solana 上的程序库,如 spl-token,用于执行创建和使用代币等任务。
如果可以证明验证者存在恶意行为,集群将没收其代币。
SWQoS 允许对来自质押验证者的交易进行优先处理。
集群的 2/3。
一个系统账户。系统变量提供集群状态信息,例如当前的 tick 高度、奖励点数值等。程序可以通过系统变量账户 (pubkey) 或通过系统调用查询来访问系统变量。
一种客户端,信任其正在与有效的集群通信。
一个账本条目,用于估算时钟持续时间。
账本)中的第 N 个tick。
一种可数字化转移的资产。
Token Extensions Program 的程序 ID 为TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb,包含与Token Program 相同的所有功能,但还提供了扩展功能,例如保密转账、自定义转账逻辑、扩展元数据等。
一个可以生成(或“铸造”)代币的账户。不同的代币通过其唯一的 token mint 地址区分。
Token Program 的程序 ID 为TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA,提供了转账、冻结和铸造代币的基本功能。
每秒 交易数。
由 客户端使用一个或多个 密钥对 签名的一个或多个指令,并以原子方式执行,只有两种可能的结果:成功或失败。
交易中的第一个 签名,可用于在完整的账本 中唯一标识该交易。
自交易被接受到 账本 以来的 确认区块数量。当交易所在的区块成为 根时,该交易即被最终确认。
一组可以并行执行的 交易。
Solana 网络 集群中的完整参与者,负责生成新的区块。验证者验证添加到 账本 的交易。
一种需要固定时间执行的函数,它会生成一个运行证明,该证明可以在比生成所需时间更短的时间内验证。
验证者的奖励统计。当验证者到达一个根时,其投票账户会获得一个投票积分。
一个包含多个 密钥对的集合,允许用户管理其资金。
在将 权益 委托后的一些 纪元中,权益逐步生效。在此期间,权益被视为“激活中”。更多信息请参见:热身和冷却