本文由 AI 生成,請獨立核實重要資訊。

Solana 交易失敗的原因:5 種解決方法

Crypto Wiki|Oct 6, 2026|★★★★★★4.5 (500 人評分)
AI 摘要

Learn why Solana transactions fail and how to fix them. Covers blockhash expiry, priority fees, slippage, compute units, and RPC issues with step-by-s...

這份以行動為導向的指南專注於解決 Solana 交易失敗的五種實用修復方法,以及可能防止重複失敗的步驟。

Solana 交易失敗有五個原因:

  1. 區塊雜湊在網路確認交易前已過期
  2. 優先費用過低,無法滿足當前網路需求
  3. 去中心化交易所兌換超出了滑點公差
  4. 計算單位預算在執行中途耗盡
  5. 連接錢包到網路的 RPC 節點超載

✅ 您的資金是安全的

失敗的 Solana 交易不會從您的錢包中扣除代幣。您的 SOL 和代幣仍保留在原處。您最多可能損失一筆微小的基礎網路費用,通常低於 0.001 美元。您的兌換金額、轉帳金額或 NFT 鑄造價格並未被扣除。


本頁內容:


為什麼 Solana 交易會失敗:發生了什麼事

在價格變動時眼睜睜看著 Solana 交易失敗是令人沮喪的,尤其是當錯誤訊息沒有提供任何有用資訊時。如果您在 Jupiter、Raydium、Orca 或 Magic Eden 上的兌換、鑄造或轉帳剛剛失敗,原因幾乎總是五種情況之一,且每種情況都有特定的解決方法。

在 Solana 的去中心化金融 (DeFi) 生態系統中,包括代幣兌換、提供流動性、借貸協議和 NFT 鑄造,交易失敗會帶來實際的財務後果,因為價格在毫秒內就會發生變動。Solana 的架構使其比大多數區塊鏈更快、更便宜,但也創造了以太坊或其他鏈的用戶所意想不到的失敗模式。與交易在隊列中緩慢等待的網絡不同,Solana 使用一種名為 Gulf Stream 的交易轉發協議,它會直接捨棄無法立即處理的交易。這裡沒有隊列。失敗的交易需要使用正確的設定主動重新提交。

本指南涵蓋了您的加密貨幣錢包(如 Phantom 或 Backpack)、Jupiter、Raydium、Orca 和 Magic Eden 的失敗情況。如果您懷疑 Solana 本身今天出現問題,請在排查您的設定之前,先跳轉到 網路狀態章節。


Solana 交易失敗的 5 個根本原因

Solana 交易失敗分為兩類:網路層級失敗(區塊雜湊過期、擁塞、RPC 節點超載)以及來自運行您所使用應用程式的智能合約(或程式)的程式層級拒絕。滑點公差錯誤和計算預算錯誤屬於程式層級拒絕;區塊雜湊過期和優先費用不足則屬於網路層級。修復方法取決於您面臨的類型。

Solana 使用一種稱為歷史證明 (Proof of History) 的計時系統,它生成一個加密序列,驗證者使用該序列在不互相溝通時間戳記的情況下就時間達成一致。此序列中的每個插槽 (slot) 都會生成一個區塊雜湊 (blockhash),這是一種嵌入在每筆交易中以證明交易是最新狀態的類時間戳記代碼。這種基於插槽的架構創造了 Solana 獨特的過期窗口,也是其失敗模式與其他區塊鏈區別開來的原因。

原因 1:區塊雜湊 (Blockhash) 已過期

每一筆 Solana 交易都帶有一個 區塊雜湊 (blockhash),用以證明該交易是最近創建的。如果此區塊雜湊在網路確認交易之前過期,Solana 會完全捨棄該交易。

每個區塊雜湊的有效期大約為 150 個插槽,在正常情況下約等於 60 到 90 秒。在網路擁塞期間,驗證者的處理進度會落後,這意味著交易在相對意義上會更快過期。您會看到的錯誤訊息是 Blockhash not found 或 Transaction expired。

Solana 使用 Gulf Stream 而非傳統的交易隊列,這意味著被捨棄的交易不會重新排隊等待。它會直接消失。您必須透過錢包或平台介面再次發起交易來主動重新提交。錢包在新的提交中會自動獲取新的區塊雜湊。關於重新提交的程序,請參閱 修復 3:使用新的區塊雜湊重新提交。

⚠️ 開發者筆記

在每次重試嘗試時,務必使用 connection.getLatestBlockhash('confirmed') 獲取最新的區塊雜湊。切勿在多次重試中重複使用同一個區塊雜湊。在正式環境中使用 confirmed 或 finalized 確認級別,而非 processed,以避免過時狀態。在每次重試前透過調用 getSignatureStatuses 來檢測交易是被捨棄還是已處理。

