Co robi odpakowanie lamportów?
UnwrapLamports przenosi SOL z natywnego (opakowanego SOL) token account do
konta docelowego w postaci lamportów. Możesz odpakować pełne saldo lub określoną
kwotę, a token account pozostaje otwarty.
Jest to bardziej elastyczne niż zamknięcie opakowanego konta SOL: częściowe odpakowanie pozwala wypłacić część SOL, zachowując konto zasilone do późniejszego użycia.
Źródło referencyjne
| Element | Opis | Źródło |
|---|---|---|
UnwrapLamports | Instrukcja (dyskryminator 45). | Źródło |
process_unwrap_lamports | Logika procesora. | Źródło |
Konta
| Konto | Opis |
|---|---|
source | Zapisywalne. Natywny (opakowany SOL) token account do odpakowania. |
destination | Zapisywalne. Odbiera odpakowane lamporty. |
authority | Właściciel konta lub delegat (lub sygnatariusze multisig). |
Źródłem musi być natywny token account; inne token accounts zwracają
NonNativeNotSupported. Delegat może odpakować do wysokości swojej
delegowanej kwoty.
Jak odpakować lamporty
Pomiń amount, aby odpakować pełne saldo, lub ustaw tę wartość, aby
odpakować określoną liczbę lamportów. Przykład używa skonfigurowanego klienta
@solana/kit — zobacz
Transfer tokenów, aby zapoznać się z
konfiguracją klienta.
import { getUnwrapLamportsInstruction } from "@solana-program/token";// source: the native (wrapped SOL) token account to unwrap.// destination: address that receives the unwrapped lamports.// authority: a TransactionSigner (the account owner or a delegate).// Unwrap a specific number of lamports.const unwrapSome = getUnwrapLamportsInstruction({source,destination,authority,amount: 500_000_000n});// Or omit `amount` to unwrap the entire balance.const unwrapAll = getUnwrapLamportsInstruction({source,destination,authority});// Send whichever instruction you need.await client.sendTransaction([unwrapSome]);
W przypadku autorytetu multisig przekaż współsygnatariuszy za pomocą
multiSigners.
Is this page helpful?