Estrinseci, eventi, e perché conta il vocabolario
Le chain Substrate non hanno transazioni nel senso in cui altre chain usano la parola. Hanno estrinseci — pezzi di informazione dall'esterno della chain che innescano cambiamenti di stato — ed eventi, che sono ciò che quei cambiamenti di stato emettono.
Questo non è pedanteria. Un estrinseco può essere firmato da un account o non firmato, può essere sottomesso dalla chain stessa come intrinseco, e un estrinseco può produrre molti eventi. Un explorer generico che cerca "transazioni" ne trova un sottoinsieme e perde il resto.
Subscan è costruito attorno al modello corretto. Ogni pagina di estrinseco elenca il modulo e la chiamata che è stata invocata, i parametri, e ogni evento che ha prodotto. Se sta cercando di capire cosa è effettivamente successo su una chain Substrate, quella struttura è l'unica che funziona.
Il costo è una curva di apprendimento. Incontrerà balances.transferKeepAlive, staking.nominate e utility.batchAll prima che qualcosa le traduca i termini. Subscan presuppone che lei sappia già o li cerchi.
Staking, la ragione per cui arrivano la maggior parte delle persone
Il proof-of-stake nominato di Polkadot è più elaborato dello staking che la maggior parte delle persone ha incontrato, e Subscan è dove diventa comprensibile.
Le ricompense sono calcolate per era — circa un giorno su Polkadot, sei ore su Kusama — e distribuite ai validatori, che passano una quota ai loro deleganti dopo aver preso la commissione. Il suo rendimento dipende quindi da quali validatori ha nominato, se erano attivi in quell'era, la loro commissione, e se sono stati oggetto di slashing.
Subscan mostra tutto: cronologia di ricompense era per era, i validatori che ha effettivamente sostenuto in ogni era piuttosto che quelli che ha nominato, cambiamenti di commissione nel tempo, e qualsiasi evento di slashing. La distinzione tra validatori nominati e attivi è quella che coglie le persone di sorpresa — può nominarne sedici ed essere in supporto solo di uno in una data era, e se quello è inattivo non guadagna nulla.
Traccia anche l'unbonding. Il periodo di unbonding di Polkadot è di ventotto giorni, e i fondi restano non disponibili durante tutto il periodo. Subscan mostra dove si trova ogni tranche in quel conto alla rovescia, cosa altrimenti quasi impossibile da stabilire.
Governance: processo costituzionale, on chain
Polkadot fa girare uno dei sistemi di governance on-chain più ambiziosi esistenti. I referendum vengono proposti, votati con ponderazione per convinzione — blocchi i suoi token più a lungo, conta di più — ed eseguiti automaticamente dalla chain se passano. La spesa di tesoreria passa attraverso lo stesso meccanismo.
Subscan mostra l'intero processo: referendum attivi con i loro track e soglie, conteggi di voto suddivisi per convinzione, la chiamata effettiva che un referendum eseguirebbe se approvato, e proposte di tesoreria con i loro beneficiari e importi.
Quest'ultimo punto merita enfasi. Poiché le azioni di governance sono chiamate on-chain, può leggere esattamente cosa farà un referendum piuttosto che affidarsi alla sua descrizione. Una proposta intitolata una cosa che codifica un'altra è rilevabile, e Subscan è dove la rileverebbe. Quello è un genuino meccanismo di responsabilità e pochissime chain hanno qualcosa di equivalente.
XCM, e perché nient’altro lo traccia
L'architettura di Polkadot è una relay chain con parachain connesse ad essa, e XCM — Cross-Consensus Messaging — è come comunicano. Spostare un asset da una parachain a un'altra è un messaggio XCM, non una transazione su nessuna delle due chain nel senso usuale.
Questo produce la familiare confusione cross-chain in una forma non familiare. Inizia un trasferimento sulla parachain A, scompare, e appare sulla parachain B qualche tempo dopo con un identificatore diverso. Cerchi l'hash originale sulla destinazione e non trova nulla.
Subscan traccia i messaggi XCM attraverso le chain e collega entrambe le estremità. Per quanto possiamo stabilire è l'unico explorer che lo fa, il che lo rende non solo la migliore opzione per i trasferimenti Polkadot ma l'unica.
Il pattern, di nuovo
Questa è la terza volta che appare nei nostri test: i messaggi L1/L2 di Arbitrum, le catene di messaggi di TON, l'XCM di Polkadot. Ogni volta che un sistema è asincrono o copre più chain, un'azione diventa diversi record e l'identificatore non si trasferisce. Se un trasferimento è "svanito", la prima ipotesi dovrebbe sempre essere che sta cercando la cosa giusta nel posto sbagliato.
API e open source
Subscan pubblica il suo codice e offre un livello API gratuito con una chiave, con piani a pagamento per il volume di produzione. L'indennità gratuita è praticabile per script e dashboard, stretta per qualsiasi cosa rivolta all'utente.
Essere open source conta qui più del solito. Le chain Substrate sono configurabili — ognuna abilita pallet diversi, il che significa estrinseci, eventi e forme di dati diversi. Un explorer che gestisce cento chain sta prendendo decisioni per chain costantemente, e poter leggere quelle decisioni è la differenza tra fidarsi dell'output e verificarlo.
Per le parachain compatibili con EVM come Moonbeam, vorrà sia Subscan che un explorer EVM. Moonscan mostra il lato EVM; Subscan mostra il lato Substrate. La stessa chain, due viste incompatibili, entrambe incomplete da sole.