Ανάγνωση από το Δίκτυο

Αυτή η ενότητα εξερευνά πώς να διαβάζετε δεδομένα από το δίκτυο Solana ανακτώντας διαφορετικούς λογαριασμούς για να κατανοήσετε τη δομή ενός λογαριασμού Solana.

Στο Solana, όλα τα δεδομένα υπάρχουν σε "λογαριασμούς". Μπορείτε να σκεφτείτε τα δεδομένα στο Solana ως μια δημόσια βάση δεδομένων με έναν μοναδικό πίνακα "Λογαριασμοί", όπου κάθε καταχώρηση είναι ένας λογαριασμός με τον ίδιο βασικό τύπο Λογαριασμού.

Base Account Type
#[derive(PartialEq, Eq, Clone, Default)]
pub struct Account {
/// lamports in the account
pub lamports: u64,
/// data held in this account
#[cfg_attr(feature = "serde", serde(with = "serde_bytes"))]
pub data: Vec<u8>,
/// the program that owns this account. If executable, the program that loads this account.
pub owner: Pubkey,
/// this account's data contains a loaded program (and is now read-only)
pub executable: bool,
/// the epoch at which this account will next owe rent
pub rent_epoch: Epoch,
}

ΛογαριασμοίΛογαριασμοί

Οι λογαριασμοί στο Solana μπορούν να αποθηκεύσουν "κατάσταση" ή "εκτελέσιμα" προγράμματα. Κάθε λογαριασμός έχει μια "διεύθυνση" (δημόσιο κλειδί) που χρησιμεύει ως το μοναδικό του αναγνωριστικό για τον εντοπισμό των αντίστοιχων δεδομένων του στην αλυσίδα.

Οι λογαριασμοί Solana περιέχουν είτε:

  • Κατάσταση: Δεδομένα που προορίζονται για ανάγνωση και διατήρηση. Για παράδειγμα, πληροφορίες σχετικά με tokens, δεδομένα χρηστών ή άλλα δεδομένα που ορίζονται μέσα σε ένα πρόγραμμα.
  • Εκτελέσιμα Προγράμματα: Λογαριασμοί που περιέχουν τον πραγματικό κώδικα των προγραμμάτων Solana. Αυτοί οι λογαριασμοί αποθηκεύουν οδηγίες που μπορούν να επικαλεστούν οι χρήστες.

Αυτός ο διαχωρισμός του κώδικα προγράμματος και της κατάστασης προγράμματος είναι ένα βασικό χαρακτηριστικό του Μοντέλου Λογαριασμών του Solana. Για περισσότερες λεπτομέρειες, ανατρέξτε στη σελίδα Μοντέλο Λογαριασμών Solana.

Ανάκτηση Λογαριασμού Πορτοφολιού

Αυτό το παράδειγμα δείχνει πώς να:

  1. Δημιουργήσετε ένα νέο keypair (ζεύγος δημόσιου/ιδιωτικού κλειδιού).
  2. Ζητήσετε ένα airdrop SOL για να χρηματοδοτήσετε τη νέα διεύθυνση.
  3. Ανακτήσετε τα δεδομένα λογαριασμού για τη χρηματοδοτημένη διεύθυνση.

Στο Solana, η χρηματοδότηση μιας νέας διεύθυνσης με SOL δημιουργεί αυτόματα έναν λογαριασμό που ανήκει στο System Program. Όλοι οι λογαριασμοί "πορτοφολιού" είναι απλώς λογαριασμοί που ανήκουν στο System Program που περιέχουν SOL και μπορούν να υπογράφουν συναλλαγές.

Fetch Account
import { Keypair, Connection, LAMPORTS_PER_SOL } from "@solana/web3.js";
const keypair = Keypair.generate();
console.log(`Public Key: ${keypair.publicKey}`);
const connection = new Connection("http://localhost:8899", "confirmed");
// Funding an address with SOL automatically creates an account
const signature = await connection.requestAirdrop(
keypair.publicKey,
LAMPORTS_PER_SOL
);
await connection.confirmTransaction(signature, "confirmed");
const accountInfo = await connection.getAccountInfo(keypair.publicKey);
console.log(JSON.stringify(accountInfo, null, 2));
Console
Click to execute the code.

