Assets op Solana

Tokens zijn digitale activa die eigendom vertegenwoordigen over diverse categorieën van activa. Tokenisatie maakt de digitalisering van eigendomsrechten mogelijk. Tokens op Solana worden SPL (Solana Program Library) tokens genoemd.

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

Deze sectie behandelt de basisconcepten van hoe tokens worden weergegeven op Solana. Raadpleeg de sectie SPL Token Basics voor codevoorbeelden.

Belangrijkste punten

  • Token Programs bevatten alle instructielogica voor het werken met tokens op het netwerk (zowel fungibel als niet-fungibel).

  • Een mint account vertegenwoordigt een specifieke token en slaat globale metadata over de token op, zoals de totale voorraad en mint authority (adres dat geautoriseerd is om nieuwe eenheden van een token te creëren).

  • Een token account houdt individueel eigendom van tokens bij voor een specifiek mint account voor een specifieke eigenaar.

  • Een associated token account is een token account dat is gemaakt met een adres dat is afgeleid van de adressen van de eigenaar en het mint account.

Token Programs

Het Solana-ecosysteem heeft twee belangrijkste Token Programs. Broncode voor beiden programma's hieronder.

Token Programs bevat alle instructielogica voor het werken met tokens op het netwerk (zowel fungibel als niet-fungibel). Alle tokens op Solana zijn in feite data-accounts die eigendom zijn van een Token Program.

Token ProgramToken Program

Mint account

Tokens op Solana worden uniek geïdentificeerd door het adres van een mint account dat eigendom is van het Token Program. Dit account fungeert als een globale teller voor een specifieke token en slaat gegevens op zoals:

  • Supply: Totale voorraad van de token
  • Decimals: Decimale precisie van de token
  • Mint authority: Het account dat geautoriseerd is om nieuwe eenheden van de token te creëren, waardoor de voorraad toeneemt
  • Freeze authority: Het account dat geautoriseerd is om tokens in een token account te bevriezen, waardoor ze niet kunnen worden overgedragen of verbrand

De mint authority wordt geconfigureerd wanneer de mint wordt geïnitialiseerd. Het autoriseert toekomstige minting, maar het hoeft niet het account te zijn dat de mint account heeft aangemaakt of betaald.

Mint AccountMint Account

De volledige details die op elk mint account worden opgeslagen zijn de volgende:

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>,
}

Ter referentie, hier is een Solana Explorer link naar het USDC Mint Account.

Token Account

Het Token Program maakt token accounts aan om individueel eigendom van elke tokeneenheid bij te houden. Een token account slaat gegevens op zoals:

  • Mint: De token waarvan het token account eenheden bevat
  • Owner: Het account dat geautoriseerd is om tokens over te dragen vanuit het token account
  • Amount: Aantal tokens dat het token account momenteel bevat

Token AccountToken Account

De volledige details die op elk token account worden opgeslagen zijn de volgende:

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>,
}

Een wallet heeft een token account nodig voor elke token (mint) die het wil bewaren, waarbij het walletadres is ingesteld als de eigenaar van het token account. Elke wallet kan meerdere token accounts bezitten voor dezelfde token (mint), maar een token account kan slechts één eigenaar hebben en eenheden van één token (mint) bevatten.

Account RelationshipAccount Relationship

Merk op dat de gegevens van elk Token Account een owner-veld bevatten dat aangeeft wie bevoegdheid heeft over het Token Account. Dit verschilt van de programma-eigenaar die is opgegeven in het basis- Account-type, wat het Token Program is voor alle Token Accounts.

Associated Token Account

Associated token accounts vereenvoudigen het proces van het vinden van het adres van een token account voor een specifieke mint en eigenaar. Beschouw het associated token account als het "standaard" token account voor een specifieke mint en eigenaar.

Een associated token account wordt aangemaakt met een adres dat is afgeleid van het adres van de eigenaar en het adres van het mint account. Het is belangrijk om te begrijpen dat een associated token account gewoon een token account is met een specifiek adres.

Dit introduceert een belangrijk concept in Solana-ontwikkeling: Program Derived Address (PDA). Een PDA leidt deterministisch een adres af met behulp van vooraf gedefinieerde invoer, waardoor het gemakkelijk wordt om het adres van een account te vinden.

Associated Token AccountAssociated Token Account

Merk op dat elke wallet zijn eigen token account nodig heeft om tokens van dezelfde mint te bezitten.

Accounts Relationship ExpandedAccounts Relationship Expanded

Is this page helpful?

Inhoudsopgave

Pagina Bewerken
© 2026 Solana Foundation. Alle rechten voorbehouden.