SDK JavaScript / Node.js

Leggi, verifica e scrivi chip TigerTag da JavaScript.

L'SDK del protocollo aperto TigerTag per filamento e resina da stampa 3D: trasforma i byte di un chip in materiale, colore, parametri di stampa e quantità, verifica la sua firma ECDSA-P256 offline e costruisce nuovi tag byte per byte.

npm ↗GitHub ↗

$ npm install tigertag

const { TigerTag } = require('tigertag');

const tag = TigerTag.fromPages(uid, payload);  // from your NFC SDK
console.log(tag.pretty());  // human-readable summary
console.log(String(tag.verify()));  // VALID / NOT SIGNED / INVALID
console.log(tag.toDict());  // JSON-ready object
Versione attuale su npm
1.2.1Versione attuale su npm
Usa crypto e fetch integrati
Node.js 18+Usa crypto e fetch integrati
Dipendenze di esecuzione per leggere e verificare
0Dipendenze di esecuzione per leggere e verificare
Licenza open source, con concessione di brevetti
Apache-2.0Licenza open source, con concessione di brevetti

Cosa fa l'SDK

Un solo pacchetto per ogni aspetto di un chip TigerTag: leggere, verificare, scrivere e tenere aggiornati i dati.

Leggi qualsiasi dump

fromPages(), fromDump() e fromFile() accettano un UID con 80 o 144 byte, o un dump di 180 byte. pretty(), describe() e toDict() restituiscono testo, un riepilogo leggibile o oggetti JSON.

Verifica l'autenticità offline

verify() controlla la firma ECDSA-P256 che lega l'UID del chip ai suoi dati di prodotto, con la chiave pubblica inclusa nel pacchetto. Risultato: valid, invalid, unsigned, no_key o no_uid.

Crea e modifica tag

create(), asInit(), patch() ed erase() costruiscono i byte del chip. Un TigerTag è immutabile: patch() ne restituisce uno nuovo e rifiuta di cambiare idTigertag, idProduct, uid o la firma.

Costruisci dal catalogo

TigerTag.fromCatalog(productId) costruisce un TigerTag+ completo dal catalogo ufficiale dei prodotti, scaricato al primo uso e salvato in una cartella di cache per utente.

Sincronizza con il produttore

Per i chip TigerTag+, rawApi(), diffApi() e patchFromApi() recuperano i dati attuali del marchio, elencano le differenze con il chip e le applicano.

Dati di riferimento, prima offline

Le tabelle di materiale, marca, aspetto, tipo, diametro e unità sono nel pacchetto e si aggiornano al massimo una volta al giorno; offline: true o TIGERTAG_OFFLINE=1 disattiva la rete.

Leggi un chip

Passa a TigerTag.fromPages() l'UID di 7 byte e i byte letti dalla tua libreria NFC. pretty(), verify() e toDict() restituiscono un riepilogo leggibile, il risultato della firma e un oggetto pronto per JSON. Funziona subito dopo npm install, senza configurazione.

A TigerTag chip

Modifica e scrivi

Ogni modifica restituisce un nuovo TigerTag; toBytes() dà i byte da riscrivere. erase() dà un chip vuoto.

TigerTag

Provalo senza lettore: il playground

Una pagina web locale, servita dall'SDK stesso, che costruisce e decodifica chip TigerTag e mostra ogni byte. Non serve hardware NFC. Il playground non scrive mai una firma: solo un produttore certificato può emetterne una.

Domande

Come si installa l'SDK JavaScript TigerTag?

Esegui npm install tigertag, oppure pnpm add tigertag, yarn add tigertag o bun add tigertag. Richiede Node.js 18 o successivo e nessun altro pacchetto per leggere e verificare.

Serve una connessione internet?

No. Le tabelle di riferimento e la chiave pubblica di firma sono incluse nel pacchetto, quindi lettura e verifica funzionano offline. La rete serve solo per il controllo giornaliero delle tabelle, il catalogo prodotti e i metodi cloud TigerTag+; offline: true o TIGERTAG_OFFLINE=1 la disattiva.

Con quali chip e lettori NFC funziona?

TigerTag usa chip NTAG213, NTAG215 e NTAG216 (ISO 14443-3). L'SDK riceve l'UID e i byte letti dalla tua libreria NFC, quindi non è legato a un lettore; il README mostra nfc-pcsc con un ACR122U.

Come verifica che un chip sia autentico?

verify() controlla la firma ECDSA-P256 del chip sul suo UID e sui suoi identificativi di prodotto, con la chiave pubblica inclusa nel pacchetto. Restituisce valid, invalid, unsigned, no_key o no_uid, senza chiamare alcun server.

Può scrivere chip?

Costruisce i byte: create(), patch(), asInit(), erase() e fromCatalog() danno un TigerTag il cui toBytes() è il contenuto che la tua libreria NFC scrive. Il pulsante Burn del playground lo scrive sui chip dei lettori collegati.

Un comando per iniziare

npm install tigertag, poi TigerTag.fromPages(uid, payload).

Vedi su npm