Varat Solanassa

Tokenit ovat digitaalisia varoja, jotka edustavat omistusta eri omaisuusluokkiin. Tokenisaatio mahdollistaa omistusoikeuksien digitalisoinnin. Solanan tokeneita kutsutaan SPL-tokeneiksi (Solana Program Library).

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

Tämä osio käsittelee peruskäsitteitä siitä, miten tokenit esitetään Solanassa. Katso koodiesimerkkejä osiosta SPL Token Basics.

Keskeiset kohdat

  • Token Programs sisältää kaiken logiikan tokenien kanssa vuorovaikuttamiseen verkossa (sekä vaihdettavat että ei-vaihdettavat).

  • Mint account edustaa tiettyä tokenia ja tallentaa globaalit metatiedot tokenista, kuten kokonaistarjonnan ja mint authorityn (osoite, jolla on oikeus luoda uusia tokenin yksiköitä).

  • Token account seuraa yksittäistä tokenien omistusta tietylle mint accountille tietylle omistajalle.

  • Associated token account on token account, joka on luotu osoitteella, joka johdetaan omistajan ja mint accountin osoitteista.

Token Programit

Solana-ekosysteemissä on kaksi pääasiallista Token Programia. Molempien lähdekoodit alla.

Token Programs sisältää kaiken logiikan tokenien kanssa vuorovaikuttamiseen verkossa (sekä vaihdettavat että ei-vaihdettavat). Kaikki Solanan tokenit ovat käytännössä data-tilejä, jotka omistaa Token Program.

Token ProgramToken Program

Mint account

Solanan tokenit tunnistetaan yksilöllisesti mint accountin osoitteella, jonka Token Program omistaa. Tämä tili toimii globaalina laskurina tietylle tokenille ja tallentaa tietoja kuten:

  • Supply: Tokenin kokonaistarjonta
  • Decimals: Tokenin desimaalitarkkuus
  • Mint authority: Tili, jolla on valtuutus luoda uusia tokenin yksiköitä, kasvattaen tarjontaa
  • Freeze authority: Tili, jolla on valtuutus jäädyttää tokeneita token accountissa, estäen niiden siirtämisen tai polttamisen

Mint-auktoriteetti määritetään, kun mint alustetaan. Se valtuuttaa tulevat lyönnit, mutta sen ei tarvitse olla tili, joka loi tai maksoi mint account -tilistä.

Mint AccountMint Account

Jokaiseen mint accountiin tallennetut täydelliset tiedot sisältävät seuraavat:

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

Viitteeksi, tässä on Solana Explorer -linkki USDC mint accountiin.

Token Account

Token Program luo token accounteja seuratakseen jokaisen tokenin yksikön yksittäistä omistajuutta. Token account tallentaa tietoja kuten:

  • Mint: Token, jonka yksiköitä token account sisältää
  • Owner: Tili, jolla on valtuutus siirtää tokeneita token accountista
  • Amount: Tokenien määrä, jonka token account tällä hetkellä sisältää

Token AccountToken Account

Jokaiseen token accountiin tallennetut täydelliset tiedot sisältävät seuraavat:

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

Lompakko tarvitsee token accountin jokaiselle tokenille (mint), jota se haluaa säilyttää, ja lompakon osoite asetetaan token accountin omistajaksi. Jokainen lompakko voi omistaa useita token accounteja samalle tokenille (mint), mutta token accountilla voi olla vain yksi omistaja ja se voi sisältää vain yhden tokenin (mint) yksiköitä.

Tilien suhteetTilien suhteet

Huomaa, että jokaisen token account -tilin data sisältää owner-kentän, joka määrittää, kenellä on valta token account -tiliin. Tämä eroaa ohjelman omistajasta, joka on määritelty perustason Account-tyypissä ja joka on Token Program kaikille token account -tileille.

Associated Token Account

Associated token accountit yksinkertaistavat token accountin osoitteen löytämistä tietylle mintille ja omistajalle. Ajattele associated token accountia tietyn mintin ja omistajan "oletusarvoisena" token accountina.

Associated token account luodaan osoitteella, joka johdetaan omistajan osoitteesta ja mint accountin osoitteesta. On tärkeää ymmärtää, että associated token account on vain token account, jolla on tietty osoite.

Tämä esittelee keskeisen käsitteen Solana-kehityksessä: Program Derived Address (PDA). PDA johtaa osoitteen deterministisesti käyttäen ennalta määritettyjä syötteitä, mikä helpottaa accountin osoitteen löytämistä.

Associated Token AccountAssociated Token Account

Huomaa, että jokainen lompakko tarvitsee oman token accountinsa pitääkseen hallussaan tokeneita samasta mintistä.

Accounts Relationship ExpandedAccounts Relationship Expanded

Is this page helpful?

Sisällysluettelo

Muokkaa sivua
© 2026 Solana Foundation. Kaikki oikeudet pidätetään.