Assets auf Solana

Tokens sind digitale Vermögenswerte, die Eigentum an verschiedenen Kategorien von Vermögenswerten repräsentieren. Tokenisierung ermöglicht die Digitalisierung von Eigentumsrechten. Tokens auf Solana werden als SPL (Solana Program Library)-Tokens bezeichnet.

The Token Program updates a mint and its token accounts while owners authorize balance changes

Dieser Abschnitt behandelt die grundlegenden Konzepte, wie Tokens auf Solana dargestellt werden. Siehe den Abschnitt SPL Token Basics für Codebeispiele.

Wichtige Punkte

  • Token Programs enthalten die gesamte Anweisungen-Logik für die Interaktion mit Token im Netzwerk (sowohl fungible als auch nicht-fungible).

  • Ein Mint Account repräsentiert einen bestimmten Token und speichert globale Metadaten über den Token, wie z. B. das Gesamtangebot und die Mint-Autorität (Adresse, die berechtigt ist, neue Einheiten eines Tokens zu erstellen).

  • Ein Token Account verfolgt das individuelle Eigentum an Tokens für einen bestimmten mint account für einen bestimmten Besitzer.

  • Ein Associated Token Account ist ein Token Account, der mit einer Adresse erstellt wurde, die von den Adressen des Besitzers und des mint accounts abgeleitet ist.

Token Programs

Das Solana-Ökosystem hat zwei Haupt-Token Programs. Quellcode für beide Programme unten.

Token Programs enthält die gesamte Anweisungen-Logik für die Interaktion mit Token im Netzwerk (sowohl fungible als auch nicht-fungible). Alle Token auf Solana sind effektiv Daten-Konten, die einem Token Program gehören.

Token ProgramToken Program

Mint Account

Tokens auf Solana werden eindeutig durch die Adresse eines Mint Accounts identifiziert, der dem Token Program gehört. Dieses Konto fungiert als globaler Zähler für einen bestimmten Token und speichert Daten wie:

  • Supply: Gesamtangebot des Tokens
  • Decimals: Dezimale Genauigkeit des Tokens
  • Mint authority: Das Konto, das berechtigt ist, neue Einheiten des Tokens zu erstellen und damit das Angebot zu erhöhen
  • Freeze authority: Das Konto, das berechtigt ist, Tokens in einem token account einzufrieren und damit deren Übertragung oder Verbrennung zu verhindern

Die Mint-Berechtigung wird bei der Initialisierung des mint account konfiguriert. Sie autorisiert zukünftige Prägungen, muss jedoch nicht dem Konten gehören, das das mint account erstellt oder bezahlt hat.

Mint AccountMint Account

Die vollständigen Details, die auf jedem mint account gespeichert sind, umfassen Folgendes:

Mint Account State
pub struct Mint {
/// Optional authority used to mint new tokens. The mint authority may only
/// be provided during mint creation. If no mint authority is present
/// then the mint has a fixed supply and no further tokens may be
/// minted.
pub mint_authority: COption<Pubkey>,
/// Total supply of tokens.
pub supply: u64,
/// Number of base 10 digits to the right of the decimal place.
pub decimals: u8,
/// Is `true` if this structure has been initialized
pub is_initialized: bool,
/// Optional authority to freeze token accounts.
pub freeze_authority: COption<Pubkey>,
}

Als Referenz findest du hier einen Solana Explorer Link zum USDC Mint Account.

Token account

Das Token Program erstellt Token accounts, um das individuelle Eigentum an jeder Token-Einheit zu verfolgen. Ein token account speichert Daten wie:

  • Mint: Der Token, dessen Einheiten das token account hält
  • Owner: Das Konto, das berechtigt ist, Tokens vom token account zu übertragen
  • Amount: Anzahl der Tokens, die das token account derzeit hält

Token AccountToken Account

Die vollständigen Details, die auf jedem token account gespeichert sind, umfassen Folgendes:

Token Account State
pub struct Account {
/// The mint associated with this account
pub mint: Pubkey,
/// The owner of this account.
pub owner: Pubkey,
/// The amount of tokens this account holds.
pub amount: u64,
/// If `delegate` is `Some` then `delegated_amount` represents
/// the amount authorized by the delegate
pub delegate: COption<Pubkey>,
/// The account's state
pub state: AccountState,
/// If is_native.is_some, this is a native token, and the value logs the
/// rent-exempt reserve. An Account is required to be rent-exempt, so
/// the value is used by the Processor to ensure that wrapped SOL
/// accounts do not drop below this threshold.
pub is_native: COption<u64>,
/// The amount delegated
pub delegated_amount: u64,
/// Optional authority to close the account.
pub close_authority: COption<Pubkey>,
}

Eine Wallet benötigt ein token account für jeden Token (mint), den sie halten möchte, wobei die Wallet-Adresse als Eigentümer des token accounts festgelegt ist. Jede Wallet kann mehrere token accounts für denselben Token (mint) besitzen, aber ein token account kann nur einen Eigentümer haben und Einheiten eines Tokens (mint) halten.

KontobeziehungenKontobeziehungen

Beachte, dass die Daten jedes token account ein owner-Feld enthalten, das angibt, wer die Autorität über das token account hat. Dies unterscheidet sich vom Programm-Eigentümer, der im Basis-Typ Account angegeben ist und für alle token accounts das Token Program ist.

Associated token account

Associated Token Accounts vereinfachen den Prozess, die Adresse eines token account für einen bestimmten mint und Besitzer zu finden. Betrachten Sie den Associated Token Account als den "Standard"-token account für einen bestimmten mint und Besitzer.

Ein Associated Token Account wird mit einer Adresse erstellt, die aus der Adresse des Besitzers und der Adresse des mint account abgeleitet wird. Es ist wichtig zu verstehen, dass ein Associated Token Account lediglich ein token account mit einer bestimmten Adresse ist.

Dies führt zu einem Schlüsselkonzept in der Solana-Entwicklung ein: Program Derived Address (PDA). Eine PDA leitet eine Adresse deterministisch unter Verwendung vordefinierter Eingaben ab, was es einfach macht, die Adresse eines Konten zu finden.

Associated Token AccountAssociated Token Account

Beachten Sie, dass jede Wallet ihren eigenen token account benötigt, um Token vom selben mint zu halten.

Accounts Relationship ExpandedAccounts Relationship Expanded

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.