Lavori in corso

Lavori in corso: stiamo costruendo questo sito in vista della MainNet. I dettagli cambieranno.

Questo sito è ancora in costruzione

ZooBC si costruisce alla luce del sole. Quello che vedi qui è attuale e onesto, ma non è finito: leggilo come il punto in cui siamo oggi, non come una versione definitiva.

Da qui alla MainNet le cose cambieranno: testi, struttura, immagini e cifre. Alcune pagine sono segnaposto.

L'ecosistema ZooBC nel suo insieme arriva per gradi. Il wallet, l'explorer e i canali della community entrano in funzione man mano che la MainNet si avvicina, e questo sito cresce insieme a loro.

Se qualcosa sembra sbagliato, non funziona o appare fuorviante, diccelo. Un feedback adesso vale per noi più di un lancio impeccabile domani.

ZOOBC / MANUALE

ZooBC Wallet, manuale utente

Manuale del wallet

Riscritto a partire dal manuale V0.36 per il wallet V0.51. Terminologia aggiornata: la catena ha rinominato game/games in app/apps, quindi gli endpoint sono /api/v1/apps e le chiavi sono app_type.

Versione V0.36 · luglio 2026

Questo manuale documenta ogni schermata, scheda, campo e tipo di transazione del wallet ZooBC. Il wallet è un unico file HTML che funziona interamente nel tuo browser: le tue chiavi non lasciano mai il tuo dispositivo, tutte le transazioni vengono costruite e firmate in locale e alla rete vengono inviati solo i byte firmati finali.


Indice

  1. Concetti fondamentali
  2. Primi passi
  3. L'interfaccia principale
  4. HOME, Dashboard, Da fare, Attive, Attività
  5. WALLET, Invia, Ricevi, Deposita, Preleva, Programmati, Multi-sig, Policy
  6. ASSET, Token, File, Exchange, Marketplace
  7. SOCIAL, Contatti, Online, Chat, Chiamate
  8. BUSINESS, Fatture, Moduli, Notarizzazione
  9. APP, la sala giochi
  10. AVANZATE, Chiavi e seed, Paper wallet, Inoltra
  11. SISTEMA, Impostazioni, Nodo, Rete, Gateway, Relay, Governance
  12. Riferimento delle transazioni
  13. Risoluzione dei problemi
  14. Glossario

1. Concetti fondamentali

1.1 La moneta e le sue unità

La moneta nativa è ZBC. On-chain, ogni importo è memorizzato in unità atomiche: 1 ZBC = 100,000,000 unità atomiche (10⁸). Il wallet mostra sempre importi leggibili e converte solo in ingresso e in uscita. I token emessi hanno i propri decimali (0–8) e sono anch'essi memorizzati in unità di base.

1.2 Account e formati degli indirizzi

Un wallet può contenere account basati su molti schemi di chiavi. Ogni account è memorizzato on-chain come account tipizzato: un prefisso di tipo da 4 byte + il materiale della chiave. Formati supportati:

