首页>>资讯>>产业

Solana交易手续费细节探讨

2025-02-17 12:22:48 18

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限制。


2. 计算单元价格(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和以太坊手续费对比

4.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通过优化费用市场和执行效率,实现了低成本、高吞吐的区块链交易体验。

声明:本网站所有相关资料如有侵权请联系站长删除,资料仅供用户学习及研究之用,不构成任何投资建议!