Ένα "πορτοφόλι" στο Solana είναι ένας λογαριασμός που ανήκει στο System Program, που είναι ένα από τα ενσωματωμένα προγράμματα του Solana. Οι λογαριασμοί πορτοφολιού χρησιμοποιούνται κυρίως για να διατηρούν SOL (που παρακολουθείται στο πεδίο lamports) και για να υπογράφουν συναλλαγές.

Όταν ανακτάτε έναν λογαριασμό πορτοφολιού, η απάντηση περιλαμβάνει τα πεδία που φαίνονται στο παράδειγμα εξόδου.

Το πεδίο data περιέχει τα δεδομένα του λογαριασμού αποθηκευμένα ως bytes.

Για λογαριασμούς πορτοφολιού, αυτό το πεδίο είναι κενό (0 bytes). Άλλοι λογαριασμοί χρησιμοποιούν αυτό το πεδίο για να αποθηκεύσουν είτε την κατάσταση του προγράμματος είτε εκτελέσιμο κώδικα προγράμματος.

Το πεδίο executable υποδεικνύει αν το πεδίο data του λογαριασμού περιέχει εκτελέσιμο κώδικα προγράμματος.

Για πορτοφόλια και λογαριασμούς που αποθηκεύουν την κατάσταση του προγράμματος, αυτό το πεδίο είναι false.

Το πεδίο lamports περιέχει το υπόλοιπο SOL του λογαριασμού, εκφρασμένο σε lamport.

Τα lamport είναι η μικρότερη μονάδα του SOL. 1 SOL = 1.000.000.000 lamport.

Το πεδίο owner δείχνει το πρόγραμμα που κατέχει τον λογαριασμό.

Για τα πορτοφόλια, ο ιδιοκτήτης είναι πάντα το System Program, με τη διεύθυνση 11111111111111111111111111111111.

Το πεδίο rentEpoch είναι ένα παλαιό πεδίο από έναν καταργημένο μηχανισμό όπου οι λογαριασμοί χρεώνονταν "rent" (σε lamports) για να διατηρήσουν τα δεδομένα τους στο δίκτυο.

Αυτό το πεδίο δεν χρησιμοποιείται πλέον, αλλά συμπεριλαμβάνεται για λόγους συμβατότητας με προηγούμενες εκδόσεις.

Το πεδίο space δείχνει τον αριθμό των bytes στο πεδίο data. Αυτό δεν είναι ένα πεδίο στον τύπο Account, αλλά συμπεριλαμβάνεται στην απάντηση.

Σε αυτό το παράδειγμα, το πεδίο space είναι 0 επειδή το πεδίο data περιέχει 0 bytes δεδομένων.

Ένα "πορτοφόλι" στο Solana είναι ένας λογαριασμός που ανήκει στο System Program, που είναι ένα από τα ενσωματωμένα προγράμματα του Solana. Οι λογαριασμοί πορτοφολιού χρησιμοποιούνται κυρίως για να διατηρούν SOL (που παρακολουθείται στο πεδίο lamports) και για να υπογράφουν συναλλαγές.

Όταν ανακτάτε έναν λογαριασμό πορτοφολιού, η απάντηση περιλαμβάνει τα πεδία που φαίνονται στο παράδειγμα εξόδου.

Το πεδίο data περιέχει τα δεδομένα του λογαριασμού αποθηκευμένα ως bytes.

Για λογαριασμούς πορτοφολιού, αυτό το πεδίο είναι κενό (0 bytes). Άλλοι λογαριασμοί χρησιμοποιούν αυτό το πεδίο για να αποθηκεύσουν είτε την κατάσταση του προγράμματος είτε εκτελέσιμο κώδικα προγράμματος.

Το πεδίο executable υποδεικνύει αν το πεδίο data του λογαριασμού περιέχει εκτελέσιμο κώδικα προγράμματος.

