Appearance
术语
以下术语在整个 Solana 文档和开发生态系统中使用。
账户
一条Solana账本记录,可以持有数据或作为一个可执行程序。
类似于传统银行的账户,Solana账户可以持有称为lamports的资金。如同Linux系统中的文件,它可以通过一个键(通常称为公钥或pubkey)来寻址。
键可能是以下之一:
- 一个ed25519公钥
- 一个程序派生账户地址(32字节值,从ed25519曲线中推导出来)
- 一个ed25519公钥的哈希,附加32字符的字符串
账户拥有者
拥有账户的程序的地址。只有拥有者程序才能修改账户。
应用程序
与Solana集群交互的前端应用程序。
银行状态
在给定tick高度下解释账本上所有程序的结果。它至少包括持有非零原生代币的所有账户集合。
区块
由一个投票覆盖的账本中的连续条目集。一个领导者每个插槽最多生产一个区块。
区块哈希
标识记录(区块)的唯一值(哈希)。Solana从区块的最后一个条目ID计算一个区块哈希。
区块高度
引导验证者
BPF加载器
Solana程序,负责拥有和加载BPF链上程序,使程序能够与运行时接口。
客户端
访问Solana服务器网络集群的计算机程序。
承诺
对区块的网络确认的度量。
集群
计算预算
每笔交易消耗的最大计算单位数。
计算单位
区块链计算资源消耗的最小测量单位。
确认时间
从领导者创建一个tick条目到创建一个确认区块的时钟持续时间。
确认区块
控制平面
冷却期
在质押被停用后的若干周期,期间逐渐变得可以提取。在此期间,质押被认为是“正在停用”。更多信息请参见:质押预热和冷却。
信用
参见投票信用。
跨程序调用(CPI)
数据平面
用于高效验证条目并达成共识的多播网络。
无人机
作为用户私钥托管人的链外服务。它通常用于验证和签署交易。
条目
条目ID
一个对条目最终内容的抗预像攻击哈希,作为条目的全局唯一标识符。该哈希作为以下内容的证据:
参见历史证明
纪元
费用账户
交易中的费用账户是支付将交易包括在账本中的费用的账户。这是交易中的第一个账户。由于支付交易费用会减少账户余额,因此该账户必须在交易中声明为可读写。
最终性
分叉
从共同条目派生但随后分叉的账本。
创世区块
链中的第一个区块。
创世配置
哈希
字节序列的数字指纹。
通货膨胀
随着时间的推移,代币供应量的增加用于资助验证奖励和Solana的持续开发。
内部指令
参见跨程序调用。
指令
调用特定指令处理程序的调用。指令还指定要读取或修改的账户,以及作为辅助输入提供的附加数据。客户端必须在交易中包含至少一个指令,所有指令必须完成,交易才能被视为成功。
指令处理程序
处理交易中指令的程序函数。指令处理程序可以包含一个或多个跨程序调用。
密钥对
lamport
领导者
领导者计划
将验证者公钥映射到插槽的序列。集群使用领导者计划来确定任何时刻的领导者。
账本
包含由客户端签名的交易的条目列表。从概念上讲,可以追溯到创世区块,但实际的验证者的账本可能只包含较新的区块以减少存储,因为较旧的区块在设计上不需要用于验证未来的区块。
账本投票
在给定tick高度上验证者状态的哈希。它包含验证者对已收到的区块的验证确认, 以及在特定时间段锁定期 [分叉](#分叉)的承诺。
轻客户端
一种可以验证其指向有效集群的客户端。它执行的账本验证比薄客户端多,比验证者少。
加载器
能够解释其他链上程序二进制编码的程序。
锁定期
消息
交易的结构化内容。通常包含一个头部、账户地址数组、最近的区块哈希和指令数组。更多关于交易内部消息格式的信息请参见:交易消息格式。
中本聪系数
一种衡量去中心化程度的指标,中本聪系数是可以集体行动关闭区块链的独立实体的最小数量。这个术语由Balaji S. Srinivasan和Leland Lee在量化去中心化中提出。
原生代币
节点
参与集群的计算机。
节点数量
链上程序
Solana区块链上可执行的代码,解释每个交易中发送的指令,读取并修改其控制的账户。这些程序在其他区块链上通常称为“智能合约”。
PoH
详见历史证明
点数
奖励制度中的加权信用。在验证者奖励制度中,兑换期间应获得的权益积分数是获得的投票积分与权益的 Lamport 数量的乘积。
私钥
密钥对的私钥。
程序
详见链上程序
程序派生地址
签名权限为程序的账户,因此不像其他账户那样受私钥控制。
程序id
包含程序的账户的公钥。
历史证明
一个证明堆栈,每个证明都证明在创建前存在一些数据,并且在上一个证明之前经过了精确的时间。像可验证延迟函数 (VDF)一样,历史证明可以在比生成所需时间更短的时间内验证。
优先费用
用户可以在计算预算指令中指定的额外费用,以优先处理他们的交易。优先费用通过将请求的最大计算单位数乘以计算单位价格(以每计算单位0.000001 lamports为增量指定)并四舍五入到最接近的lamport来计算。交易应请求执行所需的最小计算单位数以最小化费用。
公钥 (pubkey)
密钥对的公钥。
租金
由账户和程序支付的在区块链上存储数据的费用。当账户余额不足以支付租金时,账户可能会被垃圾回收。另请参阅下面的租金豁免,更多关于租金的信息请参见:什么是租金?。
租金豁免
维持最小lamport余额与账户存储的数据量成比例的账户。所有新创建的账户永久存储在链上,直到账户关闭。不可能创建低于免租门槛的账户。
根
在验证者上达到最大锁定期的区块或插槽。根是所有活动分叉的祖先的最高区块。根的所有祖先区块也都是根。不是根的祖先且不是根的后代的区块将被排除在共识考虑之外,并可以被丢弃。
运行时
海平面
Solana的并行运行时,用于链上程序。
分片
签名
一个64字节的ed25519签名,包含R(32字节)和S(32字节)。R是一个不小序的Edwards点,S是0 <= S < L范围内的标量。这个要求确保没有签名可变性。每个交易必须至少有一个签名用于费用账户。因此,交易中的第一个签名可以视为交易ID。
跳过率
当前纪元中领导者插槽的总插槽中跳过插槽的百分比。由于样本量小,因此在纪元边界后和对领导者插槽数量较少的验证者可能具有高方差,但有时也可用于识别节点配置错误。
跳过插槽
由于领导者离线或集群共识放弃了包含插槽的分叉而未产生区块的过去插槽。跳过的插槽不会作为后续插槽的祖先出现,不会增加区块高度,也不会过期最旧的recent_blockhash。是否跳过插槽只能在最新根插槽之后确定。
插槽
每个领导者吸收交易并生成区块的时间段。插槽集合创建一个逻辑时钟。插槽按顺序排列且不重叠,大致相当于实际世界的时间,依据历史证明 (PoH)。
智能合约
参见链上程序。
sol
Solana程序库 (SPL)
Solana上的程序库,如spl-token,便于创建和使用代币等任务。
质押
质押加权服务质量 (SWQoS)
SWQoS允许交易从质押验证者中获得优先处理。
超级多数
集群的2/3。
系统变量
系统账户。系统变量提供集群状态信息,如当前tick高度、奖励点数值等。程序可以通过系统变量账户(公钥)或通过系统调用访问系统变量。
薄客户端
tick条目
估算时钟持续时间的账本条目。
tick高度
代币
一种数字可转移的资产。
代币扩展程序
代币扩展程序的程序ID为TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
,包括与代币程序相同的功能,但附带扩展,如保密转账、自定义转账逻辑、扩展元数据等。
代币程序
代币程序的程序ID为TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
,提供代币转账、冻结和铸造的基本功能。
每秒交易数 (tps)
每秒的交易数量。
交易处理单元 (tpu)
交易
由一个或多个客户端使用一个或多个密钥对签名的一个或多个指令,原子性地执行,只有两种可能结果:成功或失败。
交易ID
交易确认数
自交易被接受到账本以来的确认区块数量。当交易的区块成为根时,交易即被最终确定。
交易条目
可以并行执行的一组交易。
交易验证单元 (tvu)
验证者
在Solana网络集群中生成新区块的完整参与者。验证者验证添加到账本中的交易。
可验证延迟函数 (VDF)
一个需要固定时间执行并生成可验证其运行的证明的函数,该证明可以在比生成所需时间更短的时间内验证。
投票
参见账本投票。
投票信用
对验证者的奖励统计。当验证者达到一个根时,投票信用会被奖励到其投票账户。
钱包
管理资金的一组密钥对。