為什麼我的 Solana 交易會失敗?如何在 Solscan 上查明原因?
兌換畫面顯示紅色的「失敗」標籤,你原本要轉出的資金卻沒有動靜,而錢包提供的資訊也只有含糊的錯誤訊息。這是 Solana 上常見的情況,完整說明通常就在區塊鏈上,只要搜尋一下就能找到。
關鍵在於釐清你遇到的是以下哪一種情況:交易已送達網路但執行失敗,或是交易根本沒有上鏈。Solscan 通常可以告訴你是哪一種情況,而且往往也能指出原因。
Solana 上的「失敗」可能代表什麼
第一種情況是,交易已送達驗證者並被納入區塊,但執行時因為某個必要條件未達成而遭到拒絕。這類失敗會永久記錄在鏈上,並附有錯誤訊息和程式日誌。
第二種情況是,交易從未上鏈。每筆 Solana 交易都會參照一個近期的區塊雜湊值,該雜湊值在約 150 個區塊內有效,大約是 60 到 90 秒。如果交易未能在這段時間內處理,就會過期並遭到丟棄。這類交易通常不會出現在任何區塊鏈瀏覽器上,因為它從未上過鏈。
Solana 交易失敗的常見原因
對於已上鏈但隨後失敗的交易,常見原因包括:SOL 不足以支付網路手續費(若需建立新的代幣帳戶,還要支付一筆小額押金);兌換時價格變動過大,導致超出滑價容忍度;或帳戶狀態在簽署與執行之間發生變化。交易也可能耗盡計算資源上限,這在複雜操作中更常見。
至於從未上鏈的交易,常見原因包括區塊雜湊值過期(通常是簽署過程太慢、在確認提示畫面猶豫,或連線延遲),以及網路壅塞。網路繁忙時,優先手續費較低的選擇性交易,可能在驗證者處理之前就遭到丟棄。
如何在 Solscan 上查明原因
首先,從錢包的活動記錄或你使用的 App 複製交易簽章,再貼到 Solscan 的搜尋列。如果交易已上鏈,頁面通常會顯示失敗狀態,而不是成功狀態,也可能指出失敗的指令。
接著往下查看頁面,尋找「指令詳細資料」或「日誌訊息」等區塊;確切名稱和版面可能會隨時間改變。日誌會顯示執行了哪個程式,以及執行在哪裡停止,通常會列出指令編號,以及錯誤名稱或代碼。錯誤代碼各自對應不同程式,因此相同的數字在不同程式中可能代表不同意思;查看該程式的文件有助於解讀。如果 Solscan 完全找不到該交易簽章,交易可能尚未上鏈,或目前還沒上鏈。
資金和手續費會如何處理
Solana 會將交易作為一個整體執行。如果其中任何一個指令失敗,該交易原本會造成的所有變更都會被取消,因此代幣餘額會維持原狀。一般來說,唯一的成本是這次嘗試所產生的小額網路手續費;由於驗證者已處理交易,這筆費用仍會收取。
已過期且從未上鏈的交易通常不會被收取手續費,因為它從未送達區塊鏈。不過,在重試之前,最好先在 Solscan 上確認第一次嘗試的狀態,因為看似卡住的交易仍可能成功,而重複送出可能導致重複轉帳。
WEEX 提醒:重試前先確認
WEEX 提醒使用者,在重新提交交易前,先於 Solscan 確認第一次嘗試的狀態,並在錢包中保留少量 SOL 以支付手續費。失敗交易也常被詐騙分子利用:任何聲稱能「修復」失敗交易,並要求提供助記詞或私鑰的人都不可信,不論對方看起來多麼官方;任何正當的疑難排解都不會需要這兩項資訊。
結論
只要搜尋交易簽章,Solana 交易失敗就不再是個謎。Solscan 可以顯示交易是在鏈上失敗,還是根本沒有上鏈,而日誌通常會指出是哪個指令導致中止。大多數情況下,資金會留在原處,只有少量手續費損失;因此,實用的做法是先確認狀態,再重試。
常見問題
1. Solana 交易失敗時,我會失去代幣嗎?
一般不會。Solana 會將交易作為一個整體執行,因此如果任何指令失敗,相關變更都會被取消,餘額會維持原狀。通常只有網路手續費會損失。
2. Solana 交易失敗後,我仍然需要支付手續費嗎?
如果交易已上鏈但執行失敗,通常仍會收取一筆小額網路手續費。如果交易過期且從未上鏈,通常不會被收取費用,也通常不會出現在 Solscan 上。
3. 為什麼我在 Solscan 上找不到交易?
交易可能尚未上鏈、已過期或遭到丟棄,也可能是複製錯了交易簽章。請檢查簽章,稍等片刻,再比對錢包顯示的狀態。
4. 我可以在哪裡查看 Solscan 上的錯誤?
搜尋交易簽章,然後查看失敗狀態,以及「指令詳細資料」或日誌等區塊;這些區塊通常會顯示哪個指令失敗,以及回傳的錯誤。版面和標籤可能會隨時間改變。
5. 重試失敗的 Solana 交易安全嗎?
通常可以,但請先查看 Solscan,確認原始交易沒有成功,也沒有仍在處理中。看似卡住的交易仍可能成功,太早重新送出可能導致重複轉帳。