Για πορτοφόλια και λογαριασμούς που αποθηκεύουν την κατάσταση του προγράμματος, αυτό το πεδίο είναι false.

Το πεδίο lamports περιέχει το υπόλοιπο SOL του λογαριασμού, εκφρασμένο σε lamport.

Τα lamport είναι η μικρότερη μονάδα του SOL. 1 SOL = 1.000.000.000 lamport.

Το πεδίο owner δείχνει το πρόγραμμα που κατέχει τον λογαριασμό.

Για τα πορτοφόλια, ο ιδιοκτήτης είναι πάντα το System Program, με τη διεύθυνση 11111111111111111111111111111111.

Το πεδίο rentEpoch είναι ένα παλαιό πεδίο από έναν καταργημένο μηχανισμό όπου οι λογαριασμοί χρεώνονταν "rent" (σε lamports) για να διατηρήσουν τα δεδομένα τους στο δίκτυο.

Αυτό το πεδίο δεν χρησιμοποιείται πλέον, αλλά συμπεριλαμβάνεται για λόγους συμβατότητας με προηγούμενες εκδόσεις.

Το πεδίο space δείχνει τον αριθμό των bytes στο πεδίο data. Αυτό δεν είναι ένα πεδίο στον τύπο Account, αλλά συμπεριλαμβάνεται στην απάντηση.

Σε αυτό το παράδειγμα, το πεδίο space είναι 0 επειδή το πεδίο data περιέχει 0 bytes δεδομένων.

Example Output
{
"data": {
"type": "Buffer",
"data": []
},
"executable": false,
"lamports": 1000000000,
"owner": "11111111111111111111111111111111",
"rentEpoch": 0,
"space": 0
}

Ανάκτηση του Token Program

Αυτό το παράδειγμα ανακτά το Token Program για να δείξει τη διαφορά μεταξύ λογαριασμών πορτοφολιού και λογαριασμών προγράμματος.

Ο λογαριασμός προγράμματος αποθηκεύει τον μεταγλωττισμένο δυαδικό κώδικα για τον πηγαίο κώδικα του Token Program. Μπορείτε να δείτε αυτόν τον λογαριασμό προγράμματος στον Solana Explorer.

Fetch Program Account
import { Connection, PublicKey } from "@solana/web3.js";
const connection = new Connection(
"https://api.mainnet-beta.solana.com",
"confirmed"
);
const address = new PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
const accountInfo = await connection.getAccountInfo(address);
Console
Click to execute the code.

Το Token Program είναι ένας εκτελέσιμος λογαριασμός προγράμματος στο Solana. Όπως οι λογαριασμοί πορτοφολιού, τα προγράμματα έχουν την ίδια υποκείμενη δομή δεδομένων Account, αλλά με βασικές διαφορές στα πεδία τους.

Το πεδίο executable έχει οριστεί ως true, υποδεικνύοντας ότι το πεδίο data αυτού του λογαριασμού περιέχει εκτελέσιμο κώδικα προγράμματος.

Για τους λογαριασμούς προγραμμάτων, το πεδίο data αποθηκεύει τον εκτελέσιμο κώδικα του προγράμματος. Σε αντίθεση, οι λογαριασμοί πορτοφολιού έχουν κενό πεδίο δεδομένων.

Όταν αναπτύσσετε ένα πρόγραμμα Solana, ο εκτελέσιμος κώδικας του προγράμματος αποθηκεύεται στο πεδίο data ενός λογαριασμού.

Οι εκτελέσιμοι λογαριασμοί προγραμμάτων έχουν επίσης ένα πρόγραμμα που ορίζεται ως ο owner του λογαριασμού.

Όλοι οι λογαριασμοί προγραμμάτων ανήκουν σε ένα πρόγραμμα Loader, το οποίο είναι μια κατηγορία ενσωματωμένων προγραμμάτων που κατέχουν εκτελέσιμους λογαριασμούς προγραμμάτων στο Solana.

Για το Token Program, ο owner είναι το πρόγραμμα BPFLoader2.