FormatoTipoSchema di chiaveAspetto dell'indirizzo
ZooBC0ed25519ZBC_XXXX_… (base32 + checksum)
Ethereum / BNB4secp256k1 + keccak0x… (stessi byte, etichetta diversa)
Bitcoin legacy (P2PKH)5secp256k11…
Bitcoin P2SH6(solo ricezione)3…
Bitcoin SegWit (P2WPKH)7secp256k1bc1q…
Bitcoin P2WSH8(solo ricezione)bc1q… (lungo)
Bitcoin Taproot9BIP-340 schnorrbc1p…
Deposito dataset10(account di affitto dell'oggetto)ZBS_…
Solana11ed25519chiave pubblica base58
Polkadot12sr25519 (Schnorrkel)SS58
Cardano13ed25519addr1…
Ripple14secp256k1r…
Tron15secp256k1 + keccakT…
Tezos16ed25519tz1…

Qualsiasi formato può inviare e ricevere sulla catena ZooBC: un account in formato Bitcoin firma le transazioni ZooBC con la sua chiave Bitcoin. L'indirizzo è derivato esattamente come sulla catena originale, quindi un deposito trasferito tramite bridge da quella catena accredita automaticamente l'account speculare (vedi Deposita).

Percorsi di derivazione (da una frase BIP-39): ZooBC m/44'/883'/account' (SLIP-0010 ed25519); ETH/BNB BIP-44 coin 60; BTC BIP-44/84/86 per legacy/SegWit/Taproot; Solana m/44'/501'/account'; Cardano coin 1815; Tezos coin 1729; Polkadot usa la derivazione mini-secret di Substrate.

1.3 Transazioni, commissioni, escrow

Ogni azione sulla catena è una transazione firmata con un numero di tipo, una commissione in ZBC, un messaggio facoltativo e un involucro di escrow facoltativo (approvatore + scadenza + compenso + istruzione). La commissione di rete predefinita è 0.05 ZBC (base 0.025 + margine per le transazioni che trasportano dati); il wallet la precompila e la aumenta automaticamente per i messaggi grandi. L'elenco completo dei tipi è nella sezione 12.

1.4 Gateway, nodi, relay

  • Un nodo convalida la catena.
  • Un gateway è il server web con cui comunica il wallet; serve il wallet e l'explorer e fa da front-end per uno o più nodi.
  • Un relay è il server di chiamate e presenza gestito da un gateway; trasporta la segnalazione delle chiamate e lo stato online.
  • Un nodo di archivio serve inoltre la cronologia completa e l'API dell'explorer.

Se il gateway configurato smette di funzionare, il wallet passa automaticamente a un'alternativa: nodo corrente → fallback integrati → i tuoi nodi aggiuntivi (Impostazioni → Nodo) → gateway appresi dal registro on-chain.

1.5 Affitto dell'archiviazione e oggetti di sopravvivenza

I dati scritti on-chain (dataset, file archiviati, token) pagano un affitto di archiviazione. Ogni oggetto ha un indirizzo di deposito ZBS_ finanziabile, derivato dalla transazione che lo ha creato; quando il deposito si esaurisce l'oggetto può essere eliminato. Puoi ricaricare la longevità di qualsiasi oggetto (vedi File → Oggetti).

1.6 Modello di sicurezza

  • La tua frase di recupero / chiave non lascia mai la pagina; la firma avviene in locale.
  • La persistenza sul dispositivo è una cassaforte cifrata bloccata da un PIN di 6 cifre (5 tentativi errati cancellano la cassaforte, la frase la ripristina).
  • Sblocco facoltativo con passkey (Face ID / Touch ID / Windows Hello).
  • Gli account in sola visualizzazione vedono tutto ma non possono firmare; le pagine che richiedono la chiave sono nascoste.
  • La modalità air-gap firma offline ed esporta JSON/QR invece di trasmettere.

2. Primi passi

2.1 Prima di aprirlo, verifica che il file sia autentico

Questo wallet è un unico file che apri in un browser e in cui poi digiti la tua frase di recupero. Una copia

falsa ha un aspetto identico e si comporta normalmente, fino al momento in cui invia la tua frase da qualche

altra parte. Niente sullo schermo può avvisarti, perché a quel punto è proprio la pagina falsa a dare gli avvisi.

Quindi verifica il file prima di aprirlo. Ci vogliono circa dieci secondi.

Il modo facile. Apri /verify sul gateway da cui hai scaricato il file e trascina il file nel riquadro.

La verifica avviene all'interno del tuo browser: il file non viene mai caricato da nessuna parte.

Il modo che richiede solo un terminale. Un hash è l'impronta di un file: cambia un solo byte

e l'hash cambia completamente, e nessuno può risalire all'indietro per costruire un file diverso con la stessa

impronta.


sha256sum "ZooBC Wallet.html"

Confronta ciò che viene stampato, carattere per carattere, con l'hash pubblicato per quel file.

Poi chiediti chi ti ha comunicato l'impronta. È questa la parte che conta, e la pagina /verify lo dice

in modo esplicito:

cosa dicecosa significa
on-chainL'hash è stato firmato in un blocco dall'autorità di rilascio, un'unica chiave fissata nella Genesis della catena, l'unica autorizzata a registrare l'hash di un file. Ogni nodo conserva quel record. Un sito web non può modificarlo, falsificarlo né rimuoverlo.
lo dice questo gatewayL'hash proviene dal sito web che stai guardando. Questo intercetta un download corrotto o un falso grossolano. Non serve se l'attaccante è il sito stesso, perché in quel caso il file e la sua impronta sono entrambi falsi e coincidono perfettamente.
REVOCATO on-chainL'autorità ha pubblicato questo file e poi lo ha ritirato, di solito perché si è rivelato compromesso o difettoso. È peggio di un file non riconosciuto, non meglio: la catena ha qualcosa di preciso da dire proprio su questo file. Eliminalo e scarica un file aggiornato. Un sito web che lo offre ancora è un motivo di maggiore sospetto, non minore.

Per tutto ciò che riguarda il denaro, pretendi una corrispondenza on-chain. Un gateway che garantisce per i propri

download non è una prova.

Come verificare senza fidarti di alcun sito web. Tutto ciò che è descritto sopra gira comunque su una pagina che qualcuno

ti serve. Se vuoi una verifica che non dipenda da questo, interroga direttamente un nodo, uno qualsiasi, anche uno che gestisci

tu stesso. Due comandi:


sha256sum "ZooBC Wallet.html"
curl -s https://zoobc.network/api/v1/release/list

Se l'hash del tuo file compare in quell'elenco, è un file pubblicato dall'autorità di rilascio. Se non

compare, nessuna rassicurazione da parte di alcun sito web rende sicuro digitarci una frase di recupero.

Puoi anche chiedere quale chiave è autorizzata a pubblicare:


curl -s https://zoobc.network/api/v1/release/authority

zoobc.network è il gateway pubblico della TestNet di ZooBC, non la MainNet. Sostituisci l'host con il tuo nodo per verificare senza fidarti di quel gateway.

Ogni nodo risponde la stessa cosa, perché è scritta nella catena. Interroga due nodi gestiti da

persone diverse e confronta: è proprio questo il senso del progetto, e ti costa un solo comando

in più.

Se /verify avvisa che è in corso un cambio dell'autorità di rilascio, fermati e scopri il motivo prima di

fidarti di qualsiasi cosa tu abbia scaricato da quel sito. L'autorità è l'unica chiave dietro ogni affermazione di

quella pagina, e proporre di trasferirla è esattamente ciò che farebbe chi l'avesse appena rubata. Potrebbe

benissimo trattarsi di una rotazione pianificata, ma confermalo attraverso un canale che non passi dal

sito web in questione, perché un sito compromesso sarà ben felice di rassicurarti sul proprio passaggio di consegne.

Questo conta sempre di più man mano che ZooBC si estende ad altri wallet e ad altre lingue. Non dovresti mai dover credere sulla parola a qualcuno su quale file sia autentico: la catena esiste proprio perché tu non debba farlo.

2.2 Primo avvio, avviso sui rischi

Al primissimo avvio viene mostrato un Avviso sull'interfaccia software e presa d'atto dei rischi da parte dell'utente. Devi accettarlo (o uscire); i Termini di servizio completi restano sempre disponibili dal piè di pagina.

2.3 Schermata di benvenuto

La scheda di benvenuto offre:

  • Frase di recupero o chiave segreta: incolla una frase BIP-39 di 12/15/18/21/24 parole o una chiave privata di 64 caratteri esadecimali. Il pulsante a forma di occhio la mostra o la nasconde.
  • Formato del wallet: ZooBC (predefinito), Ethereum, BNB, Bitcoin, Solana, Polkadot, Cardano, Ripple, Tron, Tezos. Per Bitcoin un selettore aggiuntivo permette di scegliere SegWit (bc1q…), Legacy (1…) o Taproot (bc1p…). La stessa frase genera un indirizzo diverso in ciascun formato.
  • Account #: selettore numerico per scegliere un indice di derivazione (più account da un'unica frase).
  • Sblocca wallet: apre il wallet con le credenziali inserite.
  • Crea un nuovo wallet: genera una nuova frase (vedi sotto).
  • Ripristina da un file di backup: carica il backup cifrato della cassaforte (.json); ti chiede il PIN con cui è stato salvato.
  • Link Impostazioni del nodo: imposta l'URL del gateway prima di accedere.

2.4 Creare un nuovo wallet

  1. Scegli la lunghezza della frase (12–24 parole). Le parole sono mostrate come etichette numerate; pulsanti Copia frase, Copia elenco numerato, Nuova frase.
  2. Un avviso ti ricorda che la frase è l'unico backup. Spunta «Ho annotato la mia frase di recupero».
  3. Verifica: scegli la parola giusta per alcune posizioni casuali.
  4. Imposta un PIN: scegli e conferma un PIN di 6 cifre. Cifra la cassaforte su questo dispositivo, così il wallet sopravvive ai ricaricamenti della pagina.

2.5 Al ritorno: sblocco

Inserisci il tuo PIN (o usa il pulsante passkey, se configurato). Link sottostanti: Ripristina da un file di backup e Reimposta il wallet su questo dispositivo (cancella i dati locali; per il ripristino serve la frase).

2.6 Sola visualizzazione

Osserva un indirizzo mostra saldo e attività di qualsiasi indirizzo senza bisogno di una chiave. Il riquadro principale mostra un badge sola visualizzazione e tutte le pagine di firma sono nascoste.


3. L'interfaccia principale

3.1 Barra superiore

  • Logo + badge della versione (ad es. V0.36).
  • Campanella delle notifiche: avvisi generati dal client (chat in arrivo, richieste di firma, avvisi della catena); un badge rosso con il contatore; le voci rimandano direttamente alla pagina giusta (ad es. la notifica di una fattura apre la pagina di pagamento).
  • Tema: alterna scuro/chiaro.
  • Blocca: blocca immediatamente il wallet (serve il PIN per riaprirlo).
  • Impostazioni: apre la pagina Impostazioni.
  • Indicatore del relay delle chiamate: mostra i dati di relay residui, quando pertinente.
  • Indicatore dello stato di rete, pallino + etichetta: block N (connesso; mostra l'altezza confermata, punta − 3), synchronizing… (errore temporaneo < 30 s), chain unreachable (errore continuo). Facendo clic si apre il block explorer (explorer.<gateway-domain>).

3.2 Riquadro del saldo (colonna sinistra)

  • Saldo con un selettore di ambito: Questo wallet / tutti i wallet combinati.
  • L'icona della moneta si aggiorna con un tocco; una freccia apre il pannello dei token con i saldi dei tuoi token.
  • Spendibile: saldo meno gli importi bloccati (stake, escrow, offerte in sospeso).
  • Chip dell'indirizzo: avatar dell'account (tocca per cambiare account), nome del wallet modificabile, l'indirizzo e un pulsante per copiarlo.
  • Badge: sola visualizzazione, multisig.
  • Pulsanti rapidi Invia e Ricevi.

3.3 Menu a sinistra

Gruppi comprimibili (lo stato aperto/chiuso viene ricordato; intere sezioni possono essere nascoste in Impostazioni → Menu):

GruppoVoci
HOMEDashboard · Da fare · Attive · Attività
WALLETInvia · Ricevi · Deposita · Preleva · Programmati · Multi-sig · Policy
ASSETToken · File · Exchange · Marketplace
SOCIALContatti · Online · Chat · Chiamate
BUSINESSFatture · Moduli · Notarizzazione
APPLobby · Giocatore singolo · 1 contro 1 · 3+ giocatori
AVANZATEChiavi e seed · Paper wallet · Inoltra
SISTEMAImpostazioni · Nodo · Rete · Gateway · Relay · Governance

Sugli schermi stretti il menu si riduce a una barra di navigazione superiore / menu hamburger.

Pagine legali e informative: Termini e condizioni, Informativa sulla privacy, Guida e manuale, Partecipa al progetto.


4. HOME

4.1 Dashboard (Panoramica)

La pagina iniziale dopo lo sblocco:

  • Le tue monete: saldi combinati per moneta su tutti i tuoi wallet.
  • I tuoi wallet: una scheda per account (nome, indirizzo, saldo in tempo reale con i decimali attenuati, badge della catena, badge multisig/visualizzazione). Un riquadro di stato mette in evidenza gli elementi che richiedono attenzione.
  • I tuoi token: i token che possiedi, con una scorciatoia Esplora verso la pagina Token.
  • I tuoi nodi: i nodi registrati di proprietà dei tuoi wallet (aggiornamento automatico ogni 10 min).

4.2 Da fare

«Tutto ciò che aspetta te: approva, regola o rispondi.» Un unico elenco che raccoglie:

  • gli escrow in cui sei tu l'approvatore (approva / rifiuta direttamente dall'elenco),
  • le transazioni multisig in attesa della tua firma,
  • le richieste di pagamento/escrow indirizzate a te,
  • le fatture in attesa del tuo pagamento,
  • i turni delle app e gli elementi in scadenza.

Un badge con il contatore sulla voce di menu ne indica il numero. Aggiorna ricarica tutto. La pagina si aggiorna automaticamente ogni 60 s mentre è aperta.

4.3 Attive (transazioni attive)

Le transazioni in corso in questo momento, in quattro schede:

  • Tutte: elenco combinato con contatori per scheda.
  • Approva / rifiuta escrow: come approvatore designato, inserisci (o scegli) l'ID di una transazione in escrow e usa Approva e rilascia (i fondi vanno al destinatario) o Rifiuta e restituisci (i fondi tornano al mittente). Trasmette ApprovalEscrow (tipo 4).
  • Interrompi un pagamento liquido: ferma un pagamento liquido che hai avviato; la parte residua non ancora maturata torna a te (LiquidPaymentStop, tipo 262).
  • Interrompi un vesting: le pianificazioni in corso che hai creato; la revoca restituisce la parte non ancora erogata (le tranche già consegnate restano al destinatario) (CancelSchedule, tipo 30).

4.4 Attività

La cronologia delle tue transazioni.

  • Filtro account: un wallet o tutti.
  • Filtro moneta: tutte le monete o una specifica.
  • Selettore della fonte: Ultime TX (la finestra recente del nodo connesso) o Tutte le TX (la cronologia completa di un nodo di archivio).
  • Chip di categoria: Tutte · Wallet · Trading · App · Strumenti · Coinbase · Commissioni, con i totali per categoria.
  • Ogni transazione trasmessa dal wallet viene conservata anche in un registro locale (con i byte del corpo), così compare all'istante, sopravvive al pruning dei nodi e mostra tutti i dettagli specifici del tipo. Le righe si espandono per mostrare importi, controparti (con i nomi dei contatti, se noti), commissioni, dettagli dell'escrow, messaggi (decifrati quando sono per te) e un pulsante per copiare l'hash.

5. WALLET

5.1 Invia

La pagina principale per i trasferimenti. Campi dall'alto verso il basso:

  • Destinatario: qualsiasi formato di indirizzo supportato (ZBC_…, 0x…, 1…, bc1…, Solana, SS58, addr1…, r…, T…, tz1…) o un contatto (pulsante di selezione). Sotto il campo compaiono un indicatore di validità e il nome del contatto risolto.
  • Importo + Max (inserisce il saldo spendibile meno la commissione).
  • Commissione di rete (ZBC): precompilata dalla rete; cresce con la dimensione del messaggio; puoi aumentarla.
  • Messaggio (facoltativo): memorizzato on-chain. Per i trasferimenti ZBC → ZBC puoi spuntare Cifra messaggio (end-to-end; solo il destinatario può leggerlo). L'indicazione della commissione si aggiorna con la dimensione in byte.
  • Nota privata (facoltativa): salvata solo su questo dispositivo, mai on-chain.
  • Longevità (contestuale): compare quando invii a un indirizzo di oggetto ZBS_, per contrassegnare una ricarica dell'affitto.
  • Casella Pagamento liquido: l'importo matura gradualmente a favore del destinatario in un periodo scelto (in minuti). Il destinatario può riscuoterlo in proporzione man mano che matura; puoi interromperlo in anticipo da Attive (la parte non maturata torna a te). Invia LiquidPayment (tipo 6) invece di un semplice trasferimento.
  • Casella Escrow: trattiene i fondi finché un approvatore non dà il via libera:
  • Indirizzo dell'approvatore (o contatto),
  • Trattieni fino a: chip preimpostati (1 giorno … 6 mesi) o un selettore di data/ora esatta; mostrato come scadenza in altezza di blocco, con la nota che i tempi dei blocchi sono una stima e quelli reali si discosteranno,
  • Compenso dell'approvatore (ZBC),
  • Istruzione (testo libero, ad es. «rilascia alla consegna»).
  • Un link: Devi invece ricevere un pagamento? → Richiedi un pagamento (escrow lato destinatario, nella pagina Programmati).
  • Paga la commissione di rete con questo token (contestuale), per i token abilitati alle commissioni: brucia i token di commissione e rilascia una quota equivalente della copertura in ZBC (non disponibile in escrow).
  • Crea solo la transazione: firma ma non trasmette; produce il JSON firmato + QR da inoltrare in seguito o da un altro dispositivo (vedi Inoltra).
  • Anteprima: importo, compenso, commissione, totale.
  • Rivedi e invia: finestra di conferma, poi trasmissione. Reimposta modulo cancella tutto. Dopo l'invio viene mostrato l'ID della transazione (conservato anche se cambi pagina) con i link per copiarlo e aprirlo nell'explorer.

Cosa trasmette: SendZBC (tipo 1), oppure TransferToken (11) quando nel riquadro principale è selezionato un token, oppure LiquidPayment (6) quando è spuntata la casella del pagamento liquido. L'escrow viaggia nella busta di ognuna di esse.

5.2 Ricevi

Il tuo indirizzo come grande codice QR, l'indirizzo in formato testo e un pulsante Copia indirizzo.

5.3 Deposita

Bridge verso ZooBC: porta BTC, ETH, USDC o USDT sulla catena come monete wrapped (ad es. BTC → ZBTC), coniate 1:1 dopo la conferma. Due schede:

  • Inizia: scegli una moneta (quelle non supportate mostrano In arrivo). Il wallet mostra:
  • l'indirizzo di deposito in custodia (QR + copia) per la catena di origine,
  • le conferme richieste,
  • Chi riceve l'accredito: il deposito accredita l'account ZooBC che rispecchia l'indirizzo da cui invii (stessa chiave); l'indirizzo di custodia è condiviso, quindi l'indirizzo di invio è l'unica prova di titolarità. Invia da un wallet la cui chiave controlli qui.
  • Dopo le conferme, una supermaggioranza di 2/3 dei nodi ZooBC rilascia l'attestazione, poi la moneta wrapped viene coniata (da pochi minuti fino a ~1 ora).
  • Monitora, con tre sotto-schede: In corso (si aggiorna automaticamente ogni 20 s; stati Rilevato → In conferma → In attestazione → Coniato, con tempo stimato per catena), Osserva un altro account (qualsiasi indirizzo della catena di origine o ZBC_), Cronologia (completati e scartati).

5.4 Prelievo

Bridge in uscita da ZooBC (le monete wrapper tornano alle blockchain di origine). Questa schermata è un mock-up: il bridge in uscita non è ancora funzionante; mostra l'elenco delle monete previste e il flusso.

5.5 Programmati

Valore che si sposta a tempo. Cinque schede:

  • Vesting, piano prebloccato: l'intero importo viene bloccato alla creazione e rilasciato al destinatario in tranche. Campi: destinatario, moneta/token, importo per tranche, intervallo, numero di tranche (1–520), cliff facoltativo, revocabile/irrevocabile, ora di fine facoltativa. Trasmette ScheduledTransfer (29) con funding_mode 0.
  • Ricorrente, prelievo all'esecuzione: non viene bloccato nulla; ogni tranche viene prelevata dal tuo saldo quando scatta (se il saldo è vuoto fallisce senza conseguenze). Stessi campi; funding_mode 1.
  • A un'altezza, un trigger singolo: blocca subito un importo e paga il beneficiario quando la chain raggiunge una determinata altezza del blocco. Il campo dell'altezza ha un calendario di supporto per data e ora (la converte in un'altezza stimata; la tempistica effettiva varia con il tempo di blocco). Trasmette CreateTrigger (15); l'annullamento rimborsa tramite CancelTrigger (16).
  • Richiesta, l'escrow lato destinatario: richiedi un pagamento, imposti pagatore, importo (ZBC o token), approvatore, scadenza, commissione e istruzione; il pagatore la riceve nella sezione Da fare e la finanzia. Trasmette EscrowRequest (260).
  • Elenco, tutti i piani che hai creato o che ricevi, raggruppati; ogni riga mostra il tipo (Vesting/Ricorrente/Singolo), l'avanzamento (erogato sul totale), la prossima esecuzione, il badge del ruolo e le azioni: Revoca (se revocabile), Riassegna le tranche rimanenti a un nuovo destinatario (ReassignSchedule, 31, solo il destinatario attuale).

5.6 Multifirma

Un account che richiede più firme per ogni spesa. Due schede:

  • Crea account multisig, indirizzi dei partecipanti (uno per riga, qualsiasi formato; Aggiungi dai contatti), Firme minime, Nonce. Calcola indirizzo mostra l'indirizzo ZBC_ deterministico. Poi:
  • Registra on-chain, registra l'insieme dei partecipanti (MultisigRegistration, tipo 5),
  • Aggiungi al mio wallet, lo rende selezionabile come account (badge multisig) per ricevere e proporre spese.
  • Firma transazione multisig, gli elementi in sospeso indirizzati a te compaiono in cima. Incolla una transazione ricevuta dal firmatario precedente (hex / base64 / JSON), Firma con la mia chiave, poi passa il risultato al firmatario successivo: la firma non trasmette mai nulla. Trasmetti (pagina Inoltra) apre Inoltra con il payload precompilato una volta raccolte abbastanza firme.

5.7 Criteri, «Con cosa opero»

Esclusione per categoria on-chain, per singolo account, applicata da ogni nodo. Disattivare una categoria è bidirezionale: non puoi né inviarla né riceverla; chiunque ci provi viene respinto (nessun fondo si sposta; paga solo la commissione di rete). Nove interruttori:

BitCategoriaCopre
0PagamentiInvio di ZBC, trasferimenti liquidi / programmati / a trigger
1AppCreazione, partecipazione, mossa, abbandono, timeout, regolamento
2TokenEmissione, trasferimento, conio, distruzione e finanziamento delle monete colorate
3ExchangeOfferte di swap e mercati con order book
4Dati e archiviazioneDataset, archiviazione prepagata, file (DFS), prove di archiviazione
5Escrow e multisigApprovazione / richiesta di escrow, multifirma
6Nodi e infrastrutturaRegistrazione dei nodi, registro di gateway / nodi di archivio / relay
7BridgeAttestazione / conio cross-chain
8GovernanceVoti sulle commissioni, governance dei rilasci firmati

Un chip di riepilogo mostra «Opera con tutto» oppure «Rifiuta: …». Disattivare Pagamenti o Nodi e infrastruttura richiede una conferma aggiuntiva (potrebbero escluderti dall'uso quotidiano). Salva criteri trasmette SetTransactPolicy (tipo 50, maschera u16 LE, commissione di ~0.05 ZBC); si applica una volta confermato il blocco.


6. ASSET

6.1 Token

Registro di tutte le monete sulla chain (genesis + «monete colorate» emesse dagli utenti). Due modalità:

  • Sfoglia, elenco ricercabile di tutti i token registrati con icona, simbolo, nome, offerta, copertura e il tuo saldo; puoi assegnare a un token un soprannome locale. I token con copertura mantengono un valore costante in ZBC.
  • Emetti e gestisci (raggiungibile anche da Hub multifirma → Token):
  • Emetti un token, Simbolo (verificato rispetto al set di caratteri + blocklist dei simboli riservati), Nome, Offerta totale, Decimali (0–8), Copertura (ZBC bloccati), 0 per un token senza copertura, flag Riscattabile (brucia → recuperi la tua quota della copertura) e Coniabile (l'emittente può coniarne altri), logo SVG + descrizione facoltativi (viaggiano nel messaggio della tx, ≤ 6144 byte). Trasmette IssueToken (10).
  • Invia un token, token, importo, destinatario (TransferToken, 11; supporta escrow e commissione in token).
  • Conia o brucia, Conia (solo l'emittente, token coniabili; aumenta l'offerta e blocca altra copertura così il valore unitario resta costante, tipo 12), Brucia / riscatta (distrugge i tuoi token; i token riscattabili restituiscono la tua quota della copertura, tipo 13), Finanzia (ricarica il canone di sopravvivenza del token perché non venga eliminato, tipo 14).

6.2 File

Archiviazione decentralizzata dei file (DFS) più tutti gli strumenti per il ciclo di vita dei dati. Sei schede:

  • I miei file, i file che hai archiviato: nome, dimensione, root hash, stato delle repliche, stato del canone; scarica o copia un link di condivisione.
  • Carica file, il nodo divide il file in pezzi indirizzati per contenuto e li distribuisce al proprio insieme di repliche; il wallet poi lo ancora on-chain con StoreFile (tipo 40): root del file (32 B), dimensione, dimensione dei pezzi, deposito per il canone (min 0.01 ZBC) e l'elenco dei pezzi. Se il tuo elenco di file è vuoto, questa scheda si apre per impostazione predefinita.
  • Scarica per root, recupera qualsiasi file dalla rete di archiviazione tramite il suo root di 64 caratteri esadecimali (o l'id ZTX_).
  • Dataset, le tue voci on-chain grezze. Ogni messaggio di chat, sondaggio, fattura, modulo e campo del profilo è una voce di dataset su un account:
  • Le mie voci, elenco con Rimuovi in un tocco.
  • Aggiungi una voce, account (vuoto = il tuo), proprietà, valore (max 4096 byte; contatore di byte in tempo reale). Trasmette SetupAccountDataset (tipo 3).
  • Rimuovi una voce manualmente, deve corrispondere esattamente a destinatario + proprietà (incluso il suffisso #… mostrato in Chat) + valore. Trasmette RemoveAccountDataset (259).
  • Finanzia l'archiviazione, prepaga il canone dei dataset del tuo account (FundStorage, tipo 9). La selezione per singolo dataset arriverà con la prossima chain.
  • Oggetti, gestione degli oggetti con canone di sopravvivenza:
  • elenco dei tuoi oggetti con saldo del canone e scadenza stimata,
  • Trasferisci la proprietà, in due passaggi: tu offri (TransferDataset, 42), il destinatario accetta (AcceptDataset, 44),
  • Criteri di accesso, liste di account consentiti/negati (SetDatasetPolicy, 43),
  • Elimina (DeleteDataset, 45),
  • Finanzia qualsiasi oggetto tramite l'hash della tx di creazione, cerca il deposito ZBS_ dell'oggetto a partire dall'ID della sua transazione e ricaricalo con un normale trasferimento (anche in escrow).

6.3 Exchange

Un exchange con order book on-chain (CLOB). Il badge nell'intestazione mostra con trasparenza IN CONNESSIONE… / LIVE / OFFLINE; quando gli endpoint non sono disponibili non viene simulato nulla.

  • Modalità, Semplice (prima il modulo, niente book né scambi) e Pro (grafico di profondità, order book, scambi recenti, ordini, layout da terminale di trading).
  • Selettore di coppia, righe Da / A con tutte le monete registrate; pulsante di inversione; i mercati esistenti appaiono come pillole (con il numero dei tuoi ordini aperti).
  • Barra delle statistiche, ultimo prezzo, variazione/massimo/minimo/volume a 24 h, sparkline.
  • Profondità di mercato e Order book, in tempo reale dalla chain; quando il book è vuoto ne viene spiegato il motivo: «Ancora nessun ordine, sii il primo» / nodo offline / API di lettura mancante.
  • Modulo d'ordine, Compra/Vendi, tipo di ordine Mercato / Limite / Stop, importo (+Max dal tuo saldo in tempo reale), prezzo limite, totale, commissione stimata (0.1%). Gli ordini a mercato su un book vuoto vengono bloccati con una spiegazione (non c'è un prezzo con cui abbinarli). Inserire un ordine trasmette PlaceOrder (tipo 22); se il mercato per la coppia non esiste ancora ti viene proposto Crea mercato (CreateMarket, 21, con un deposito per il canone in ZBC).
  • I miei ordini, salvati per dispositivo; mostra In attesa del blocco finché è in sospeso, poi aperto/eseguito/annullato; Annulla trasmette CancelOrder (23, rimborsa la parte non eseguita); Rimuovi eseguiti riordina l'elenco.

6.4 Marketplace

Una bacheca di offerte di swap peer-to-peer (OTC): «pubblica cosa dai e cosa vuoi; chiunque può accettare.» Completamente atomica: il nodo scambia entrambe le parti in un solo blocco oppure non le scambia affatto. Solo LIVE, con uno stato OFFLINE trasparente.

  • Sfoglia le offerte, filtra per asset Dai / Vuoi; ogni scheda di offerta mostra il maker (avatar + nome del contatto), gli importi dato → voluto, il prezzo implicito, la scadenza e lo stato (Aperta / Eseguita / Annullata / Scaduta). Accetta trasmette AcceptSwapOffer (19): il taker paga il lato richiesto e riceve il lato offerto tenuto in deposito.
  • Crea offerta, asset dato + importo (bloccato dal tuo saldo finché l'offerta è aperta), asset voluto + importo, scadenza facoltativa (0 = valida fino a revoca), controparte riservata facoltativa (solo quell'indirizzo può accettare). Mostra una scheda di conferma, poi trasmette CreateSwapOffer (18).
  • Le mie offerte, le tue offerte aperte con Annulla (CancelSwapOffer, 20, rimborsa l'importo trattenuto) più una cronologia, locale sul dispositivo, delle offerte vendute / accettate / annullate / scadute.

7. SOCIAL

7.1 Contatti

La tua rubrica. Aggiungi contatto, nome, foto e nota facoltative e un numero qualsiasi di indirizzi su diverse chain (ognuno contrassegnato dal badge della chain). I nomi dei contatti sostituiscono gli indirizzi grezzi in tutto il wallet (Invia, Attività, Chat, Marketplace…) e l'indirizzo grezzo resta sempre a un tocco di distanza per copiarlo. I contatti risiedono nel vault cifrato e viaggiano con i backup.

7.2 Online

Presenza in tempo reale dei tuoi contatti. Ogni riga mostra lo stato (online / assente / offline), con azioni rapide per chattare o chiamare. La presenza è di tipo push: i wallet inviano un segnale ogni ~60 s tramite il relay e l'elenco si aggiorna a intervalli, così due wallet si vedono a vicenda senza alcuna navigazione. Come appari tu si imposta in Chiamate → Visibilità.

7.3 Chat

Messaggistica on-chain. Due livelli:

  • Vista conversazioni, in stile WhatsApp: elenco delle conversazioni con badge dei non letti, avatar (foto del contatto o iniziali), ricerca, rinomina locale; la vista della conversazione mostra fumetti, orari e un'icona a lucchetto sui messaggi cifrati end-to-end (ZBC ↔ ZBC). I messaggi in arrivo da uno qualsiasi dei tuoi wallet vengono riconosciuti come «tu».
  • Modulo di invio grezzo, A (indirizzo o contatto), Argomento (facoltativo; ad es. l'id di un'app per le mosse, predefinito chat), Messaggio. Ogni messaggio è una transazione SetupAccountDataset (tipo 3) sull'account del destinatario e costa una normale commissione di rete.

I messaggi si possono eliminare da File → Dataset (la rimozione deve corrispondere esattamente alla voce).

7.4 Chiamate

Voce, video e condivisione dello schermo, peer-to-peer. Le chiamate dirette sono gratuite; quando un firewall blocca il collegamento diretto, un gateway relay trasporta il traffico in cambio di un credito che ricarichi tu. Cinque schede:

  • Contatti online, chi è raggiungibile ora (filtro Solo online / Tutti); tocca per avviare voce/video.
  • Relay, il tuo credito relay, mostrato come MB di dati rimanenti più stime derivate (voce ≈ 0.36 MB/min, video ≈ 15 MB/min: il credito è solo dati, non minuti). Elenco dei gateway relay con il loro stato; Aggiungi gateway; le ricariche sono un pagamento in ZBC all'operatore del relay e si confermano on-chain (le ricariche in sospeso continuano a essere verificate finché non vengono accreditate).
  • Chiamate recenti, registro con direzione, durata, percorso (diretto / tramite relay), dati usati e gateway.
  • Abilita account, scegli quali dei tuoi account sono abilitati alle chiamate (iscrizione firmata presso il relay).
  • Visibilità, come appari: Tutti / Tutti i contatti / Contatti selezionati / Nessuno (con un selettore per contatto per Selezionati). Con «Nessuno» puoi comunque avviare chiamate.

Durante una chiamata: microfono disattivabile, attivazione della fotocamera, condivisione dello schermo e un contatore dati in tempo reale. L'indicatore del relay nella barra superiore mostra i dati rimanenti durante le chiamate tramite relay.


8. BUSINESS

8.1 Fatture

Invia tramite link una fattura pagabile, in ZBC o in qualsiasi moneta/token registrato (ZUSD, ZBTC…). Il pagamento è un normale trasferimento in quella valuta; lo stato si riconcilia da solo leggendo la chain.

  • Crea fattura, importo + valuta, descrizione, scadenza facoltativa; la fattura viene scritta come dataset sul tuo account e ricevi un link di condivisione (vedi 8.4).
  • Due schede: Emesse da me e Ricevute, ciascuna divisa in In attesa di pagamento e Pagate. Le righe pagate rimandano alla transazione di saldo. Le fatture in arrivo compaiono anche nelle notifiche e nella sezione Da fare, con un link diretto alla pagina di pagamento.
  • Pagina di pagamento, aperta da un link: mostra emittente, importo, valuta e causale; un tocco crea il trasferimento esatto.

8.2 Moduli

Pubblica un modulo, condividi un link, raccogli risposte firmate e cifrate che solo tu puoi leggere, con la prova di chi ha firmato cosa. Definisci i campi, pubblica (un dataset sul tuo account), condividi il link; le risposte sono cifrate con la tua chiave ed elencate con l'indirizzo del firmatario e l'orario.

8.3 Notaio (prova di esistenza)

Marca temporale on-chain per qualsiasi file: il documento non lascia mai il tuo dispositivo.

  • Notarizza, trascina un file; l'hash viene calcolato localmente (SHA3-256). Per le immagini puoi allegare facoltativamente una piccola miniatura (con l'opzione di cifrarla per te stesso); per i PDF compare una nota onesta «nessuna anteprima». L'hash (+ la miniatura facoltativa) viene scritto sul tuo account come dataset, finanziato dal proprio canone di archiviazione.
  • I miei ancoraggi, i tuoi ancoraggi con altezza/ora del blocco; quelli in sospeso (inviati, non ancora on-chain) vengono tracciati localmente finché non sono confermati.
  • Verifica, trascina un file per ricalcolarne l'hash e cercarne l'ancoraggio, per impostazione predefinita sul tuo account, oppure incolla un indirizzo ZBC_ / link qualsiasi per verificare quello di qualcun altro.

I link a fatture, moduli, sondaggi e pagine di pagamento si adattano al modo in cui il wallet viene servito: da una vera origine https:// sono URL completi; da un file locale sono link #frammento e il destinatario incolla il frammento dopo …wallet.html nel proprio wallet (nessun percorso file:// viene mai incorporato).


9. APP

L'Arcade: app a turni on-chain basate sullo stake. La lobby blocca l'accesso in modo trasparente: quando la chain non è raggiungibile, un overlay impedisce di giocare finché non torna disponibile.

9.1 Viste

  • Lobby, montepremi della rete (ZBC + token), le tue partite e sfide aperte (pulsanti per unirti), statistiche e la libreria delle app.
  • Giocatore singolo, app in solitario contro il Banco (dadi, testa o croce, roulette, slot, lotteria, crash…).
  • 1 contro 1, app a turni: tris, scacchi, forza 4, dama, reversi, gomoku, battaglia navale, punti e quadrati… Sfida un avversario specifico (indirizzo/contatto: l'invito arriva nel suo wallet) oppure pubblica una sfida aperta a cui chiunque può unirsi.
  • 3+ giocatori, app di gruppo (ludo, pig, corsa, stile Monopoli).

9.2 Avviare una partita

Il modulo per una nuova partita: app, stake (importo + moneta, ZBC o qualsiasi token dell'elenco del pool; 0 = amichevole), posti, avversario (1 contro 1) e, dove supportata, modalità veloce (state channel). La creazione trasmette CreateApp (24) bloccando il tuo stake; chi si unisce blocca il proprio con JoinApp (25).

9.3 Giocare

La vista del tavolo mostra la barra di stato (di chi è il turno, conto alla rovescia), il tavolo, la colonna dei giocatori e la cronologia delle mosse. La validità delle mosse è verificata lato client; la VM delle app del nodo riconvalida ogni mossa.

  • Modalità on-chain, ogni mossa è una transazione AppMove (26); il conto alla rovescia non scende mai sotto il tempo di blocco misurato. Se il wallet perde la sincronizzazione, può ricostruire l'intera app dalla chain.
  • Modalità veloce (canali), le mosse vengono scambiate istantaneamente come voucher firmati (ritrasmessi ogni ~10 s fino alla conferma di ricezione); alla fine uno dei giocatori invia SettleApp (39) e la chain riesegue i voucher firmati secondo le proprie regole per decidere l'esito e pagare.
  • Abbandona (27) equivale a ritirarsi: lo stake va all'avversario. Rivendica timeout (28) rivendica la vittoria se l'avversario ha abbandonato oltre la scadenza prevista per la mossa.
  • Uscire è sicuro: i round non conclusi restano salvati localmente, riapri la stessa app per riconnetterti; l'esito viene sigillato on-chain.

10. AVANZATE

10.1 Chiavi e seed

Gestisci ogni identità nel vault:

  • Seed, seed phrase con nome. Da ogni seed puoi derivare account su qualsiasi chain supportata e con qualsiasi indice di account senza reinserire la frase. Mostra (protetto da PIN), rinomina, rimuovi.
  • Importa una chiave, una singola chiave privata di 64 caratteri esadecimali in qualsiasi formato.
  • Osserva un indirizzo, aggiungi una voce in sola osservazione.
  • Elenco Chiavi importate e indirizzi osservati, con indirizzo per riga, saldo in tempo reale e rimozione.

10.2 Paper wallet

Cold storage stampabile. Controlli: Origine, Il mio wallet (un account che possiedi) o Nuovo wallet vuoto (frase nuova generata al momento, mai salvata); opzioni di layout; Stampa. La stampa contiene il QR dell'indirizzo + la frase/chiave con un avviso chiaro su come custodirla.

10.3 Inoltra

Trasmetti una transazione firmata altrove (dispositivo air-gapped, co-firmatario multisig, «solo creazione» da Invia). Incolla il JSON firmato oppure usa Scansiona QR con la fotocamera. Non serve alcuna chiave. Riporta l'ID della transazione risultante oppure l'errore del nodo testualmente.


11. SISTEMA

11.1 Impostazioni

Raggruppate in sottoschede:

  • Sicurezza, cambia il PIN a 6 cifre (i backup scaricati in seguito richiedono il nuovo PIN).
  • Passkey, configura / rimuovi lo sblocco con la passkey della piattaforma (Face ID / Touch ID / Windows Hello).
  • Blocco automatico, blocca dopo un periodo di inattività.
  • Menu, mostra/nascondi intere sezioni della barra laterale (preferenza del dispositivo). Solo HOME è sempre visibile; Impostazioni resta raggiungibile dalla barra superiore.
  • Backup e ripristino, scarica il vault cifrato (serve il tuo PIN per aprirlo; chiunque abbia file + PIN può spendere) / ripristina da un file di backup.
  • Nodo (raggiungibile anche prima dell'accesso), il gateway attuale con il pallino di stato, Elenca i gateway e verifica chi è online (dal registro on-chain), un inserimento manuale dell'URL del nodo per nodi di riserva aggiuntivi e le impostazioni avanzate del nodo.
  • Tema, scuro / chiaro.
  • Modalità air-gap, quando è ATTIVA il wallet non trasmette mai: ogni transazione viene firmata ed esportata (JSON + QR) perché la invii un dispositivo connesso. Un indicatore compare nella barra superiore.
  • Reimposta, cancella i dati di questo dispositivo (vault, cache); la tua frase ripristina tutto ciò che conta.

11.2 Nodo

Tutto il necessario per gestire un nodo validatore (solo account ZooBC):

  • I miei nodi, tutti i nodi posseduti dai tuoi wallet (tutti gli account o uno solo); assegna loro un nome locale, copia le loro chiavi.
  • Registra un nodo, incolla la chiave segreta del nodo (64 caratteri esadecimali) + il saldo bloccato (min 1 ZBC, predefinito 1000). Il wallet recupera un blocco recente e costruisce una prova di proprietà (POOWN), la chiave del nodo firma owner ‖ block hash ‖ height, poi trasmette NodeRegistration (tipo 2). Lo stake viene rilasciato se rimuovi il nodo.
  • Rimuovi un nodo, annulla la registrazione; il saldo bloccato viene rilasciato (RemoveNode, 514).
  • Aggiorna lo stake del nodo, nuovo saldo bloccato (può solo restare uguale o aumentare); nuova POOWN (UpdateNode, 258).
  • Rivendica un nodo, riassegna la proprietà di un nodo a questo wallet, dimostrandone il controllo con la sua chiave segreta (ClaimNode, 770).

11.3 Rete

I tuoi record di infrastruttura on-chain, con una panoramica in tempo reale dei tre registri:

  • Registra un gateway, passa al modulo Gateway (blocca uno stake di 10 ZBC, rimborsato alla cancellazione; il gateway deve poi inviare heartbeat, altrimenti viene rimosso automaticamente con rimborso dello stake).
  • Registra / aggiorna un relay, pubblica un relay per la scoperta: chiave del relay (ZBR_/64 caratteri esadecimali), il gateway che serve, dominio, URL (RegisterRelay, 48; Annulla registrazione, 49). È sempre il certificato off-chain di associazione del relay (vedi sotto) ad autenticarlo: questo record serve solo a renderlo individuabile.
  • Registra / aggiorna un nodo di archivio, contrassegna uno dei tuoi nodi registrati come fornitore della cronologia completa + dell'API dell'explorer: chiave del nodo (ZNK_/64 caratteri esadecimali), dominio, URL (RegisterArchival, 46; Annulla registrazione, 47). Gli assegna il badge Archivio nell'explorer.

Registrarsi di nuovo con la stessa chiave aggiorna dominio/URL; hanno effetto solo il nuovo annuncio o la cancellazione da parte del proprietario.

11.4 Gateway

  • Elenco dei gateway, il gateway con cui comunica questo wallet, con un controllo dello stato su tutti i gateway registrati (Elenca i gateway e verifica chi è online); scegli quello attraverso cui connetterti. Impostazioni avanzate del nodo… apre la configurazione grezza degli URL.
  • Registra un gateway, Genera chiave del gateway (oppure incolla 64 caratteri esadecimali; l'anteprima dell'indirizzo ZBG_ si aggiorna in tempo reale), dominio, URL → RegisterGateway (36), bloccando lo stake di 10 ZBC. Gli heartbeat (37) vengono emessi automaticamente dal gateway in esecuzione.
  • Annulla la registrazione di un gateway, tramite chiave; rimborsa lo stake (UnregisterGateway, 38).

11.5 Relay

Registra un relay (flusso per operatori, nessuna transazione, nessuna commissione): scegli il gateway la cui chiave ZBG_ firma, imposta la validità del certificato (giorni), Genera chiave e certificato del relay. Il wallet produce la chiave ZBR_ del relay e un certificato firmato dalla chiave del tuo gateway; incolla il risultato in /etc/zoobc/relay.env del server relay e riavvialo: il suo log mostra [fed] ON e si collega ai gateway peer. Ripeti quando vuoi per ruotare la chiave.

11.6 Governance

  • Sondaggi, un sondaggio è un record on-chain (un dataset): domanda, opzioni, descrizione, finestra di voto, regole di idoneità (saldo minimo in ZBC, età minima dell'account, numero minimo di transazioni). Nuovo sondaggio apre l'editor; Apri un link di sondaggio… incolla un link #gov=poll/... condiviso. Ogni voto è una transazione firmata dall'account del votante; i conteggi si leggono direttamente dalla chain. Le schede dei sondaggi mostrano lo stato (in arrivo / aperto / chiuso), il numero di voti, copia link e Apri.
  • Voto sulle commissioni, vota per alzare o abbassare la scala delle commissioni della rete (1.0× = normale). La mediana dei voti di tutti i nodi la sposta, entro un limite di 0.5×–2.0× per periodo. Due passaggi:
  1. Commit, il tuo voto viene trasmesso come hash (FeeVoteCommit, tipo 7); il wallet memorizza il voto sottostante su questo dispositivo.
  2. Rivelazione, nella finestra di rivelazione trasmetti il voto + la tua firma grezza (FeeVoteReveal, 263).

12. Riferimento delle transazioni

Tutti gli interi sono little-endian; gli importi sono in unità atomiche (×10⁸ per ZBC, ×10^decimali per i token). Ogni transazione condivide la stessa busta: type(u32) · version(1) · timestamp(u64) · sender(typed acct) · recipient(typed acct; 02000000 = none) · fee(u64) · body_len(u32) · body · escrow-or-marker · message_len(u32) · message. Il blocco escrow (per qualsiasi tipo che supporta l'escrow) è approver(typed) · commission(u64) · timeout(u64) · instruction(lp4) · multi_party(1); senza escrow viene scritto un marcatore di 4 byte (=2). Gli account ZBC firmano in ed25519 su SHA3-256("ZBC-TX" ‖ genesis_hash(32) ‖ unsigned_bytes); gli altri formati firmano con il proprio schema nativo sullo stesso digest. Includere l'hash di genesis nel digest è ciò che impedisce di riutilizzare una firma su un'altra rete ZooBC, ed è obbligatorio dalla v0.4.0.

Pagamenti ed escrow

TipoNomeCorpoNote
1SendZBCamount(8)Destinatario nella busta. Supporta escrow + messaggio on-chain (facoltativamente cifrato ZBC→ZBC).
6LiquidPaymentamount(8) · complete_minutes(8) · [token_id(8)] · [fee_in_token(1)]Matura linearmente a favore del destinatario nel periodo; il destinatario riscuote man mano che matura. Gli stream di token aggiungono token_id in fondo.
262LiquidPaymentStoptx_id(8)Il mittente interrompe lo stream; la parte non maturata viene restituita.
4ApprovalEscrowapproval(u32: 0=approva, 1=rifiuta) · escrowed_transaction_hash(32)Firmata dall'approvatore designato: l'approvazione rilascia i fondi al destinatario, il rifiuto li restituisce al mittente. Alla scadenza la chain risolve automaticamente.
260EscrowRequesttoken_id(8) · amount(8) · approver(tipizzato) · timeout(8) · commission(8) · instruction(lp4)Destinatario della busta = il pagatore. Escrow lato destinatario: il pagatore lo finanzia dalla sezione Da fare.
15CreateTriggerfire_height(8) · amount(8)Destinatario della busta = beneficiario. Blocca subito, paga all'altezza del blocco indicata.
16CancelTriggertrigger_id(8)Rimborsa l'importo bloccato al proprietario.

Pianificatore

TipoNomeCorpoNote
29ScheduledTransfertoken_id(8) · per_fire(8) · interval_s(8) · fires(u32) · cliff_s(8) · funding_mode(1) · cancel_policy(1) · end_time(8) · reserved(1)funding_mode 0 = Vesting (totale prebloccato), 1 = Ricorrente (prelievo all'esecuzione). cancel_policy 0 = revocabile. Da 1 a 520 tranche.
30CancelScheduleschedule_id(8)Revoca del mittente (se revocabile) o rifiuto del destinatario; la parte non ancora erogata viene restituita.
31ReassignScheduleschedule_id(8) · new_recipient(tipizzato)Solo il destinatario attuale.

Messaggi e dati

TipoNomeCorpoNote
3SetupAccountDatasetprop_len(u32) · prop · val_len(u32) · valMessaggi di chat, fatture, moduli, sondaggi, ancoraggi notarili, campi del profilo. Max 4096 byte per voce; si applica il canone di archiviazione.
259RemoveAccountDatasetstessa strutturaDeve corrispondere esattamente ad account + proprietà + valore.
9FundStorageamount(8)Prepaga il canone dei dataset del tuo account.
40StoreFilefile_root(32) · total_size(8) · piece_size(u32) · deposit(8) · piece_count(u32) · piece_ids(32×n)Ancora un caricamento DFS; deposito ≥ 0.01 ZBC; il root deve corrispondere ai pezzi.
42TransferDatasetobject_id(32) · new_owner(tipizzato 36)Trasferimento di proprietà in due passaggi (offerta).
43SetDatasetPolicyobject_id(32) · mode(1) · n_add(1)+aggiunte · n_remove(1)+rimozioniListe di controllo degli accessi (max 255 per modifica).
44AcceptDatasetobject_id(32)Il destinatario accetta un'offerta di trasferimento.
45DeleteDatasetobject_id(32)Il proprietario elimina l'oggetto.

object_id = l'hash della transazione di creazione (ZTX_/64 caratteri esadecimali). Le ricariche di durata sono semplici SendZBC verso l'indirizzo di deposito ZBS_ dell'oggetto (tipo di account 10) e possono passare in escrow.

Token (monete colorate)

TipoNomeCorpoNote
10IssueTokendecimals(1) · flags(1) · supply(8) · backing(8) · sym(lp2) · name(lp2)Flag: riscattabile, coniabile. Icona SVG + descrizione viaggiano nel messaggio (≤ 6144 B).
11TransferTokentoken_id(8) · amount(8) · fee_in_token(1)Supporta l'escrow; in escrow la commissione deve essere in ZBC (fee_in_token forzato a 0).
12MintTokentoken_id(8) · add_supply(8) · add_backing(8)Solo l'emittente; mantiene costante il valore unitario.
13BurnTokentoken_id(8) · amount(8)I token riscattabili restituiscono la tua quota della copertura.
14FinanceTokentoken_id(8) · amount(8)Ricarica il canone di sopravvivenza del token.

Trading

TipoNomeCorpoNote
18CreateSwapOffergive_token(8) · give_amt(8) · want_token(8) · want_amt(8) · expiry(8; 0=GTC) · [counterparty(36)]Blocca il lato offerto. Con una controparte diventa un'offerta riservata.
19AcceptSwapOfferoffer_id(8)Swap atomico: lato richiesto taker→maker, lato offerto trattenuto→taker.
20CancelSwapOfferoffer_id(8)Solo il maker; rimborsa l'importo trattenuto.
21CreateMarketbase_token(8) · quote_token(8) · deposit(8)Mercato con order book; il deposito è il canone in ZBC.
22PlaceOrdermarket_id(8) · side(1) · price(8, ×1e8) · amount(8, base) · flags(1: bit0 a mercato, bit1 post-only) · expiry(8)side 0 = acquista base, 1 = vendi.
23CancelOrderorder_id(8)Solo il proprietario; rimborsa la parte non eseguita.

App

TipoNomeCorpoNote
24CreateAppapp_type(1) · stake_token(8) · stake_amount(8) · seats(1) · params(lp2) · [opponent(36)] · [channel(1)]Stake in unità base. Posti: 1 in solitario, 2 duello, 3+ gruppo. L'avversario è il destinatario della busta, così l'invito compare nel suo flusso. channel=1 = modalità veloce (solo 2 posti).
25JoinAppapp_id(8)Blocca lo stake di chi si unisce.
26AppMoveapp_id(8) · move(lp2)Una mossa = una tx; la VM delle app del nodo la riconvalida.
27ResignAppapp_id(8)Lo stake va all'avversario.
28ClaimTimeoutapp_id(8)Vittoria se l'avversario ha abbandonato oltre la scadenza prevista per la mossa.
39SettleAppapp_id(8) · final_seq(u32) · move_count(u32) · [seat(1)·move(lp2)·sig(64)]*Regolamento in modalità veloce: la chain riesegue i voucher firmati e decide l'esito.

Nodi e infrastruttura

TipoNomeCorpoNote
2NodeRegistrationnode_pub(32) · owner(36) · locked(8) · POOWN(136)Min 1 ZBC bloccato. POOWN = owner‖blockhash‖height(72) + sig(64) ed25519 del nodo su di esso, ricavato da un blocco recente.
514RemoveNodenode_pub(32)Rilascia il saldo bloccato.
258UpdateNodenode_pub(32) · locked(8) · POOWN(136)Lo stake può solo restare uguale o aumentare.
770ClaimNodenode_pub(32) · POOWN(136)Riassegna la proprietà al firmatario.
36RegisterGatewaygw_key(32) · domain(lp4) · url(lp4)Blocca uno stake di 10 ZBC fissato dal protocollo.
37GatewayHeartbeatgw_key(32)Segnale di attività; evita che il record venga eliminato.
38UnregisterGatewaygw_key(32)Rimborsa lo stake di 10 ZBC.
46 / 47Register / UnregisterArchivalnode_pub(32) [· domain(lp4) · url(lp4)]Nessuno stake, solo commissione. Firmata dal proprietario.
48 / 49Register / UnregisterRelayrelay_key(32) [· gw_key(32) · domain(lp4) · url(lp4)]Record di scoperta; l'autenticazione resta affidata al certificato off-chain.

Governance e criteri

TipoNomeCorpoNote
7FeeVoteCommitvote_hash(32)SHA3-256 di FeeVoteInfo (blockhash‖height‖feeVote); il voto resta salvato localmente per la rivelazione. 1.0× ↔ feeVote 10000.
263FeeVoteRevealFeeVoteInfo(44) · sig_len(u32=64) · voter_sig(64)Firma ed25519 grezza sull'info. Si applica la mediana, limitata a 0.5×–2.0× per periodo.
5MultisigRegistrationver(u32) · min_sigs(u32) · nonce(u64) · n(u32) · partecipanti ordinati · 0 · 0Indirizzo = codifica ZBC dello SHA3-256 calcolato sull'insieme canonico dei partecipanti.
50SetTransactPolicymask(u16)Bit i impostato = l'account si esclude dalla categoria i (bit 0–8, vedi §5.7). Solo autofirmata; applicata in entrambe le direzioni da ogni nodo.

13. Risoluzione dei problemi

  • «sincronizzazione…» nella barra superiore, un breve disturbo di rete; il wallet attende 30 s di errori continui prima di dichiarare chain non raggiungibile e nel frattempo prova automaticamente i nodi di riserva e i gateway noti.
  • «Rilevata una nuova chain», la punta della chain del nodo è molto al di sotto del blocco più alto visto da questo wallet: la rete è stata riavviata dalla genesis. Il wallet offre la pulizia in un clic delle cache della vecchia chain (attività, token, app, notifiche); chiavi, seed e contatti vengono conservati.
  • PIN dimenticato, dopo 5 tentativi errati il vault viene cancellato. Ripristina con la tua frase di recupero (o con un file di backup + il relativo PIN).
  • Una transazione viene rifiutata addebitando solo la commissione, la controparte (o tu) ha criteri di transazione che rifiutano quella categoria (§5.7).
  • Exchange/Marketplace/App mostrano OFFLINE, il nodo non dispone di quegli endpoint o non è raggiungibile; le schede continuano a verificare e passano a LIVE da sole.
  • App bloccata / browser chiuso a metà app, riapri la stessa app dalla Lobby per riconnetterti; le app on-chain si ricostruiscono dalla chain, quelle in modalità veloce ritrasmettono automaticamente i voucher.
  • Un messaggio o una transazione inviati da un altro dispositivo non compaiono in Attività, la sorgente Ultime TX di Attività mostra la finestra recente del nodo connesso; passa alla sorgente Tutte le TX (archivio) per la cronologia completa.
  • Il link di condivisione inizia con #, stai usando il wallet da un file locale; il destinatario incolla il frammento dopo …wallet.html nella propria copia o in un qualsiasi wallet ospitato da un gateway.

14. Glossario

  • Unità atomica, la più piccola unità on-chain; 10⁻⁸ ZBC.
  • Token con copertura, token garantito da ZBC bloccati; bruciarlo riscatta la quota proporzionale della copertura.
  • Dataset, un record proprietà→valore su un account; l'archivio dati generico della chain.
  • Escrow, fondi trattenuti finché un approvatore designato non approva o rifiuta, oppure finché la scadenza non li risolve automaticamente.
  • Modalità veloce / canale, voucher di mossa firmati off-chain e regolati da un'unica transazione finale.
  • Gateway, il server web attraverso cui si connette il wallet (chiave ZBG_).
  • Pagamento liquido, un trasferimento che matura in modo continuo nel tempo.
  • POOWN, prova di proprietà del nodo: la chiave del nodo firma proprietario + hash di un blocco recente + altezza.
  • Relay, server per chiamate e presenza gestito da un gateway (chiave ZBR_).
  • Spendibile, saldo meno tutto ciò che è bloccato (stake, escrow, offerte, piani programmati).
  • Vault, l'archivio locale cifrato con PIN che contiene seed, chiavi e contatti.
  • Sola osservazione, un indirizzo aggiunto senza la sua chiave: puoi vederlo ma mai firmare.
  • Indirizzo ZBS_, l'account di deposito per il canone di un oggetto, finanziabile come qualsiasi indirizzo.
  • ZTX_, forma di visualizzazione dell'hash di una transazione.