Leer cualquier volcado
fromPages(), fromDump() y fromFile() aceptan un UID con 80 o 144 bytes, o un volcado de 180 bytes. pretty(), describe() y toDict() devuelven texto, un resumen legible u objetos JSON.
SDK JavaScript / Node.js
El SDK del protocolo abierto TigerTag para filamento y resina de impresión 3D: convierte los bytes de un chip en material, color, ajustes de impresión y cantidad, comprueba su firma ECDSA-P256 sin conexión y construye nuevas etiquetas byte a byte.
$ 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 objectUn solo paquete para todo lo relacionado con un chip TigerTag: leer, comprobar, escribir y mantener sus datos al día.
fromPages(), fromDump() y fromFile() aceptan un UID con 80 o 144 bytes, o un volcado de 180 bytes. pretty(), describe() y toDict() devuelven texto, un resumen legible u objetos JSON.
verify() comprueba la firma ECDSA-P256 que vincula el UID del chip con sus datos de producto, con la clave pública del paquete. Resultado: valid, invalid, unsigned, no_key o no_uid.
create(), asInit(), patch() y erase() construyen los bytes del chip. Un TigerTag es inmutable: patch() devuelve uno nuevo y no permite cambiar idTigertag, idProduct, uid ni la firma.
TigerTag.fromCatalog(productId) construye un TigerTag+ completo a partir del catálogo oficial de productos, descargado en el primer uso y guardado en una carpeta de caché por usuario.
Para los chips TigerTag+, rawApi(), diffApi() y patchFromApi() obtienen los datos actuales de la marca, muestran lo que difiere del chip y lo aplican.
Las tablas de material, marca, aspecto, tipo, diámetro y unidad vienen en el paquete y se actualizan una vez al día como máximo; offline: true o TIGERTAG_OFFLINE=1 desactiva la red.
Pasa a TigerTag.fromPages() el UID de 7 bytes y los bytes que lee tu biblioteca NFC. pretty(), verify() y toDict() devuelven un resumen legible, el resultado de la firma y un objeto listo para JSON. Funciona justo después de npm install, sin configuración.

Cada cambio devuelve un nuevo TigerTag; toBytes() da los bytes que hay que escribir. erase() da un chip en blanco.

Una página web local, servida por el propio SDK, que construye y decodifica chips TigerTag y muestra cada byte. No hace falta hardware NFC. El playground nunca escribe una firma: solo un fabricante certificado puede emitirla.
Ejecuta npm install tigertag, o pnpm add tigertag, yarn add tigertag o bun add tigertag. Necesita Node.js 18 o posterior y ningún otro paquete para leer y verificar.
No. Las tablas de referencia y la clave pública de firma vienen en el paquete, así que leer y verificar funcionan sin conexión. La red solo se usa para la comprobación diaria de tablas, el catálogo de productos y los métodos en la nube de TigerTag+; offline: true o TIGERTAG_OFFLINE=1 la desactiva.
TigerTag usa chips NTAG213, NTAG215 y NTAG216 (ISO 14443-3). El SDK recibe el UID y los bytes que lee tu biblioteca NFC, así que no depende de un lector concreto; el README muestra nfc-pcsc con un ACR122U.
verify() comprueba la firma ECDSA-P256 del chip sobre su UID y sus identificadores de producto, con la clave pública incluida en el paquete. Devuelve valid, invalid, unsigned, no_key o no_uid, sin llamar a ningún servidor.
Construye los bytes: create(), patch(), asInit(), erase() y fromCatalog() dan un TigerTag cuyo toBytes() es el contenido que escribe tu biblioteca NFC. El botón Burn del playground lo escribe en los chips de los lectores conectados.