读取任何转储
fromPages()、fromDump() 和 fromFile() 接受 UID 加 80 或 144 字节,或完整的 180 字节转储。pretty()、describe() 和 toDict() 返回文本、通俗说明或 JSON 对象。
适用于 JavaScript / Node.js 的 SDK
开放的 TigerTag 协议的 SDK,面向 3D 打印耗材与树脂:它把芯片上的字节解析为材料、颜色、打印参数和余量,离线验证其 ECDSA-P256 签名,并逐字节生成新标签。
$ 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一个软件包覆盖 TigerTag 芯片的各个方面:读取、校验、写入,并保持数据最新。
fromPages()、fromDump() 和 fromFile() 接受 UID 加 80 或 144 字节,或完整的 180 字节转储。pretty()、describe() 和 toDict() 返回文本、通俗说明或 JSON 对象。
verify() 使用软件包内置的公钥,检查将芯片 UID 与产品数据绑定在一起的 ECDSA-P256 签名。结果为 valid、invalid、unsigned、no_key 或 no_uid。
create()、asInit()、patch() 和 erase() 生成芯片字节。TigerTag 对象不可变:patch() 返回新对象,并拒绝修改 idTigertag、idProduct、uid 或签名。
TigerTag.fromCatalog(productId) 根据官方产品目录生成完整的 TigerTag+;目录在首次使用时下载,并缓存在用户专属文件夹中。
对于 TigerTag+ 芯片,rawApi()、diffApi() 和 patchFromApi() 获取品牌当前的产品数据,列出与芯片的差异并应用。
材料、品牌、外观、类型、直径和单位数据表随软件包提供。后台检查每天最多更新一次;offline: true 或 TIGERTAG_OFFLINE=1 表示完全不发起网络请求。
把 7 字节 UID 和 NFC 库读取的字节传给 TigerTag.fromPages()。pretty()、verify() 和 toDict() 分别返回易读的摘要、签名验证结果和可直接转为 JSON 的对象。npm install 之后即可运行,无需任何配置。

每次修改都返回一个新的 TigerTag;toBytes() 给出要写回的字节。erase() 给出一个空白芯片。

由 SDK 自身提供的本地网页,可生成和解码 TigerTag 芯片并显示每个字节。无需 NFC 硬件。Playground 从不写入签名:只有经过认证的制造商才能签发签名。
运行 npm install tigertag,或 pnpm add tigertag、yarn add tigertag、bun add tigertag。需要 Node.js 18 或更高版本,解析和验证不需要其他软件包。
不需要。参考数据表和签名公钥都随软件包提供,因此读取和验证可离线完成。网络仅用于每日数据表检查、产品目录和 TigerTag+ 云端方法;offline: true 或 TIGERTAG_OFFLINE=1 可将其关闭。
TigerTag 使用 NTAG213、NTAG215 和 NTAG216 芯片(ISO 14443-3)。SDK 接收 NFC 库读取的 UID 和字节,因此不绑定任何读卡器;README 中示例使用 nfc-pcsc 和 ACR122U。
verify() 使用软件包内置的公钥,检查芯片基于其 UID 和产品标识的 ECDSA-P256 签名。返回 valid、invalid、unsigned、no_key 或 no_uid,无需调用服务器。
它负责生成字节:create()、patch()、asInit()、erase() 和 fromCatalog() 返回一个 TigerTag,其 toBytes() 就是 NFC 库要写入的内容。Playground 的 Burn 按钮会把它写入已连接读卡器上的芯片。