在網路擁塞期間,Solana 的驗證者(即處理您交易的電腦)會根據優先費用水平來選擇優先處理哪些交易。

優先費用 (Priority Fee) 是支付給驗證者的選用小費,以每計算單位多少 micro-lamports 來衡量。一個 lamport 等於 0.000000001 SOL;一個 micro-lamport 是百萬分之一 lamport。在熱門 NFT 發售或市場劇烈波動的高流量期間,驗證者會優先處理具有較高優先費用的交易。優先費用為零或不足的交易會被捨棄而非排隊。

一個相關的 SOL 餘額不足錯誤原因:Solana 要求每個帳戶維持一個稱為「免租金門檻」的最低餘額,以保持在網路上的活躍狀態。如果扣除費用後您的錢包餘額低於此門檻,或者交易會創建一個沒有足夠 SOL 資助的新代幣帳戶,即使您看起來有足夠的 SOL 進行交易,也會看到 Insufficient funds 錯誤。請在交易金額之外保留 0.05 SOL 的緩衝金額。

這就是為什麼在不更改設定的情況下重新提交同一筆交易通常會再次失敗的原因。有關設定正確費用水平的指引,請參閱 修復 1:增加您的優先費用。

⚠️ 開發者筆記

在交易的第一個指令中加入 ComputeBudgetProgram.setComputeUnitPrice(microLamports)。輪詢 getRecentPrioritizationFees() 以進行動態估算,而非使用靜態倍數。費用水平會隨網路需求而變化,因此在擁塞高峰期靜態值會變得不可靠。透過監控 HTTP 429(速率限制)、503(服務不可用)和連線逾時錯誤來檢測故障轉移觸發因素。

每一筆 Solana 交易都在一個稱為 計算單位 (Compute Units) 的處理預算上運行,這衡量了交易所需的計算工作量。簡單的轉帳消耗的預算非常少。複雜的操作,例如透過三或四個流動性池進行的多跳去中心化交易所 (DEX) 兌換,消耗的量則要大得多。

如果您的交易在完成前耗盡其計算單元預算,Solana 將會取消它。您將看到的錯誤是 計算預算已超出 或 程式未能完成。

在發送交易之前,Phantom 和其他錢包會執行一項稱為交易模擬的預先檢查,該檢查會在不實際提交交易的情況下,針對目前的區塊鏈狀態執行交易。如果模擬偵測到計算單元將被耗盡,它將會封鎖該交易並顯示 交易模擬失敗。大多數模擬失敗都表示交易本身存在實際問題,但偶爾過時的狀態資料也會導致原本會成功的交易出現錯誤失敗。

對於使用現代 DEX 介面的大多數使用者來說,計算單元限制是自動設定的。如果您看到計算預算錯誤,請在嘗試手動調整之前,使用 DEX 的內建重試按鈕。如需詳細步驟,請參閱 修復 5:調整計算單元預算。

⚠️ 開發者筆記

在交易中加入 ComputeBudgetProgram.setComputeUnitLimit(units) 作為第一條指令。先執行 simulateTransaction() 來測量實際的計算單元消耗量,然後將限制設定為實際消耗量乘以 1.1 作為 10% 的緩衝。將限制設定得太低會導致 InstructionError 失敗;將限制設定得太高則會浪費手續費預算,但不會導致失敗。

原因 4:滑點容忍度已超出

滑點容忍度是您的去中心化交易所(DEX,您可以在其中直接從錢包進行代幣交換的平台)為您設定的保護機制。如果在您要求交換代幣的瞬間與其執行時之間,代幣的價格移動超過您設定的閾值,智能合約將會取消交易,以保護您免受比預期更差的價格影響。

這是一種保護性失敗,並非損失。您的本金是安全的;交換並未執行。您將看到的錯誤是 滑點容忍度已超出。

滑點失敗最常發生在波動性代幣、流動性低的交易對,以及在交易擁塞期間,此時從價格報價到執行之間會有較長的延遲。如果流動性池的儲備非常低,即使是 5% 的滑點容忍度也可能不夠,因為該池無法以任何合理價格容納您的交易規模。在這種情況下,請嘗試減少您的交換金額或切換到不同的交易對。

Jupiter、Raydium 和 Orca 是最常遇到此失敗的去中心化交易所。如需逐步調整說明,請參閱 修復 2:調整您的滑點容忍度。

原因 5:RPC 節點過載