Το Token Program είναι ένας εκτελέσιμος λογαριασμός προγράμματος στο Solana. Όπως οι λογαριασμοί πορτοφολιού, τα προγράμματα έχουν την ίδια υποκείμενη δομή δεδομένων Account, αλλά με βασικές διαφορές στα πεδία τους.

Το πεδίο executable έχει οριστεί ως true, υποδεικνύοντας ότι το πεδίο data αυτού του λογαριασμού περιέχει εκτελέσιμο κώδικα προγράμματος.

Για τους λογαριασμούς προγραμμάτων, το πεδίο data αποθηκεύει τον εκτελέσιμο κώδικα του προγράμματος. Σε αντίθεση, οι λογαριασμοί πορτοφολιού έχουν κενό πεδίο δεδομένων.

Όταν αναπτύσσετε ένα πρόγραμμα Solana, ο εκτελέσιμος κώδικας του προγράμματος αποθηκεύεται στο πεδίο data ενός λογαριασμού.

Οι εκτελέσιμοι λογαριασμοί προγραμμάτων έχουν επίσης ένα πρόγραμμα που ορίζεται ως ο owner του λογαριασμού.

Όλοι οι λογαριασμοί προγραμμάτων ανήκουν σε ένα πρόγραμμα Loader, το οποίο είναι μια κατηγορία ενσωματωμένων προγραμμάτων που κατέχουν εκτελέσιμους λογαριασμούς προγραμμάτων στο Solana.

Για το Token Program, ο owner είναι το πρόγραμμα BPFLoader2.

Token Program Account
{
"data": {
"type": "Buffer",
"data": [127, "...truncated, total bytes: 134080...", 0]
},
"executable": true,
"lamports": 4522329612,
"owner": "BPFLoader2111111111111111111111111111111111",
"rentEpoch": 18446744073709552000,
"space": 134080
}

Ανάκτηση λογαριασμού mint

Αυτό το παράδειγμα ανακτά τον λογαριασμό mint του USD Coin (USDC) για να δείξει πώς τα προγράμματα στο Solana αποθηκεύουν την κατάσταση σε ξεχωριστούς λογαριασμούς.

Ένας λογαριασμός Mint είναι ένας λογαριασμός που ανήκει στο Token Program. Αποθηκεύει καθολικά μεταδεδομένα για ένα συγκεκριμένο token, συμπεριλαμβανομένης της συνολικής προσφοράς, του αριθμού των δεκαδικών ψηφίων και των λογαριασμών που είναι εξουσιοδοτημένοι να εκδίδουν ή να παγώνουν tokens. Η διεύθυνση του λογαριασμού mint προσδιορίζει μοναδικά ένα token στο δίκτυο Solana.

Fetch Program Account
import { Connection, PublicKey } from "@solana/web3.js";
const connection = new Connection(
"https://api.mainnet-beta.solana.com",
"confirmed"
);
const address = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
const accountInfo = await connection.getAccountInfo(address);
Console
Click to execute the code.

Το βασικό σημείο που πρέπει να σημειωθεί σε αυτό το παράδειγμα είναι ότι ο λογαριασμός Mint αποθηκεύει κατάσταση, όχι εκτελέσιμο κώδικα.

Οι λογαριασμοί mint ανήκουν στο Token Program, το οποίο περιλαμβάνει οδηγίες που καθορίζουν πώς να δημιουργούνται και να ενημερώνονται οι λογαριασμοί mint.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Το πεδίο executable είναι false επειδή το πεδίο data του λογαριασμού mint αποθηκεύει κατάσταση, όχι εκτελέσιμο κώδικα.

Το Token Program ορίζει τον τύπο δεδομένων Mint, ο οποίος αποθηκεύεται στο πεδίο data του λογαριασμού mint.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Το πεδίο data περιέχει την σειριοποιημένη κατάσταση του λογαριασμού Mint, όπως την αρχή έκδοσης (mint authority), τη συνολική προσφορά, τον αριθμό των δεκαδικών.

Για να διαβάσετε από έναν λογαριασμό Mint, πρέπει να αποσειριοποιήσετε το πεδίο data στον τύπο δεδομένων Mint. Αυτό καλύπτεται στο επόμενο βήμα.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Το Token Program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) κατέχει τον λογαριασμό mint.

