Una transazione, molte istruzioni
Su Bitcoin una transazione sposta valore da entrate a uscite. Su Ethereum è una chiamata da un indirizzo a un altro. Entrambi sono abbastanza semplici che un explorer naïve produce qualcosa di leggibile.
Solana è strutturalmente diversa. Una transazione porta una lista di istruzioni, ciascuna nominando un programma da invocare e i conti che quel programma può leggere o scrivere. Un singolo swap potrebbe contenere otto istruzioni su quattro programmi: creare un conto di token, approvare un delegato, invocare il programma di scambio, che internamente invoca due pool di liquidità, poi chiudere il conto temporaneo. Tutto atomico, tutto in una transazione.
Mostrato grezzo, è un muro di indirizzi base58 e array di byte — tecnicamente completo e praticamente inutile. Tutto il valore di un explorer Solana sta nella decodifica: sapere quale programma è il programma SPL Token, che questa istruzione è un trasferimento, che il mint ha sei decimali così l'intero grezzo significa ciò che significa.
Solscan mantiene quello strato di decodifica sui programmi principali e lo tiene aggiornato man mano che ne appaiono di nuovi. È un lavoro poco glamour e continuo ed è il motivo per cui è il predefinito.
Le transazioni fallite sono normali qui
Questo sorprende chiunque arrivi da un'altra chain, quindi vale la pena dirlo chiaramente: su Solana, le transazioni fallite sono registrate sulla chain, costano una commissione, e sono comuni.
Durante i periodi intensi una quota significativa delle transazioni sottomesse fallisce. Slippage superato. Un conto ha cambiato stato tra simulazione ed esecuzione. Il budget di calcolo è stato esaurito. Il suo portafoglio potrebbe dire "transazione fallita" e lasciarle il compito di capire quale.
La rassicurazione importante è l'atomicità. Una transazione Solana o si completa interamente o non fa nulla del tutto. Non c'è uno stato parziale in cui i suoi token sono partiti ma non sono mai arrivati. Se è fallita, l'unica cosa successa è stata la commissione — che è piccola.
Solscan mostra quale istruzione è fallita, quale programma ha restituito l'errore, e il codice di errore con un significato decodificato dove ne ha uno. Per i casi comuni questo trasforma un fallimento opaco in qualcosa di attuabile: l'errore di programma personalizzato 6001 su uno swap è di solito slippage, e budget di calcolo superato significa che la transazione aveva bisogno di più unità di calcolo di quante ne avesse richieste.
Dove vivono davvero i suoi token
Tutto su Solana è un conto: portafogli, saldi di token, codice di programma e stato di programma. Ciascuno ha un proprietario — il programma autorizzato a modificarlo — e un saldo in lamport che deve raggiungere il minimo di esenzione dal rent.
Il suo indirizzo di portafoglio non detiene il suo USDC. Possiede un conto di token associato separato, che lo detiene. Un portafoglio con cinque token diversi ha cinque conti di token, ciascuno un indirizzo on-chain distinto con il proprio saldo esente da rent.
Quindi una pagina di indirizzo deve mostrare due cose diverse: il saldo SOL detenuto dal portafoglio stesso, e i saldi di token detenuti dai conti che possiede. Solscan gestisce questo chiaramente. Un explorer multi-chain generico spesso non lo fa, motivo per cui un saldo Solana può apparire mancante su uno strumento e presente su un altro.
La meccanica del rent segue dalla stessa progettazione. I conti devono detenere un saldo SOL minimo per persistere, quindi creare un conto di token costa un piccolo importo — restituito quando lo chiude. È un deposito, non un addebito, anche se significa che un portafoglio senza SOL non può ricevere un token che non ha mai detenuto.
Perché l’explorer ufficiale conta ancora
Ogni explorer Solana commerciale legge da un'infrastruttura che il suo operatore controlla. L'explorer ufficiale legge da qualunque endpoint gli dica lei.
Cambi un menu a tendina e si trova su devnet. Inserisca un URL e si trova su un cluster privato, un fornitore RPC a pagamento, o un validatore che gira sulla sua propria macchina. Per lo sviluppo non è una comodità, è la differenza tra avere un explorer e non averne uno — testare un programma su localnet con Solscan è impossibile, perché le sue transazioni locali non esistono per quanto lo riguarda.
Conta anche per la verifica. Solscan decodifica aggressivamente, e un decodificatore che non riconosce un programma presenta la sua migliore ipotesi piuttosto che annunciare incertezza. L'explorer ufficiale mostra le istruzioni decodificate accanto alla lista grezza dei conti e ai dati dell'istruzione, così quando due strumenti sono in disaccordo la forma grezza risolve la questione.
E ha una conseguenza sulla privacy: lo punti al suo proprio RPC e nessun terzo impara cosa ha guardato. È lo stesso argomento che fa Otterscan su Ethereum, disponibile qui senza abbandonare lo strumento tradizionale.
Slot, blocchi e cosa significa "confermata"
Solana produce uno slot circa ogni 400 millisecondi, e non ogni slot contiene un blocco. Gli explorer mostrano sia lo slot che l'altezza di blocco, e i due non sono lo stesso numero — il che confonde chi confronta cifre tra strumenti.
I livelli di impegno sono l'altra cosa che vale la pena capire. Una transazione può essere processed (vista dal nodo interrogato), confirmed (votata da una supermaggioranza) o finalized (sepolta sotto abbastanza blocchi successivi da essere irreversibile in pratica). Gli explorer e le chiamate RPC usano per default livelli diversi, motivo per cui una transazione può apparire su uno strumento e non ancora su un altro.
Per qualsiasi cosa di conseguenza, finalized è il livello che conta. Per un portafoglio che le mostra che uno swap è andato a buon fine, confirmed è ciò che vede, ed è quasi sempre sufficiente.
La conseguenza pratica per i depositi su piattaforme di scambio è che le soglie di Solana sono espresse in livello di impegno piuttosto che in conteggio di conferme, un modello mentale diverso da quello di Bitcoin. La nostra guida sulle conferme copre come si risponde alla domanda equivalente su ogni chain.