Solana交易手续费细节探讨

  • Dapplink
  • 发布于 2025-02-17 18:49
  • 阅读 29

Solana的交易手续费体系相比以太坊更为高效,费用低廉,且提供可选的优先费用来提升交易处理速度。要深入理解Solana的交易手续费,我们需要从 手续费结构、计算资源(Compute Units)、局部费用市场(Local Fee Market) 等多个方面展开。

一.Solana 交易手续费的基本结构

Solana 交易手续费主要由两个部分组成: 基础费用(Base Fee): 所有交易都需要支付的固定成本。 优先费用(Prioritization Fee,可选):为了提升交易优先级而支付的额外费用。

1.基础手续费(Base Fee)

计算方式: 每笔交易的最低费用 = 5000Lamports / 每个签名 目标费用: 通常设定为 10000 Lamports / 每个签名 换算关系: 🍊1SOL = 10⁹ Lamports 🍊10000 Lamports = 0.00001 SOL 费用分配: 🍊 50% 手续费被销毁(Burn),减少SOL总供应量。 🍊 50% 手续费支付给验证者(Validator)作为奖励。 特点:基础手续费是固定的,避免了类似于以太坊Gas价格波动带来的高昂成本。

2.优先费用(Prioritization Fee)

用户可以支付额外费用来提升交易的执行优先级,可以选择不给优先费用,这里类似于以太坊的 Priority Fee,但计算方式有所不同: • 计算方式: 费用去向:100%优先费支付给验证者(根据SIMD-0096提案)。 如何设置: 🍊SetComputeUnitLimit:设置计算单元上限(CU Limit)。 🍊SetComputeUnitPrice:设置每个计算单元的价格(以微Lamports计价)。 🍊默认情况: 🍊🍊如果未指定优先费,则CU价格默认为 0,不会额外支付优先费。🍊🍊这也是为什么大部分钱包UI显示的交易费用极低(仅基础费)。

二.计算单元(Compute Units, CU)

Solana采用计算单元(CU)衡量交易所需的计算资源,类似于以太坊的Gas,但具有更低的费用和更高的执行效率。

1.计算单元的核心概念

  • 每个Solana交易需要执行一定的指令,每条指令都会消耗计算单元(CU)。
  • 交易的计算单元上限可配置,但有系统默认值:    🍊 最大限制:1,400,000 CU / 交易(1.4M CU)  🍊 默认限制:200,000 CU / 指令    🍊 可自定义:用户可以通过SetComputeUnitLimit指定更高的CU限制。
  1. 计算单元价格(Compute Unit Price)
    • 计算单元价格(CU Price)以 “微 Lamports” 计价:   
    • 🍊1,000,000 微Lamports = 1 Lamport
    • 通过 SetComputeUnitPrice 指令来调整计算单元价格。

特点:计算单元的价格由用户决定,默认值为0,即不会额外支付优先费。如果用户希望交易更快执行,可以手动提高计算单元价格。

三.Solana的局部费用市场(Local Fee Market)

与以太坊不同,Solana采用局部费用市场机制,这意味着:

  • 不同的合约(程序)有独立的费用市场,不受全网 Gas 竞价影响。
  • 热点交易(如NFT Mint、IDO)可能会提高优先费,但不会影响普通转账的费用。

案例分析:

  • 以太坊的NFT热点 Mint 可能会导致整个链上的交易费用飙升。
  • Solana的局部费用市场确保了NFT交易不会推高整个网络的费用,普通转账仍然保持低廉。

优势:

  • 提高了交易执行效率,避免全网资源竞争
  • 降低了普通用户的交易成本,即使NFT交易很火,转账仍然便宜。

四.为什么复杂合约调用的费用仍然很低?

尽管Solana上的某些交易涉及复杂的合约调用(如DeFi Swap、NFT Mint),但手续费仍然很低,主要原因如下:

最低基础费用(Base Fee)极低

  • 由于Solana的基础费用是固定的,每笔交易最低仅需 0.000005 SOL。
  • 只有在计算单元(CU)消耗超标时,才会增加额外费用。

默认优先费(Priority Fee)为 0

  • 大部分钱包(如 Phantom、Solflare)默认不启用优先费,因此用户看到的费用始终很低。

局部费用市场(Local Fee Market)优化

  • 热点交易(如 NFT Mint、DeFi 交互)并不会影响整个网络的费用。
  • 普通用户的交易不会因热点交易的存在而变贵。

并行执行提高吞吐

  • Solana采用并行执行,多个交易可以在同一个区块中并行处理,提高资源利用率,减少拥堵。

五.Solana和以太坊手续费对比

ff955af7980b9b93d2a9e6d0a3dfc283.png ● Solana 的交易费用远低于以太坊,无论是普通转账还是复杂合约交互。 ● 局部费用市场 确保热点交易不会影响全网交易费用。 ● 用户可以选择是否支付优先费,费用灵活性更高。

六.如何设置计算单元限制和优先费代码示例

● Rust 代码示例

use solana_program::compute_budget::ComputeBudgetInstruction;
// 设置计算单元上限(300,000 CU)
let limit_instruction = ComputeBudgetInstruction::set_compute_unit_limit(300_000);
// 设置计算单元价格(1 微 Lamports/CU)
let price_instruction = ComputeBudgetInstruction::set_compute_unit_price(1);

● JavaScript 代码示例

const { ComputeBudgetProgram } = require('@solana/web3.js');
// 设置计算单元上限(300,000 CU)
const limitInstruction = ComputeBudgetProgram.setComputeUnitLimit({  
    units: 300_000,
});
// 设置计算单元价格(1 微 Lamports/CU)
const priceInstruction = ComputeBudgetProgram.setComputeUnitPrice({  
    microLamports: 1,
});

七.总结

●Solana交易费用极低,最低0.000005SOL,即使是复杂交易也不超过0.01SOL。 ● 优先费是可选项,用户可自行决定是否提高交易优先级。 ● 局部费用市场 使得热点交易不会影响全网费用。 ● Solana的并行执行模型提高了吞吐量,进一步降低了交易成本。

Solana通过优化费用市场和执行效率,实现了低成本、高吞吐的区块链交易体验。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Dapplink
Dapplink
0xBdcb...f214
首个模块化、可组合的Layer3协议。