您的 Solana 錢包連接到一個稱為RPC 節點的伺服器來提交交易。您可以將其想像成將您的交易傳遞給驗證者網路的郵局。每次您在 Phantom 或 Backpack 中點擊確認時,錢包都會將您的交易發送到 RPC 節點,然後 RPC 節點會將其轉發給驗證者。

Solana 的免費公共 RPC 端點有速率限制,並且在高需求期間經常過載。在熱門的 NFT 啟動或市場急劇變動期間,公共 RPC 節點收到的提交量遠超過它們能處理的量,它們會在交易甚至到達驗證者之前就將交易丟棄。發生這種情況時,您可能會看到 無法確認交易 或經歷無任何錯誤訊息的靜默失敗。

切換到專用的 RPC 提供者,例如 Helius 或 QuickNode(兩者都提供免費方案),可以為您的交易提供更可靠的網路路徑。有關切換 RPC 的步驟,請參閱 修復 4:切換到更好的 RPC 端點。

⚠️ 開發者筆記

在您的應用程式設定中維護一個備用 RPC 端點列表。當主要端點返回錯誤或超時時,實施自動故障轉移邏輯。使用 WebSocket signatureSubscribe 進行交易確認監控,而不是使用 HTTP 輪詢 getSignatureStatuses,因為 WebSocket 訂閱在高負載下更快、更可靠。


Solana 錯誤訊息解碼:各自的含義

來自失敗的 Solana 交易的錯誤訊息會出現在您的錢包活動記錄(Phantom 或 Solflare)、Solana Explorer (explorer.solana.com) 或 Solana FM (solana.fm) 上。若要查找特定的失敗交易,請從您錢包的交易記錄中複製交易簽章,並將其貼到任一瀏覽器中。失敗的交易會顯示紅色的錯誤狀態以及特定的錯誤代碼。

在發送任何交易之前,Phantom 會執行模擬以預測它是否會成功。如果此預先檢查失敗,Phantom 會顯示 交易模擬失敗 並封鎖提交。大多數模擬失敗都表示您的設定存在實際問題,但偶爾過時的資料會導致錯誤失敗。在這種情況下,重新整理頁面並重試一次是適當的。

錯誤字串失敗類型白話文解釋立即修復
Transaction simulation failed網路或程式級別Phantom 的預先檢查預測此交易將會失敗。原因可能是滑點、資金不足或狀態過時。檢查 Phantom 中的錯誤內容,調整滑點或 SOL 餘額;請參閱 修復 1 或 修復 2
Blockhash not found / Transaction expired網路級別您的交易區塊雜湊在網路處理之前過期。交易已被捨棄,未排隊。從頭重新提交;請參閱 修復 3:新的區塊雜湊
Slippage tolerance exceeded程式級別在執行前,代幣價格已超過您設定的閾值。您的本金是安全的。增加滑點容忍度;請參閱 修復 2:滑點容忍度
Insufficient funds for fee網路級別您的錢包沒有足夠的 SOL 來支付交易費用,或新的代幣帳戶的租金豁免門檻。加入 SOL;在您的交易金額之上保留 0.05 SOL 的緩衝額
Compute budget exceeded / Program failed to complete程式級別交易在完成前耗盡了其計算預算。多步驟交換最常見。使用 DEX 的內建重試按鈕;請參閱 修復 5:計算單元預算
InstructionError: custom program error: [code]程式級別應用程式的智能合約拒絕了交易。數字代碼是應用程式特定的。檢查 DEX 或 dApp 文件以了解該錯誤代碼;使用調整後的參數重新提交
Transaction was not confirmed in 30.00 seconds網路級別交易已被提交,但在超時窗口內未確認。它可能已被捨棄,也可能沒有。在重新提交之前檢查 Solana Explorer 以確認交易是否已達成;請參閱 修復 3
Account not found程式級別需要的帳戶(通常是新代幣的代幣帳戶)尚不存在。現代的 DEX 介面會自動解決此問題;如果持續存在,請檢查您錢包中的代幣帳戶設定

如何修復失敗的 Solana 交易

快速修復清單(如果您不確定哪一項適用,請從修復 1 開始):

  1. 將您的優先費用增加到「快速」或「渦輪」並重新提交
  2. 將滑點容忍度提高 0.5% 至 1% 並重新提交
  3. 使用新的區塊雜湊重新提交(等待 5 秒,然後再次從 DEX 開始)
  4. 在您的錢包設定中切換到專用的 RPC 端點
  5. 如果懷疑網路擁塞,請在重試前在 status.solana.com 查看 Solana 網路狀態