Αυτό σημαίνει ότι το πεδίο data του λογαριασμού mint μπορεί να τροποποιηθεί μόνο από τις οδηγίες που ορίζονται στο Token Program.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Το βασικό σημείο που πρέπει να σημειωθεί σε αυτό το παράδειγμα είναι ότι ο λογαριασμός Mint αποθηκεύει κατάσταση, όχι εκτελέσιμο κώδικα.

Οι λογαριασμοί mint ανήκουν στο Token Program, το οποίο περιλαμβάνει οδηγίες που καθορίζουν πώς να δημιουργούνται και να ενημερώνονται οι λογαριασμοί mint.

Το πεδίο executable είναι false επειδή το πεδίο data του λογαριασμού mint αποθηκεύει κατάσταση, όχι εκτελέσιμο κώδικα.

Το Token Program ορίζει τον τύπο δεδομένων Mint, ο οποίος αποθηκεύεται στο πεδίο data του λογαριασμού mint.

Το πεδίο data περιέχει την σειριοποιημένη κατάσταση του λογαριασμού Mint, όπως την αρχή έκδοσης (mint authority), τη συνολική προσφορά, τον αριθμό των δεκαδικών.

Για να διαβάσετε από έναν λογαριασμό Mint, πρέπει να αποσειριοποιήσετε το πεδίο data στον τύπο δεδομένων Mint. Αυτό καλύπτεται στο επόμενο βήμα.

Το Token Program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) κατέχει τον λογαριασμό mint.

Αυτό σημαίνει ότι το πεδίο data του λογαριασμού mint μπορεί να τροποποιηθεί μόνο από τις οδηγίες που ορίζονται στο Token Program.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Αποσειριοποίηση λογαριασμού Mint

Το πεδίο data ενός λογαριασμού Solana περιέχει ακατέργαστα bytes. Για να ερμηνεύσετε αυτά τα δεδομένα με ουσιαστικό τρόπο, πρέπει να τα αποσειριοποιήσετε στον κατάλληλο τύπο δεδομένων που ορίζεται από το πρόγραμμα που κατέχει τον λογαριασμό.

Τα περισσότερα προγράμματα Solana παρέχουν βιβλιοθήκες πελάτη με βοηθητικές συναρτήσεις που αφαιρούν τη διαδικασία αποσειριοποίησης. Αυτές οι συναρτήσεις μετατρέπουν τα ακατέργαστα bytes του λογαριασμού σε δομημένους τύπους δεδομένων, διευκολύνοντας την εργασία με τα δεδομένα του λογαριασμού.

Για παράδειγμα, το @solana/spl-token περιλαμβάνει τη συνάρτηση getMint() για να βοηθήσει στην αποσειριοποίηση του πεδίου data ενός λογαριασμού Mint στον τύπο δεδομένων Mint.

Deserialize Mint Account Data
import { PublicKey, Connection } from "@solana/web3.js";
import { getMint } from "@solana/spl-token";
const connection = new Connection(
"https://api.mainnet-beta.solana.com",
"confirmed"
);
const address = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
const mintData = await getMint(connection, address, "confirmed");
Console
Click to execute the code.
Mint Account Type
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>,
}

Η συνάρτηση getMint() αποσειριοποιεί το πεδίο data ενός λογαριασμού mint στον τύπο δεδομένων Mint που ορίζεται από το Token Program.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Μπορείτε να δείτε τα πλήρως αποσειριοποιημένα δεδομένα του Λογαριασμού Mint στον Solana Explorer.

Το πεδίο address περιέχει τη διεύθυνση του λογαριασμού Mint.

Η διεύθυνση του λογαριασμού mint χρησιμοποιείται για την αναγνώριση του token στο δίκτυο Solana.

Το πεδίο mintAuthority δείχνει την αρχή που επιτρέπεται να δημιουργεί νέα tokens.

Αυτός είναι ο μοναδικός λογαριασμός που μπορεί να δημιουργήσει νέες μονάδες του token.

