📖Leggere la blockchain

La struttura

Prima di tutto, come sono organizzati i dati su Solana. A differenza di Ethereum, dove pensi “conto + contratto”, su Solana tutto ruota attorno agli “account” e ai “programmi”. Un account è semplicemente uno spazio di dati on-chain con un proprietario (che in genere è un programma) e dei lamport sopra — i lamport sono i centesimi del SOL: 1 SOL = 1.000.000.000 lamport. I “programmi” sono gli smart contract di Solana: non hanno stato proprio come su EVM, ma operano sugli account che gli passi in istruzione. Questa impostazione è spiegata bene nella documentazione ufficiale e ti chiarisce anche perché su Solana spesso vedi in chiaro chi “possiede” un account: se l’owner è il “System Program” è un normale conto SOL; se è il “Token Program” è un account token, e così via.  

Quando invii qualcosa, in realtà mandi una transazione che contiene un “messaggio” con una lista di istruzioni. Ogni istruzione chiama un programma (per esempio System Program per trasferire SOL, o SPL Token Program per muovere token) e passa l’elenco degli account che quel programma deve leggere/scrivere. Le transazioni hanno un blockhash recente, i firmatari e un elenco di account marcati come “writable” o “readonly”. Da qualche versione a questa parte esistono anche le “versioned transactions” con le Address Lookup Tables (ALTs), che servono a comprimere l’elenco degli indirizzi e farci stare più account in un singolo invio: su Solscan le incontri quando vedi riferimenti a “Address Table Lookup” in testata. Il concetto e il formato sono documentati nelle guide ufficiali a lookup tables e versioned tx.

Una transazione di vendita

Le fee su Solana non sono gas come su EVM, ma “compute units”: ogni istruzione consuma un certo budget di calcolo e puoi anche pagare una “priority fee” per farti includere prima, impostando un prezzo in micro-lamport per compute unit. Quando apri una transazione su Solscan, in alto trovi Status, Slot/Block time, Fee totale e spesso il conteggio delle compute units consumate e del “compute unit price” se è stato impostato. Tutto questo si capisce bene leggendo la sezione “Compute Budget” e la guida su come richiedere un budget ottimale; e se vedi una riga “SetComputeUnitLimit/SetComputeUnitPrice” tra le istruzioni, sappi che è il programma “ComputeBudget” che stai osservando.  

La tassa sulle transazioni calcola moltiplicando il numero di unitĂ  computazionali usate per la quantitĂ  di sol allocate ad ognuna.

La "tassa" sulle transazioni, è in realtà il prezzo delle unità computazionali

Leggere indirizzi e transazioni

Ok, passiamo a Solscan. Apri solscan.io e, senza complicarti la vita, usa la barra di ricerca come fosse Google per la chain: puoi incollare un indirizzo, una signature di transazione, il mint (creazione) di un token o persino un dominio .sol.

Se apri la pagina di un “address” (un portafoglio), Solscan ti mostra saldo SOL, tab con i token posseduti, NFT, attività DeFi e la cronologia delle transazioni. Nella sezione “Account Info” trovi il campo “Owner”: è cruciale per capire la natura dell’account. “Owner: System Program” significa che è un classico wallet SOL (come phantom); se l’owner è “Token Program” allora stai guardando un account token SPL (spesso un’“Associated Token Account”, cioè l’account standard per detenere un certo mint). In parole povere quando compri una memecoin, viene creato un Associated Token Account tra il tuo wallet e la memecoin (con una tassa di 0.002 SOL - che può poi essere ripresa con programmi come sol incinerator)

Durante una buy transaction viene creato un Associated Token Account

Apriamo una transazione e impariamo a leggerla. In alto, “Success/Fail”, l’orario (block time) e lo “slot” di conferma; se compare “Finalized” sai che la rete l’ha cementata. La signature è il "codice" identificativo univoco della transazione. Subito sotto, Solscan spezza il messaggio in istruzioni: ciascuna riga ha il nome del programma chiamato e, se clicchi, vedi gli account coinvolti con i flag “Signer” e “Writable”. Questo è utilissimo perché puoi seguire il filo: una prima istruzione magari imposta il compute budget, una seconda crea o usa una Associated Token Account, una terza sposta token, e così via. Se ci sono “inner instructions” (cioè chiamate che avvengono dentro un’altra istruzione, tipiche dei DEX), Solscan le annida sotto la principale, così capisci non solo il “cosa” ma anche il “come” è stato ottenuto il risultato. La pagina “Transaction Details” di Solscan, anche se sintetica, ti elenca proprio queste sezioni: message, instructions, inner instructions, log, pre/post balances e token balance changes. 

Ma torniamo alla scherma principale di un wallet. Qui troviamo:

  1. Transactions: Tutte le transazioni del wallet incluse creazioni di token ecc...

  2. Transfers: Trasferimenti di fondi da un wallet all'altro

  3. Defi Activities: Interazioni con programmi

Queste possono essere appositamente filtrate.

Filtrando per Defi Activities ad esempio possiamo vedere tutte le transazioni di buy/sell. Con tutti i rispettivi dati:

  • Valore

  • Data

  • Piattaforma

E molte altre informazioni

Filtrando per Transfers possiamo vedere QUALSIASI spostamento di fondi da un wallet all'altro, questo è molto utile per rintracciare walllet sospetti, che disperdono i loro fondi o finanziano nuovi wallet puliti per continuare con azioni malevoli. Per questo i "Fresh wallet" sono considerati una "red flag", e sarebbe sempre consigliato risalire al wallet originale.

Last updated