在活躍交易時段,大多數失敗的交易是由於優先費用不足造成的,因此當您不確定時,修復 1 是正確的起點。

修復 1:增加您的優先費用

增加優先級費用(Priority Fee)是在網路擁堵期間修復交易失敗最有效的方法。它會向驗證者發出信號,優先處理您的交易,而非那些手續費較低的交易。

費用水平會隨網路需求而波動。請使用錢包的自動估算功能,或查看 Solana Beach 以了解目前的網路狀況。請勿依賴特定的 Lamport 數值,因為它們變化極快。

優先級費用層級參考:

費用層級何時使用在 Jupiter 中在 Phantom 中
自動 / 標準低流量時期、簡單轉帳自動市場 (Market)
快速交易活躍時段、輕度擁堵快速 (Fast)高 (High)
極速擁堵高峰、NFT 鑄造、競爭性交易極速 (Turbo)自定義 (最大值)
自定義精確控制或程式化使用輸入 micro-lamports輸入 micro-lamports

如何在 Jupiter 增加優先級費用(界面可能因版本而異):

  1. 在 jup.ag 開啟 Jupiter
  2. 點擊兌換面板中的設定齒輪圖示
  3. 選擇優先級費用 (Priority Fee)
  4. 選擇「快速」或「極速」,或輸入「自定義」數值
  5. 重新提交您的兌換交易

如何在 Phantom 增加優先級費用:

  1. 開啟 Phantom 錢包
  2. 前往「設定」
  3. 選擇「交易」
  4. 將「交易速度」調整為「高」或「自定義」
  5. 返回您的 DEX 並重新提交

若使用 Raydium,請點擊兌換界面中的設定齒輪,選擇優先級費用,選擇更高的層級後重新提交。平台特定失敗表格 顯示了每個平台的確切操作路徑。

⚠️ 開發者說明

將 ComputeBudgetProgram.setComputeUnitPrice(microLamports) 作為您交易中的第一條指令。調用 getRecentPrioritizationFees() 以獲取當前網路費用的百分位數,而非使用靜態倍數。超額支付會浪費 SOL,但不會導致交易失敗。

修復 2:調整您的滑點容差

如果您的兌換因滑點容差錯誤而失敗,修復方法是放寬可接受的價格範圍,但放寬的幅度至關重要。

⚠️ 重要警告

在低流動性代幣對上將滑點設置在 3% 到 5% 以上,會使您面臨 MEV 夾心攻擊(Sandwich Attacks),機器人會偵測到您的待處理交易並進行搶先交易以獲取價值。請逐步增加滑點,而非一次大幅調整。

如何在 Jupiter 調整滑點(界面可能因版本而異):

  1. 開啟 Jupiter 並點擊設定齒輪圖示
  2. 選擇「滑點容差」
  3. 將當前設置調高 0.5% 至 1%(例如,從 0.5% 調整為 1.5%)
  4. 重新提交您的兌換交易

若使用 Raydium:點擊設定齒輪,選擇「滑點」,輸入調整後的百分比後重新提交。若使用 Orca:點擊「設定」,調整「滑點容差」後重新提交。平台特定失敗表格 顯示了每個 DEX 的確切操作路徑。

如果您使用的是 Jupiter,請檢查界面中是否有「動態滑點」功能。此功能會根據目前的市場狀況,自動為每筆交易計算最佳滑點。

如果某個代幣即使在 5% 滑點下仍持續失敗,問題可能在於資金池流動性不足,而非價格變動。請嘗試減少兌換金額或將交易拆分為更小的筆數。

修復 3:使用新的區塊哈希 (Blockhash) 重新提交

區塊哈希到期(交割合約過期)可透過重新提交來解決,但您不能發送相同的交易對象。Solana 要求每次提交都要使用新的區塊哈希。

由於 Solana 使用 Gulf Stream 而非傳統的交易隊列,丟失的交易無法「恢復」。交易已消失,必須重新創建一個全新的交易。

對於一般用戶(Phantom, Jupiter, Raydium):

  1. 失敗後等待 5 到 10 秒
  2. 不要再次點擊同一個確認畫面上的提交按鈕
  3. 返回兌換界面,從頭開始發起交易
  4. 當您重新提交時,錢包會自動獲取新的區塊哈希

在重新提交前: 請檢查 Solana Explorer (explorer.solana.com) 以確認交易是否真的未成功。將您的交易簽名貼入搜尋欄。如果交易顯示為「已確認 (Confirmed)」,請勿重新提交。

⚠️ 開發者說明

