Solana 文档参考文献
术语
以下术语贯穿于 Solana 文档和开发生态系统中。
账户
Solana 账本中的一条记录,可以存储数据或是一个可执行的程序。
类似于传统银行的账户,Solana 账户可以持有称为 lamports 的资金。类似于 Linux 中的文件,它可以通过一个密钥寻址,通常被称为 公钥 或 pubkey。
密钥可以是以下之一:
- 一个 ed25519 公钥
- 一个程序派生的账户地址(32 字节值,强制脱离 ed25519 曲线)
- 一个 ed25519 公钥与 32 字符串的哈希值
账户所有者
拥有账户的程序的地址。只有拥有该账户的程序可以修改该账户。
另请参阅 权限。
应用
与 Solana 集群交互的前端应用程序。
权限
对账户拥有某种权限的用户地址。
例如:
- 铸造新代币的能力赋予作为代币铸造的“铸造权限”的账户。
- 升级程序的能力赋予作为程序“升级权限”的账户。
银行状态
在给定的 tick 高度 上解释账本中所有程序的结果。它至少包括持有非零 原生代币 的所有 账户 集合。
区块
由账本上的 条目 组成的连续集合,由一个 投票 覆盖。领导者 在每个 slot 中最多生成一个区块。
区块哈希
标识记录(区块)的唯一值(哈希)。Solana 从区块的最后一个 条目 ID 计算区块哈希。
区块高度
当前区块下方的 区块 数量。创世区块 之后的第一个区块高度为一。
引导验证者
BPF 加载器
Solana 程序拥有并加载 BPF 链上程序,使程序能够与运行时交互。
客户端
访问 Solana 服务器网络 集群 的计算机程序。
承诺
网络对 区块 确认的度量。
紧凑数组格式
紧凑数组是以下列格式序列化的数组:
- 数组长度(编码为 compact-u16)
- 数组项一个接一个地列出
紧凑数组格式
紧凑数组格式用于对交易消息中的 账户地址数组和 指令数组进行编码。
集群
计算预算
每笔交易消耗的最大计算单元数量。
计算单元
用于衡量区块链计算资源消耗的最小单位。计算单元用于衡量处理交易时所消耗的计算资源。
确认时间
确认区块
控制平面
冷却期
在质押被停用后的若干个纪元期间,质押逐步变得可供提取。在此期间,质押被视为“正在停用”。更多信息请参见:预热和冷却。
成本单元
也称为
transaction cost,是对处理交易所需的所有资源的综合估算,单位为计算单元。更多信息请参见这里。
信用
参见投票信用。
跨程序调用 (CPI)
从一个链上程序调用另一个链上程序。更多信息请参见程序间调用。
数据平面
一种多播网络,用于高效验证条目并达成共识。
drone
一种链下服务,作为用户私钥的托管者。通常用于验证和签署交易。
条目
条目 ID
对条目最终内容进行的抗原像性哈希,作为条目的全局唯一标识符。该哈希提供以下证据:
参见历史证明。
epoch
费用账户
交易中的费用账户是支付将交易包含在账本中的成本的账户。这是交易中的第一个账户。由于支付交易费用会减少账户余额,因此该账户必须在交易中声明为可读写(可写)。
最终性
分叉
从共同条目派生但随后分歧的账本。
创世区块
链中的第一个区块。
创世配置
哈希
一段字节序列的数字指纹。
通胀
随着时间的推移,代币供应的增加用于奖励验证者并资助 Solana 的持续开发。
内部指令
请参阅 跨程序调用。
指令
调用 程序 中特定 指令处理器 的调用。指令还指定它希望读取或修改的账户,以及作为辅助输入提供给 指令处理器 的附加数据。客户端 必须在 交易 中至少包含一个指令,并且所有指令都必须完成,交易才会被视为成功。
指令处理器
指令处理器是处理来自 交易 的 指令 的 程序 函数。指令处理器可能包含一个或多个 跨程序调用。
keypair
lamport
一种分数形式的 原生代币,其值为 0.000000001 SOL。
leader
leader 排程
将 验证者 的 公钥 映射到 槽 的序列。集群使用 leader 排程来确定在任何时刻哪个验证者是 leader。
账本
包含由 客户端 签名的 交易 的 条目 列表。从概念上讲,这可以追溯到 创世区块,但实际的 验证者 的账本可能只有较新的 区块,以减少存储需求,因为设计上不需要旧区块来验证未来的区块。
账本投票
在给定 tick 高度 下 验证者状态 的 哈希值。它包括 验证者 对其接收到的 区块 已被验证的确认,以及在特定时间段内(即 锁定期)不对冲突的 区块(例如 分叉)投票的承诺。
轻客户端
一种客户端,可以验证其指向的是一个有效的集群。它执行的账本验证比瘦客户端多,但比验证者少。
加载器
一种具有解释其他链上程序二进制编码能力的程序。
锁定期
消息
交易的结构化内容。通常包含一个头部、账户地址数组、最近的区块哈希以及指令数组。
在交易中的消息格式中了解更多。
微 lamport
1,000,000 微 lamport = 1 lamport
中本聪系数
一种衡量去中心化程度的指标,中本聪系数是能够集体行动关闭区块链的最小独立实体数量。该术语由 Balaji S. Srinivasan 和 Leland Lee 在量化去中心化中提出。
原生代币
节点
参与集群的计算机。
节点数量
链上程序
Solana 区块链上的可执行代码,用于解释每个交易中发送的指令,以读取和修改其控制的账户。这些程序在其他区块链上通常被称为“智能合约”。
PoH
参见历史证明。
点数
奖励机制中的加权积分。在验证者的奖励机制中,赎回期间某个质押应得的点数是投票积分与质押的 lamport 数量的乘积。
私钥
密钥对中的私钥。
程序
请参阅链上程序。
程序派生账户 (PDA)
一个账户,其签名权限由程序控制,因此不像其他账户那样由私钥控制。
程序 ID
历史证明 (PoH)
一组证明,每个证明都证明某些数据在创建该证明之前已经存在,并且在前一个证明之前经过了精确的时间段。类似于VDF(可验证延迟函数),历史证明可以在比生成所需时间更短的时间内验证。
优先费
优先费通过将请求的最大计算单元数乘以计算单元价格(以每计算单元 0.000001 lamports 为增量指定)并向上取整到最近的 lamport 来计算。
交易应请求执行所需的最小计算单元数以尽量减少费用。
公钥 (pubkey)
密钥对中的公钥。
租金
账户和程序在区块链上存储数据所支付的费用。当账户余额不足以支付租金时,它们可能会被垃圾回收。
另请参阅下文的免租金。了解更多关于租金的信息:什么是租金?。
免租金
账户保持与账户中存储的数据量成比例的最低 lamport 余额。所有新创建的账户都会永久存储在链上,直到账户被关闭。无法创建低于免租金阈值的账户。
根
一个已达到最大锁定的区块或slot在验证者上的状态。根是所有活动分叉的祖先中最高的区块。在根的所有祖先区块也会通过传递性成为根。不是根的祖先也不是根的后代的区块将被排除在共识考虑之外,并可以被丢弃。
运行时
Sealevel
Solana 的并行运行时,用于链上程序。
分片
签名
一个 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)大致等于相同的现实时间。
智能合约
参见链上程序。
SOL
Solana 程序库 (SPL)
Solana 上的程序库,如 spl-token,用于执行创建和使用代币等任务。
质押
基于质押权重的服务质量 (SWQoS)
SWQoS 允许对来自质押验证者的交易进行优先处理。
超级多数
集群的 2/3。
系统变量 (sysvar)
一个系统账户。系统变量提供集群状态信息,例如当前的 tick 高度、奖励点数值等。程序可以通过系统变量账户 (pubkey) 或通过系统调用查询来访问系统变量。
精简客户端
tick
一个账本条目,用于估算时钟持续时间。
tick 高度
代币
一种可数字化转移的资产。
Token Extensions Program
Token Extensions Program 的程序 ID 为
TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb,包含与
Token Program
相同的所有功能,但还提供了扩展功能,例如保密转账、自定义转账逻辑、扩展元数据等。
token mint
一个可以生成(或“铸造”)代币的账户。不同的代币通过其唯一的 token mint 地址区分。
Token Program
Token Program 的程序 ID 为
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA,提供了转账、冻结和铸造代币的基本功能。
tps
每秒 交易 数。
tpu
transaction
由 客户端 使用一个或多个 密钥对 签名的一个或多个 指令,并以原子方式执行,只有两种可能的结果:成功或失败。
transaction id
交易 中的第一个 签名,可用于在完整的 账本 中唯一标识该交易。
transaction confirmations
自交易被接受到 账本 以来的 确认区块 数量。当交易所在的区块成为 根 时,该交易即被最终确认。
transactions entry
一组可以并行执行的 交易。
tvu
validator
Solana 网络 集群 中的完整参与者,负责生成新的 区块。验证者验证添加到 账本 的交易。
VDF
参见 可验证延迟函数。
可验证延迟函数 (VDF)
一种需要固定时间执行的函数,它会生成一个运行证明,该证明可以在比生成所需时间更短的时间内验证。
投票
参见 账本投票。
投票积分
验证者的奖励统计。当验证者到达一个 根时,其投票账户会获得一个投票积分。
钱包
一个包含多个 密钥对 的集合,允许用户管理其资金。
热身期
Is this page helpful?