以下术语贯穿于 Solana 文档和开发生态系统中。
账户
Solana 账本中的一条记录,可以存储数据或是一个可执行的程序。
与传统银行的账户类似,Solana 账户可以持有称为 lamport 的资金。集群中的每个账户都有一个唯一的地址。
应用程序
与 Solana 集群交互的前端应用程序。
地址
Solana 中可用于查找账户的位置。每个地址在 Solana 集群中都是唯一的。
Solana 中的地址可以是 Ed25519 公钥或程序派生地址。
地址查找表(ALT)
一种存储账户地址列表的数据结构,允许版本化交易使用紧凑的 1 字节索引而非完整的 32 字节公钥来引用账户。地址查找表使单个交易能够引用比原始交易格式所允许的更多账户。
Anchor
一个用 Rust 构建 Solana 链上程序的框架。Anchor 提供了减少样板代码的宏、标准化的账户验证系统,并生成描述程序接口的 IDL。它是 Solana 程序开发中使用最广泛的框架。
关联代币账户(ATA)
一种代币账户,其地址由钱包地址和代币铸造确定性派生。关联代币账户程序确保每个钱包针对每种代币类型都有一个规范的代币账户。
权限
对某个账户拥有某种权限的用户地址。
例如:
- 铸造新代币的能力授予作为代币铸造"铸造权限"的账户。
- 升级程序的能力授予作为程序"升级权限"的账户。
自动做市商(AMM)
一种链上交易模型,用户针对由定价公式管理的代币储备池进行交易,而非与交易对手的挂单进行交易。价格随储备量变化而变动,因此交易会产生与交易规模成比例的滑点。
银行状态
在给定的时钟高度下,解释账本上所有程序后的结果。它至少包括所有持有非零原生代币的账户集合。
区块
账本上由一个投票覆盖的一组连续条目。一个领导者在每个slot中最多产生一个区块。
区块哈希
标识一条记录(区块)的唯一值(哈希)。Solana 从区块的最后一个条目 ID计算区块哈希。
区块高度
引导验证者
BPF 加载器
拥有并加载 BPF 链上程序的 Solana 程序,使程序能够与运行时交互。
bump
在派生 Program Derived Address 时附加到种子的单个字节(0–255),以确保生成的地址不在 ed25519 曲线上,因此是有效的 PDA。规范 bump 是产生有效 PDA 的最高值,通常保存在账户数据中以避免重新计算。
中央限价订单簿(CLOB)
一种交易模型,维护排序的买单和卖单列表;当传入订单与对面的订单交叉时,交易发生。与自动做市商形成对比。
客户端
访问 Solana 服务器网络集群的计算机程序。
承诺
对区块的网络确认程度的度量。
紧凑数组格式
紧凑数组是按以下格式序列化的数组:
- 数组长度(编码为紧凑型 u16)
- 数组项依次列出
紧凑数组格式
集群
计算预算
每笔交易消耗的计算单位的最大数量。
计算单位
区块链计算资源消耗的最小度量单位。计算单位用于衡量处理交易所使用的计算资源。
确认时间
已确认区块
控制平面
冷却期
质押停用后的若干时期,在此期间质押逐渐变为可提取状态。在此期间,质押被视为"正在停用"。更多信息请参阅:预热和冷却
成本单位
也称为
transaction cost,是对处理交易所需的所有资源的综合估算,以计算单位为单位进行衡量。更多信息请参阅此处。
积分
参见投票积分。
跨程序调用 (CPI)
数据平面
一个用于高效验证条目并达成共识的组播网络。
无人机
一种链外服务,充当用户私钥的托管人。它通常用于验证和签署交易。
条目
条目 ID
对条目最终内容进行抗原像哈希运算,作为条目的全局唯一标识符。该哈希值作为以下证明:
参见历史证明。
epoch
托管
一种模式,其中链上程序代表两方或多方在金库中持有代币,直到满足程序定义的条件后再释放它们。用于消除各方之间直接信任的需要。
手续费账户
交易中的手续费账户是支付将交易纳入账本成本的账户。这是交易中的第一个账户。该账户必须在交易中声明为可读写(可写),因为支付交易会减少账户余额。
最终性
分叉
从共同条目派生但随后分歧的账本。
创世区块
链中的第一个区块。
创世配置
哈希
字节序列的数字指纹。
通货膨胀
随时间推移代币供应量的增加,用于资助验证奖励和 Solana 的持续开发。
内部指令
指令
调用程序中特定指令处理器的请求。指令还指定它想要读取或修改的账户,以及作为指令处理器辅助输入的附加数据。客户端必须在交易中包含至少一个指令,并且所有指令都必须完成才能认为交易成功。
指令处理器
指令处理器是处理来自交易的指令的程序函数。指令处理器可能包含一个或多个 Cross Program Invocation。
IDL
接口定义语言。由 Anchor 生成的 JSON 文件,描述程序的指令处理器、账户和类型。IDL 允许客户端库自动生成用于与链上程序交互的类型化接口。
keypair
lamport
领导者
领导者调度表
一个将 validator 公钥映射到时隙的序列。集群使用领导者调度表来确定任何时刻哪个 validator 是领导者。
账本
一个包含由客户端签名的交易的条目列表。从概念上讲,这可以追溯到创世区块,但实际的 validator 账本可能只保存较新的区块以减少存储空间,因为按照设计,旧区块不需要用于验证未来的区块。
账本投票
在给定时钟高度下 validator 状态的哈希值。它包含了 validator 对已收到的区块已被验证的确认,以及在特定时间段(锁定期)内不对冲突的区块(即分叉)投票的承诺。
轻客户端
一种能够验证其指向有效集群的客户端类型。它执行的账本验证比瘦客户端多,但比 validator 少。
流动性
在当前价格或接近当前价格的位置可供交易的订单深度或池化储备。更深的流动性可以减少滑点。在中央限价订单簿上,流动性由挂单方订单提供;在自动做市商上,流动性由将代币对存入池中的流动性提供者提供。
加载器
锁定期
挂单方
挂单方是指其订单通过在订单簿上挂单而非立即匹配对手方来为中央限价订单簿(CLOB)增加流动性的交易者。此类订单称为挂单订单。挂单方通常无需支付费用或可从交易场所获得返佣。
做市商
做市商是通过持续发布买单和卖单来提供流动性的实体。在 Solana 上,做市商可以是程序(如自动做市商(AMM))或运行机器人在中央限价订单簿(CLOB)上发布挂单订单的链下公司。
消息
消息是交易的结构化内容,通常包含消息头、账户地址数组、最近的区块哈希以及指令数组。
在此处了解更多关于交易中的消息格式的信息。
微 lamport
1,000,000 微 lamport = 1 lamport
中本聪系数
中本聪系数是衡量去中心化程度的指标,表示能够共同关闭区块链的最少独立实体数量。该术语由 Balaji S. Srinivasan 和 Leland Lee 在《量化去中心化》一文中提出。
原生代币
节点
参与集群的计算机。
节点数量
链下
链下是指存在或运行于 Solana 区块链之外的数据、流程或服务,例如 RPC 客户端、索引器、前端界面和链下订单簿做市商。与链上相对应。
链上
链上是指存在或执行于区块链上的数据或程序。
链上程序
Solana区块链上的可执行代码,用于解释每个交易中发送的指令,以读取和修改其控制下的账户。这些程序在其他区块链上通常被称为"智能合约"。
预言机
一个链上程序,从链外发布数据——通常是现实世界资产的价格——供其他程序读取。
所有者
可能指所属程序或所属钱包。例如,getTokenAccountsByOwner获取特定钱包拥有的代币账户,但这些代币账户的所属程序是Token Program。
为避免混淆,最好使用所属程序或所属钱包,而不是使用通用术语"所有者"。
所属程序
另请参阅权限。
所属钱包
与账户关联的钱包。例如,Token Program用于存储与特定钱包和铸币厂关联的代币账户,使用由该钱包和铸币厂生成的地址。
PoH
参见历史证明。
点数
奖励机制中的加权积分。在validator奖励机制中,赎回时欠某个质押的点数是其赚取的投票积分与质押的lamport数量的乘积。
私钥
keypair的私钥。
程序
参见链上程序。
Program Derived Address (PDA)
一个地址基于链上程序和程序作者创建的一个或多个种子生成的账户。PDA地址不是公钥,PDA没有私钥。
程序 ID
历史证明 (PoH)
一系列堆叠的证明,每个证明都证明某些数据在该证明创建之前就已存在,并且距离前一个证明已经过去了精确的时间段。与 VDF 类似,历史证明的验证时间比生成时间要短。
优先级费用
用户可以在计算预算指令中指定的额外费用,用于提高其交易的优先级。
优先级费用的计算方式为:请求的最大计算单元数乘以计算单元价格(以每计算单元 0.000001 lamport 的增量指定),然后向上舍入到最接近的 lamport。
交易应请求执行所需的最少计算单元数,以最大限度地降低费用。
公钥 (pubkey)
密钥对的公钥。公钥是 Solana 上账户可使用的不同类型地址之一。
rent
账户和程序为在区块链上存储数据而支付的费用。当账户余额不足以支付 rent 时,可能会被垃圾回收。
另请参阅下文的 rent exempt。在此处了解有关 rent 的更多信息:什么是 rent?。
rent exempt
账户维持与存储在账户上的数据量成比例的最低 lamport 余额。所有新创建的账户都会永久存储在链上,直到账户被关闭。无法创建低于 rent 豁免阈值的账户。
根区块
已在验证节点上达到最大锁定期的区块或时隙。根区块是验证节点上所有活跃分叉的共同祖先中最高的区块。根区块的所有祖先区块也都传递性地成为根区块。既不是根区块的祖先也不是其后代的区块将被排除在共识考虑之外,可以被丢弃。
运行时
Sealevel
Solana 用于链上程序的并行运行时。
seed
用作派生Program Derived Address时的输入字节值或字节值数组。程序可以使用静态字符串、公钥或其他数据的任意组合作为 seed。seed 与程序 ID 和碰撞值组合,生成唯一的 PDA 地址。
分片
签名
一个 64 字节的 ed25519 签名,由 R(32 字节)和 S(32 字节)组成。要求 R 必须是一个非小阶的压缩 Edwards 点,S 必须是范围在
0 <= S < L
内的标量。此要求确保签名不可伪造。每笔交易必须至少有一个针对手续费账户的签名。因此,交易中的第一个签名可以被视为交易标识符。
签名者
已授权某个指令或交易的账户。对于常规keypair,这意味着对交易进行加密签名。对于Program Derived Address,授权由所属程序在执行Cross Program Invocation时断言,因为 PDA 没有私钥。
跳过率
当前epoch中已跳过slot占总领导者slot的百分比。这个指标可能会产生误导,因为在epoch边界之后样本量较小时具有高方差,对于领导者slot数量较少的validator也是如此,但有时也可用于识别节点配置错误。
已跳过slot
过去未能生成区块的slot,原因是领导者离线或包含该slot的分叉被集群共识放弃而选择了更好的替代方案。已跳过的slot不会作为后续slot区块的祖先出现,也不会增加区块高度,也不会使最旧的recent_blockhash过期。
只有当slot变得比最新的已确定(因此未跳过)slot更旧时,才能确定该slot是否已被跳过。
滑点
交易者预期价格与其交易实际执行价格之间的差异。在自动做市商上,它源于储备变化时定价曲线的移动;在中央限价订单簿上,它源于单个订单以连续更差的价格消耗多个挂单。
slot
所有slot共同构成一个逻辑时钟。slot按顺序排列且不重叠,根据历史证明,每个slot大致对应相等的真实世界时间。
智能合约
参见链上程序。
SOL
Solana程序库(SPL)
Solana上的程序库,例如spl-token,用于促进创建和使用代币等任务。
质押(stake)
质押加权服务质量(SWQoS)
SWQoS允许对来自质押验证者的交易给予优先处理。
绝对多数(supermajority)
集群的三分之二。
System Program
一个原生的Solana程序(程序ID为11111111111111111111111111111111),负责创建新账户、分配账户数据、将账户分配给程序以及在账户之间转移SOL。Solana上的所有新账户都归System
Program所有,直到重新分配。
系统变量(sysvar)
一个系统账户。系统变量提供集群状态信息,例如当前tick高度、奖励点数值等。程序可以通过系统变量账户(公钥)或通过系统调用查询来访问系统变量。
吃单方(taker)
一种交易者,其订单通过跨越订单簿对面并匹配一个或多个挂单,从中央限价订单簿中移除流动性。这种订单称为吃单订单,吃单方通常需要支付交易所的交易费用。
轻客户端(thin client)
时钟周期(tick)
一个账本条目,用于估算实际时钟持续时间。
时钟周期高度(tick height)
代币(token)
一种可数字化转移的资产。
token account
一个持有特定代币余额的账户。token account由Token Program或Token Extensions Program拥有,存储代币余额、关联的代币铸造地址以及所属钱包地址。
Token Extensions Program
Token Extensions Program的程序ID为TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb,包含与Token Program相同的所有功能,但附带了扩展功能,如机密转账、自定义转账逻辑、扩展元数据等。
代币铸造
一个可以生产(或"铸造")代币的账户。不同的代币通过其唯一的代币铸造地址进行区分。
Token Program
Token Program 的程序 ID 为
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA,提供了转账、冻结和铸造代币的基本功能。
tps
每秒交易数。
tpu
交易
由客户端使用一个或多个密钥对签名的一条或多条指令,以原子方式执行,只有两种可能的结果:成功或失败。
交易 ID
交易确认数
自交易被接受到账本以来的已确认区块数量。当交易所在的区块成为根区块时,该交易即被最终确定。
交易条目
一组可以并行执行的交易。
tvu
validator
Solana 网络集群中生成新区块的完整参与者。validator 验证添加到账本的交易。
金库
由链上程序拥有的 token account,代表用户持有池化资产——例如 AMM 的基础和报价储备、托管中的锁定代币,或 CLOB 的静置余额和累积费用。只有拥有该金库的程序才能将代币从金库中转出,通常在满足交易或释放条件后转入用户自己的 token account。
VDF
参见可验证延迟函数。
可验证延迟函数(VDF)
一个执行时间固定的函数,它会生成一个运行证明,然后可以在比生成时更短的时间内进行验证。
版本化交易
一种交易格式,支持原始交易格式之外的附加功能。版本 0(v0)是第一个版本化格式,增加了对地址查找表的支持,使交易能够引用比原始格式允许的更多账户。
投票
参见账本投票。
投票积分
验证者的奖励记录。当validator到达根时,其投票账户会获得一个投票积分。
钱包
一个密钥对集合,允许用户管理他们的资金。
预热期
Is this page helpful?