在每次重試前,使用 connection.getLatestBlockhash('confirmed') 獲取最新的區塊哈希。實施指數退避策略:第一次重試前等待 1 秒,第二次 2 秒,第三次 4 秒。在向用戶顯示錯誤前,設置最大重試次數為 5 次。在生產環境中獲取區塊哈希時,請使用 confirmed 或 finalized 確認層級,而非 processed。

修復 4:切換到更好的 RPC 節點

Solana 的免費公共 RPC 節點 (api.mainnet-beta.solana.com) 設有速率限制,且在需求高峰期經常過載,使得提交的交易在到達驗證者之前更有可能被丟棄。

在擁堵期間,專用的 RPC 提供商(如 Helius 和 QuickNode)通常比公共 Solana 主網 RPC 提供更高的可靠性。這兩家提供商都提供適合個人用戶的免費層級。

如何在 Phantom 切換 RPC(界面可能因版本而異):

  1. 開啟 Phantom 錢包
  2. 前往「設定」
  3. 選擇「開發者設定」
  4. 選擇「更改 RPC 節點」
  5. 輸入您的 Helius 或 QuickNode 節點 URL
  6. 確認並重新提交您的交易

如何在 Solflare 切換 RPC:

  1. 開啟 Solflare 錢包
  2. 前往「設定」
  3. 選擇「網路」
  4. 選擇「自定義 RPC」並輸入您的節點 URL
  5. 儲存並重新提交您的交易

⚠️ 開發者說明

在您的應用程序配置中保留一份備用 RPC 節點清單。實施自動故障轉移邏輯,以便當主要節點返回錯誤或超時時,應用程序能自動切換到備用節點。使用 WebSocket 的 signatureSubscribe 來監控交易確認,而非使用 getSignatureStatuses 輪詢,因為在重載下 WebSocket 連接速度更快。

修復 5:調整計算單元預算 (Compute Unit Budget)

對於一般用戶,大多數現代 DEX 界面(包括 Jupiter 和 Raydium)會自動設置計算單元限制。如果您看到 Compute budget exceeded 錯誤,請使用該 DEX 內建的重試或刷新功能,而非手動調整設置。

如果錯誤持續存在,請嘗試簡化您的兌換路徑。通過單一資金池的直接路徑比通過四、五個資金池的複雜多跳路徑消耗更少的計算單元。在 Jupiter 中,請在路徑設置中尋找「僅限直接路徑 (Direct Route Only)」選項。

如果您的兌換在特定交易對上持續失敗,可能是該路徑暫時處於高需求狀態。通常等待幾分鐘後重新提交即可解決問題,無需更改任何設置。

⚠️ 開發者說明

將 ComputeBudgetProgram.setComputeUnitLimit(units) 作為交易中的第一條指令。先運行 simulateTransaction() 來測量實際的計算單元消耗,然後將限制設置為實際消耗的 1.1 倍,作為 10% 的安全緩衝。設置限制過低會導致 InstructionError 失敗;設置過高則會浪費手續費預算,但不會導致失敗。


平台特定失敗:Phantom, Jupiter, Raydium 和 Magic Eden

最常見的 Solana 失敗案例會根據您使用的平台而有不同的表現。請查看下方的對照表找到您的平台,然後閱讀相關章節以了解詳情。

平台最常見的失敗原因滑點設置位置優先費用位置
Phantom交易模擬失敗、SOL 餘額不足不適用(僅限錢包)設置 → 交易 → 交易速度
Jupiter超出滑點、優先費用不足齒輪圖示 → 滑點容差齒輪圖示 → 優先費用(自動/快速/極速)
Raydium流動性薄弱的資金池產生高價格影響設置齒輪 → 滑點設置齒輪 → 優先費用
OrcaWhirlpool 集中流動性倉位的滑點問題設置 → 滑點容差設置 → 交易速度
Magic Eden鑄造活動期間的網絡擁塞不適用鑄造開始前的錢包設置

Jupiter 兌換失敗

Jupiter 的多跳路由將您的兌換發送到多個流動性池以尋找最佳價格。每一次額外的路由跳轉都會增加計算單位的消耗,並增加價格波動超出滑點容差的可能性。

Jupiter 兩個最常見的特定失敗原因是波動代幣對超出滑點容差,以及由於優先費用不足導致的 交易模擬失敗。這兩者都可以透過在重新提交前調整 Jupiter 齒輪選單中的設置來修復。

Jupiter 內建的優先費用選擇器提供一般、快速、極速和自定義選項。在任何活躍的交易時段,建議最低設置為「快速」。在 NFT 啟動或市場劇烈變動期間,請使用「極速」。

一些舊版錢包不支持 Jupiter 的版本化交易格式。如果您看到的是交易格式錯誤而非滑點或費用錯誤,請檢查您的錢包軟體是否為最新版本。

