Solana 鑄造帳戶不只是一個貼到區塊瀏覽器中的地址。它是由 Token Program 擁有的鏈上帳戶,並持有 SOL 以維持免租狀態。若該帳戶持有的 lamports 超過目前所需,盈餘或許可回收,但必須由正確的簽署者簽署。
可以從 Solana 代幣鑄造帳戶回收 SOL 嗎?
可以,前提是鑄造帳戶持有的 lamports 超過即時租金準備金,且必要的鑄造權限能夠簽署。 WithdrawExcessLamports 只會轉移該筆盈餘,不會變更代幣供應量、小數位數、鑄造或凍結權限、擴充功能,或代幣持有人的餘額。
一個 82 位元組的傳統鑄造帳戶過去需要 0.0014616 SOL 依照每位元組 6,960 lamports 的設定。Token-2022 鑄造帳戶可能更大,因為其擴充功能會增加資料量。切勿只依傳統大小判斷是否符合資格;請讀取鑄造帳戶的實際 lamports 與目前準備金。
誰可以從鑄造帳戶提領?
此 Token Program 的權限規則 取決於鑄造帳戶是否仍有鑄造權限:
| 鑄造帳戶狀態 | 必要簽署者 | 網站涵蓋範圍 |
|---|---|---|
| 目前鑄造權限屬於已連接的錢包 | 該錢包 | 若該鑄造帳戶被列為候選項目,即可支援 |
| 鑄造權限為代幣多簽帳戶 | 需要 N 位中的 M- 位簽署者 | 屬於直接 API/整合情況,不在網站自動涵蓋範圍內 |
| 鑄造權限屬於另一個錢包 | 另一個錢包 | 已連接的持有人無法使用 |
| 鑄造權限已撤銷;鑄造帳戶由金鑰對建立 | 鑄造帳戶的原始金鑰對 | 若金鑰仍存在,可由來源帳戶直接簽署 |
| 鑄造權限已撤銷;鑄造帳戶位於曲線外/由程式控制 | 透過其所屬程式的鑄造帳戶 | 需要擁有該帳戶的程式透過 CPI 呼叫 |
持有某鑄造帳戶發行的代幣,並不代表你是該鑄造帳戶的擁有者或權限持有人。鑄造帳戶由 Token Program 擁有;其設定的權限會決定誰能授權此指令。
切勿在網站中輸入或上傳鑄造帳戶金鑰對、錢包私鑰或助記詞。少見的來源金鑰對情況應透過本機且經審查的開發流程處理。Sol Incinerator 的瀏覽器流程只會要求已連接的錢包簽署其有權核准的交易。
Sol Incinerator 如何發現鑄造帳戶的盈餘?
網站沒有可查詢「此錢包能控制的所有鑄造帳戶」的通用鏈上查詢功能。瀏覽器會改為向後端提供一份數量有限且錢包可見的候選鑄造帳戶清單,後端再根據即時狀態驗證每個候選帳戶:
- 該地址必須由傳統 Token Program 或 Token-2022 擁有。
- 其資料必須能解碼為鑄造帳戶,而非其他帳戶類型。
- 其 lamports 必須超過依實際資料長度計算的目前準備金。
- 其目前的鑄造權限必須是已連接的錢包(作為單一簽署者)。
- 同一清理計畫中的其他已選操作不得處理該鑄造帳戶。
這項設計刻意讓自動涵蓋範圍較為保守。未顯示的鑄造帳戶可能不符合資格、需要不同的簽署者模式,或只是未出現在網站的候選項目中。
鑄造帳戶可以退回多少 SOL?
總額為:
mint lamports − current reserve for the mint's data length
例如,若一個從未變動的傳統鑄造帳戶仍持有舊制的 0.0014616 SOL 準備金,而第一個擬議的租金階段啟用後,新計算出的準備金將為 0.00132993 SOL。在符合條件時,總盈餘將為 0.00013167 SOL.
此範例假設功能閘道已啟用、鑄造帳戶仍為 82 位元組、沒有 lamports 被移動,且先前未曾提領。網站會讀取即時數值,而不會將此範例套用至所有鑄造帳戶。
Sol Incinerator 透過其 Assetcinerator 包裝層,針對總盈餘收取 200 個基點,即 2%。一般網路交易費另計。直接 API 整合也能設定已揭露的合作夥伴費用,因此整合方應使用預覽回應,而非根據本文計算使用者實收金額。
提領後,鑄造帳戶會發生什麼變化?
只有其 lamport 餘額會改變。鑄造帳戶仍維持初始化與免租狀態。以下數值不受影響:
- 總供應量;
- 小數位數;
- 鑄造權限與凍結權限;
- Token-2022 擴充功能;
- 與該鑄造帳戶關聯的每個代幣帳戶;以及
- 所有持有人的餘額。
由於鑄造帳戶維持開啟,之後的另一個租金階段可能再次產生盈餘。除非鑄造帳戶的權限設定有所變更,屆時仍會套用相同的權限規則。
如果鑄造權限已撤銷,該怎麼辦?
撤銷鑄造權限通常是為了固定供應量。這不會將提領權限轉移給代幣持有人,也不會轉移給最初建立該鑄造帳戶的錢包。
對於 WithdrawExcessLamports,來源鑄造帳戶本身會成為必要簽署者。由金鑰對建立的曲線上鑄造帳戶,只有在仍有人控制該組確切金鑰對時才能簽署。程式衍生或其他曲線外鑄造帳戶,只能由擁有該帳戶的程式透過正確的 CPI 簽署。一般錢包網站無法產生這兩類簽章。
因此,即使盈餘在鏈上可見,仍可能無法存取。這些 lamports 並非自動遭到放棄;可能只是必要的簽署途徑已不存在。
開發者可以使用 Sol Incinerator API 嗎?
v2 API 為受支援的整合提供三個經過身分驗證的路由:
POST /withdraw-excess-lamports/preview檢查即時資格與費用;POST /withdraw-excess-lamports建立交易;以及POST /withdraw-excess-lamports-instructions傳回供大型整合使用的指令。
請求會識別 userPublicKey 以及 sourceAccount,並可選擇 authorityPublicKey 以及 multisigSignerPublicKeys。傳回的交易仍須由所有必要權限在本機簽署。API 不會接收私鑰,也無法繞過 Token Program 的簽署者檢查。
閱讀詳細的 WithdrawExcessLamports 開發者指南 在整合權限已撤銷、多簽或由 CPI- 控制的鑄造帳戶之前。
