Label 309 · Open source
L'ecosistema Label 309
Un unico standard aperto e una dotazione completa di implementazioni di riferimento. La specifica in formato leggibile dalle macchine, gli SDK per TypeScript, Python e Rust e uno strumento da riga di comando: tutto pubblicato allo scoperto, con Apache-2.0 per il codice e CC-BY-4.0 per la specifica. Usali così come sono, oppure scrivi la tua implementazione: Label 309 è uno standard, e chiunque è libero di realizzarlo.
label-309
Lo standard
Il corpus completo della specifica, in formato leggibile dalle macchine: lo standard in prosa, la grammatica CDDL, i registri degli algoritmi, i JSON Schema e i vettori di conformità su cui viene messa alla prova ogni implementazione.
SDK di riferimento
Lo stesso standard, implementato tre volte: per il browser e Node, per Python e per Rust.
TypeScript
SDK per browser e Node.
Un verificatore autonomo, un client HTTP che prescinde dal gateway e funzioni di supporto per il fetch. Installando l'SDK ti porti dietro anche le primitive crittografiche a catalogo chiuso e la libreria del formato wire su cui poggia, così hai l'intero stack in un'unica dipendenza.
Installazione
$ npm install @cardanowall/sdk-ts@cardanowall/sdk-ts
Componenti di basso livello
Python
SDK per Python.
Un gemello identico, byte per byte, dell'SDK per TypeScript, verificato con gli stessi vettori di test CBOR canonico. Verifica i record, codifica il formato wire e costruisci una prova di esistenza sigillata direttamente da Python.
Installazione
$ pip install cardanowall-sdkcardanowall-sdk
Rust
SDK per Rust.
Un gemello identico, byte per byte, degli SDK per TypeScript e Python: bloccante e sicuro di default, pensato per applicazioni e servizi nativi. La documentazione completa dell'API è su docs.rs.
Installazione
$ cargo add cardanowallcardanowall
cardanowall-cli
Riga di comando
Uno strumento da riga di comando che prescinde dal gateway e parte dai seed grezzi, costruito sull'SDK per Rust. Verifica i record, gestisci un'inbox, costruisci e controlla le prove Merkle, firma e invia: tutto dal terminale o da una pipeline di CI.
Installazione
$ cargo install cardanowall-cliEseguibile: cardanowall
Prescinde dal gateway, parte dai seed grezzi.
Comandi
- verify
- inbox-list
- inbox-decrypt
- inbox-sync
- merkle-verify
- merkle-build
- sign
- submit
Identici, per costruzione
Gli SDK per TypeScript, Python e Rust sono identici byte per byte rispetto agli stessi vettori di test CBOR canonico. Un record codificato da uno è bit per bit lo stesso record codificato dagli altri, così la verifica non dipende mai da quale implementazione lo abbia prodotto.
Costruisci la tua
Label 309 prescinde dall'emittente e si verifica in autonomia: non dipende in nulla da questi strumenti né da un singolo fornitore. La specifica è completa e pubblica, perciò chiunque può scrivere una nuova implementazione, in qualsiasi linguaggio e per qualsiasi piattaforma, e farla dialogare con tutto ciò che è già stato rilasciato. È uno standard, non un prodotto.