Raydium 和 Orca 兌換失敗

Raydium 和 Orca 的 AMM 失敗最常源於流動性有限的資金池所產生的高價格影響。即使設置了寬鬆的滑點,資金池也無法以合理的價格容納您的交易規模。

在 Raydium 或 Orca 上確認任何兌換之前,請檢查界面中顯示的價格影響百分比。如果價格影響超過 2% 到 3%,則該交易規模對於該池中可用的流動性而言太大。請減少您的兌換金額,或將交易拆分為兩到三次連續提交的小額兌換。

對於 Orca 的 Whirlpool 集中流動性倉位,滑點可能特別敏感。如果集中池已移出其活動價格範圍,則無論您的滑點設置如何,交易都會失敗。在這種情況下,請嘗試不同的資金池或透過 Jupiter 的聚合器進行路由,它會自動尋找替代路徑。

Magic Eden 和 NFT 鑄造失敗

Magic Eden 上的 NFT 鑄造失敗與例行的 DEX 失敗不同,因為問題不在於您的設置。問題在於在狹窄的啟動窗口期間同時提交了數千筆交易,這會使網絡不堪重負,並導致驗證者在處理低優先費用交易之前就將其丟棄。

使用 Candy Machine 程序的的高需求鑄造會產生極端競爭。機器人每秒提交數百筆交易,使公共 RPC 和驗證者隊列都達到飽和。

高需求啟動期間成功鑄造的三步驟協議:

  1. 在鑄造窗口開啟前,將錢包中的優先費用設置為「極速」或最高可用設置
  2. 從公共 Solana RPC 切換到專用供應商,如 Helius 或 QuickNode(免費方案即足夠)
  3. 保持鑄造頁面完全加載且錢包連接已預先批准;在鑄造開啟時立即提交交易,而不是在頁面刷新後

如果鑄造交易失敗,您的 SOL 本金會自動退回。僅消耗約 0.000005 SOL 的微小網絡費用。一些項目還使用白名單機制和 Candy Guards,因此如果即使設置正確交易仍持續失敗,請確認您是否符合當前鑄造階段的資格。


Solana 當機了嗎?如何檢查網絡狀態

大多數 Solana 交易失敗並非由網絡斷線引起。它們源於用戶端的設置或暫時的網絡擁塞。真正的斷線(網絡完全停止)非常罕見,並且會正式宣佈。

三步驟狀態檢查:

  1. 前往 status.solana.com,這是 Solana 的官方網絡狀態頁面,檢查來自 Solana 基金會的任何活躍事件報告。
  2. 前往 Solana Beach 並檢查實時每秒交易量 (TPS) 數據和平均確認時間。活躍 TPS 期間的高失敗率表示網絡擁塞,而非斷線。
  3. 檢查 r/solana 或 Solana Discord。如果許多用戶同時報告失敗,則網絡處於擁塞狀態。如果只有少數人報告,則問題可能出在您這邊。
情況該怎麼辦
網絡擁塞但未斷線等待 5 到 15 分鐘,然後以更高的優先費用重新提交。隨着擁塞清除,費用會自然下降。
status.solana.com 確認網絡斷線等待官方修復公告。在斷線期間不要持續重新提交。
網絡正常,交易仍失敗返回 修復方法 1 至 5 並檢查您的設置。

Solana 交易失敗後還需要支付費用嗎?

是的,即使交易失敗,Solana 也會收取少量的基礎費用,但您的代幣以及兌換、轉賬或鑄造的本金不會從錢包中扣除。

您的代幣是安全的。交易在任何兌換或轉賬執行前就已失敗。

基礎費用約為每個簽名 0.000005 SOL,在大多數 SOL 價格水平下僅相當於不到一美分。這筆費用是為了補償驗證者處理交易嘗試的開銷,即使該嘗試未成功。如果您包含了優先費用,該金額也會被消耗。您試圖兌換的代幣金額、試圖發送的 SOL 或試圖支付的 NFT 價格從未被扣除。

在交易到達驗證者之前被過載的 RPC 節點靜默丟棄的交易完全不會收取任何費用,因為鏈上沒有該交易的記錄。

若要確切核對任何失敗交易所收取的費用:

  1. 從錢包的交易歷史記錄中跟單交易簽名
  2. 將其貼上到 Solana Explorer 或 Solana FM
  3. 找到失敗的交易,該交易會顯示紅色錯誤狀態
  4. 檢查「費用」欄位以查看收取的確切 SOL 金額

交易前檢查清單:如何防止 Solana 交易失敗