Το πεδίο supply δείχνει τον συνολικό αριθμό των tokens που έχουν δημιουργηθεί.

Αυτή η τιμή είναι στη μικρότερη μονάδα του token. Για να πάρετε τη συνολική προσφορά σε τυπικές μονάδες, προσαρμόστε την τιμή του πεδίου supply με το decimals.

Το πεδίο decimals δείχνει τον αριθμό των δεκαδικών ψηφίων για το token.

Το πεδίο isInitialized υποδεικνύει αν ο λογαριασμός mint έχει αρχικοποιηθεί. Αυτό το πεδίο είναι ένας έλεγχος ασφαλείας που χρησιμοποιείται στο Token Program.

Το πεδίο freezeAuthority δείχνει την αρχή που επιτρέπεται να παγώσει token accounts.

Ένα token account που είναι παγωμένο δεν μπορεί να μεταφέρει ή να κάψει το token στον λογαριασμό.

Το πεδίο tlvData περιέχει επιπλέον δεδομένα για τα Token Extensions (απαιτείται περαιτέρω αποσειριοποίηση).

Αυτό το πεδίο είναι σχετικό μόνο με λογαριασμούς που δημιουργήθηκαν από το Token Extension Program (Token2022).

Η συνάρτηση getMint() αποσειριοποιεί το πεδίο data ενός λογαριασμού mint στον τύπο δεδομένων Mint που ορίζεται από το Token Program.

Mint Account
{
"data": {
"type": "Buffer",
"data": [1, "...truncated, total bytes: 82...", 103]
},
"executable": false,
"lamports": 407438077149,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"rentEpoch": 18446744073709552000,
"space": 82
}

Μπορείτε να δείτε τα πλήρως αποσειριοποιημένα δεδομένα του Λογαριασμού Mint στον Solana Explorer.

Το πεδίο address περιέχει τη διεύθυνση του λογαριασμού Mint.

Η διεύθυνση του λογαριασμού mint χρησιμοποιείται για την αναγνώριση του token στο δίκτυο Solana.

Το πεδίο mintAuthority δείχνει την αρχή που επιτρέπεται να δημιουργεί νέα tokens.

Αυτός είναι ο μοναδικός λογαριασμός που μπορεί να δημιουργήσει νέες μονάδες του token.

Το πεδίο supply δείχνει τον συνολικό αριθμό των tokens που έχουν δημιουργηθεί.

Αυτή η τιμή είναι στη μικρότερη μονάδα του token. Για να πάρετε τη συνολική προσφορά σε τυπικές μονάδες, προσαρμόστε την τιμή του πεδίου supply με το decimals.

Το πεδίο decimals δείχνει τον αριθμό των δεκαδικών ψηφίων για το token.

Το πεδίο isInitialized υποδεικνύει αν ο λογαριασμός mint έχει αρχικοποιηθεί. Αυτό το πεδίο είναι ένας έλεγχος ασφαλείας που χρησιμοποιείται στο Token Program.

Το πεδίο freezeAuthority δείχνει την αρχή που επιτρέπεται να παγώσει token accounts.

Ένα token account που είναι παγωμένο δεν μπορεί να μεταφέρει ή να κάψει το token στον λογαριασμό.

Το πεδίο tlvData περιέχει επιπλέον δεδομένα για τα Token Extensions (απαιτείται περαιτέρω αποσειριοποίηση).

Αυτό το πεδίο είναι σχετικό μόνο με λογαριασμούς που δημιουργήθηκαν από το Token Extension Program (Token2022).

Deserialized Mint Data
{
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"mintAuthority": "BJE5MMbqXjVwjAF7oxwPYXnTXDyspzZyt4vwenNw5ruG",
"supply": "8985397351591790",
"decimals": 6,
"isInitialized": true,
"freezeAuthority": "7dGbd2QZcCKcTndnHcTL8q7SMVXAkp688NTQYwrRCrar",
"tlvData": {
"type": "Buffer",
"data": []
}
}

Is this page helpful?

Πίνακας Περιεχομένων

Επεξεργασία Σελίδας