Use NeoZipKit for ZIP creation, compression, and verification. Use NeoZip-blockchain for timestamping, NFT minting, and token verification. Full TypeScript support, browser and Node.js compatibility.
npm
npm install neozipkityarn
yarn add neozipkitimport { ZipkitBrowser } from 'neozipkit/browser-esm';
const zip = new ZipkitBrowser();
await zip.addFile(file, { level: 6 });
const zipBlob = await zip.createZipBlob();import { ZipkitNode } from 'neozipkit/node';
const zip = new ZipkitNode();
// Create a ZIP from files
await zip.createZipFromFiles(['file1.txt', 'file2.txt'], 'output.zip');
// Extract a ZIP file
await zip.extractZipFile('archive.zip', './output');import { ZipkitBrowser } from 'neozipkit/browser-esm';
const zip = new ZipkitBrowser();
await zip.loadZipBlob(zipBlob);
// Verify file integrity
const entries = zip.getDirectory();
for (const entry of entries) {
const isValid = await zip.verifyEntry(entry);
console.log(`${entry.filename}: ${isValid ? 'Valid' : 'Invalid'}`);
}NeoZipKit supports multiple compression algorithms to suit different use cases:
import { CompressOptions, CMP_METHOD } from 'neozipkit';
// Deflate compression
const deflateOptions: CompressOptions = {
useZstd: false,
level: 6
};
// ZStandard compression
const zstdOptions: CompressOptions = {
useZstd: true,
level: 3
};
// Stored (no compression)
const storedOptions: CompressOptions = {
cmpMethod: CMP_METHOD.STORED
};NeoZip-blockchain is the companion library for all blockchain features. Use with NeoZipKit for full NZIP workflows.
npm
npm install neozip-blockchainyarn
yarn add neozip-blockchainFor full NZIP workflows: npm install neozipkit neozip-blockchain
import { ZipkitMinter } from 'neozip-blockchain';
const minter = new ZipkitMinter('merkleRoot123...', {
walletPrivateKey: '0x...',
network: 'base-sepolia'
});
const result = await minter.mintToken();
console.log(`Token ID: ${result.tokenId}`);import { ZipkitVerifier } from 'neozip-blockchain';
const verifier = new ZipkitVerifier({ debug: false });
// Verify token metadata
const result = await verifier.verifyToken(tokenMetadata);
if (result.success) {
console.log('Token verified!');
}import { createTimestamp, verifyOtsZip } from 'neozip-blockchain/ots';
// Create timestamp for a file's hash
const otsProof = await createTimestamp(merkleRoot);
// Verify a loaded ZIP file
const result = await verifyOtsZip(zipInstance);
if (result.status === 'valid') {
console.log('Verified! Block:', result.blockHeight);
}import { ZipkitNode } from 'neozipkit/node';
import { ZipkitMinter, ZipkitVerifier } from 'neozip-blockchain';
// Create and tokenize a ZIP
const zip = new ZipkitNode();
await zip.createZipFromFiles(files, 'archive.zip', { useSHA256: true });
// Get merkle root from ZIP
const merkleRoot = zip.getMerkleRoot();
// Mint as NFT
const minter = new ZipkitMinter(merkleRoot, {
walletPrivateKey: process.env.WALLET_KEY,
network: 'base-sepolia'
});
const result = await minter.mintToken();Both NeoZipKit and NeoZip-blockchain are written in TypeScript with comprehensive type definitions. All APIs are fully typed with IntelliSense support for better developer experience.
import type { ZipEntry, CompressOptions } from 'neozipkit';
// NeoZipKit types
const entry: ZipEntry = zip.getZipEntry('file.txt');
const options: CompressOptions = { useZstd: true, level: 3 };Install NeoZipKit and NeoZip-blockchain to build blockchain-secured ZIP file applications.