在任何對時間敏感的交易前執行此檢查清單只需不到 60 秒,並能消除最常見的失敗原因。

  1. 在市場劇烈波動期間進行任何交易前,請查看 status.solana.com 以了解是否有進行中的事件
  2. 在活躍交易時段內,將您的優先費用至少設置為「快速」;對於時間敏感的交易或 NFT 鑄造,請使用「極速」
  3. 驗證您的滑點容差是否與代幣交易對的波動性匹配:穩定幣對(如 USDC/USDT)為 0.5%,中型代幣為 1% 到 2%,波動較大的小型代幣最高可達 3%
  4. 確認您的 SOL 餘額足以支付交易金額、費用以及 0.05 SOL 的免租金門檻緩衝金
  5. 對於時間敏感或高價值的交易,請從 Solana 的公共 RPC 切換到專用供應商,例如 Helius 或 QuickNode(兩者均提供免費方案)
  6. 對於 NFT 鑄造:在鑄造窗口開啟前配置您的優先費用和 RPC,而不是在開啟期間
  7. 對於大型 DEX 兌換:在確認前檢查價格影響百分比;如果價格影響超過 2% 到 3%,請減少兌換金額或拆分為較小的交易
  8. 當可用時,請信任您 DEX 內建的費用優化器;Jupiter、Raydium 和 Orca 都會提供根據當前網絡狀況調整的自動費用建議

⚠️ 開發者說明

在正式生產的 dApp 中,請實施基於模擬的運算單元估算,而非使用靜態限制。動態輪詢 getRecentPrioritizationFees(),並在每次提交交易時更新您的費用建議。實施 RPC 故障轉移,以便您的應用程式能自動切換至備用節點。切勿在重試嘗試中重複使用 blockhash。


常見問題:修復 Solana 交易失敗的五種方法

下方的每個回答都是獨立的。您無需閱讀本指南的其他部分即可使用此常見問題解答。

導致 Solana 交易失敗的原因是什麼?

Solana 交易失敗有五個原因:blockhash 過期、優先費用不足、運算單元預算耗盡、超出滑點容差或 RPC 節點過載。網絡級別的失敗需要增加您的優先費用並重新提交。程式級別的拒絕則需要調整交易參數,例如滑點容差或交換金額。請參閱 5 個根本原因 以了解各項目的詳細說明。

是的。即使交易失敗,Solana 也會收取少量的基礎交易費用(約 0.000005 SOL),但您的代幣和交換本金不會被扣除。在到達網絡之前被過載的 RPC 節點靜默丟棄的交易不會收取任何費用,因為它們沒有留下鏈上記錄。請參閱 是否仍需支付費用 以獲取驗證說明。

Solana 交易在大約 150 個 slot(插槽)後過期,在正常網絡條件下約為 60 到 90 秒。在擁塞期間,有效的過期時間可能會感覺更短,因為驗證者在處理上落後了。過期後,交易將被永久丟棄,必須重新開始提交。

blockhash 是嵌入在每筆 Solana 交易中的類似時間戳的代碼,證明該交易是最近創建的。驗證者使用它來驗證交易是否為最新,且未從先前的會話中重放。blockhash 在大約 150 個 slot 後過期;之後,交易將被拒絕,並出現 Blockhash not found 或 Transaction expired 錯誤。

運算單元是 Solana 衡量交易消耗處理資源的指標。簡單的轉帳消耗量較少;複雜的多跳 DEX 交換消耗量顯著更高。如果交易在完成前耗盡了運算單元預算,Solana 會取消交易並返回錯誤 Compute budget exceeded。現代 DEX 界面會為大多數用戶自動設置運算單元限制。

優先費用是支付給驗證者的可選小費(以每運算單元的 micro-lamports 計),以便在擁塞期間使您的交易排在低費用提交之前。Solana 的基礎費用是固定且低廉的;優先費用則是決定交易處理速度的變動部分。費用水平隨網絡需求而異,因此請使用錢包的自動估算功能或 Helius 優先費用 API 獲取當前數值。

從您錢包的交易歷史記錄中複製交易簽名,並將其貼上到 Solana Explorer 或 Solana FM。失敗的交易會顯示帶有特定錯誤代碼的紅色錯誤狀態。確認的交易會顯示綠色的成功狀態。在重新提交之前請務必檢查,以避免發送重複交易。

您的資金不需要找回,因為它們從未被發送出去。失敗的 Solana 交易不會從您的錢包中扣除代幣或交換金額。交易在執行前就已失敗,因此除了少量的基礎費用外,您的錢包餘額保持不變。您的本金是安全的。

Solana 使用稱為 Gulf Stream 的交易轉發協議,而非傳統的交易隊列。Gulf Stream 在當前區塊完成之前,直接將交易轉發給預期的下一個驗證者。無法立即處理的交易會被丟棄而不是在隊列中等待。這種設計實現了 Solana 的高吞吐量,但也意味著失敗的交易需要主動重新提交,而非被動等待。

「交易模擬失敗」意味著 Phantom 對您的交易進行了預檢測試,並預測其不會成功。Phantom 會阻止提交,以防止您在註定失敗的交易上浪費費用。大多數模擬失敗表示您的設置存在實際問題,例如滑點不足、SOL 餘額過低或程式拒絕。偶爾,陳舊的狀態數據會導致錯誤的失敗判斷;在這種情況下,重新整理頁面並重新提交一次是合適的。

向您的錢包添加 SOL,並確保您的餘額超過交易金額加上費用,再外加 0.05 SOL 的緩衝。Solana 的餘額不足錯誤並不總是意味著您的 SOL 不夠支付費用。有時它意味著您缺少足夠的 SOL 來達到在首次接收代幣時創建新代幣帳戶所需的租金豁免門檻。

您的本金是安全的。您嘗試發送或交換的代幣或 SOL 仍保留在您的錢包中,完全沒有改變。失敗的 Solana 交易不會執行轉帳、交換或鑄造,因此您的餘額保持不變。可能只被收取了少量的基礎費用,通常低於 0.001 美元。

重複失敗的交易通常表示在沒有調整的情況下重新提交了相同的錯誤設置。識別您的錯誤:如果是 Slippage tolerance exceeded,請增加滑點容差並重新提交。如果交易靜默丟棄且沒有錯誤訊息,則您的優先費用過低。如果 status.solana.com 顯示有進行中的事件,請在重新提交前等待網絡恢復。

NFT 鑄造失敗的發生,是因為在短暫的發售窗口期內,成千上萬的用戶和機器人同時提交交易,導致公共 RPC 端點和驗證者隊列都達到飽和。驗證者會丟棄低優先費用的交易以管理負載。在鑄造窗口開啟前將您的優先費用設置為「Turbo」並切換至專用 RPC 供應商,可顯著提高成功率。請參閱 Magic Eden 與 NFT 鑄造失敗 以了解完整的準備流程。

滑點容差是您在請求交換與執行交換之間所能接受的最大價格變動。如果代幣價格超出該閾值,智能合約會自動取消交換,以保護您免受接收到顯著差於報價的價格。典型的設置範圍從穩定幣對的 0.5% 到波動性資產的 2% 或 3%。在低流動性交易對上將其設置在 3% 到 5% 以上,會增加遭遇 MEV 夾心攻擊的風險。


在 Bybit 探索 SOL

使用 Solana 價格頁面) 查看當前 SOL 市場數據,或者如果現貨交易符合您的目標,請訪問 SOL/USDT 現貨交易市場)。Bybit 交易活動與提交 Solana 鏈上交易不同;在 Solana 網絡上充值或提現 SOL 時,仍可能產生網絡費用。

每個 Solana 交易失敗都可以歸結為五個根本原因之一,且每個原因都有特定的修復方法。

根本原因您看到的錯誤快速修復
Blockhash 已過期Blockhash not found / Transaction expired等待 5 秒,使用新的 blockhash 從頭重新提交
優先費用過低在擁堵期間交易被無聲丟棄在您的 DEX 或錢包中將費用設置為「快速」或「渦輪」,然後重新提交
超過滑點Slippage tolerance exceeded在您的 DEX 設置中將滑點增加 0.5% 至 1%,然後重新提交
計算預算耗盡Compute budget exceeded / Program failed to complete使用 DEX 內建的重試按鈕;對於複雜的交換,請嘗試直接路由
RPC 節點超載Unable to confirm transaction / 無聲丟棄在錢包的 RPC 設置中切換到 Helius 或 QuickNode,然後重新提交

在上述每一種情況下,您的本金都是安全的。失敗的 Solana 交易不會永久丟失代幣;僅會消耗極少的基礎費用。為了避免重複失敗,請在下一次具時效性的交換或鑄造之前,先閱讀 交易前清單 以瞭解如何預防 Solana 交易失敗。


本指南中引用的設置路徑截至發布日期為準,並可能因錢包或 DEX 版本而異。費用水平隨網絡需求而變化;請使用您錢包的自動估算功能或 Helius Priority Fee API 獲取當前數值。工具引用(Helius、QuickNode、Solana Beach)僅作為選項提供,不代表背書。