UNPKG

zkapp-cli

Version:

CLI to create zkApps (zero-knowledge apps) for Mina Protocol

32 lines 1.37 kB
import { Cache } from 'o1js'; import fs from 'fs/promises'; // @ts-expect-error - These imports will resolve in the generated project after the contract is built. Remove these comments in your project. const { Add } = await import('../build/src/Add.js'); // @ts-expect-error - These imports will resolve in the generated project after the ZkProgram is built. Remove these comments in your project. const { AddZkProgram } = await import('../build/src/AddZkProgram.js'); const cache_directory = 'cache'; // Create a file system cache instance pointing to our cache directory // This allows o1js to store and retrieve compiled circuit artifacts const cache = Cache.FileSystem(cache_directory); // ZkProgram cache in the browser is currently not fully supported. await AddZkProgram.compile(); // Compile the smart contract with the cache enabled await Add.compile({ cache }); const cacheObj = { files: [], }; const files = await fs.readdir(cache_directory); for (const fileName of files) { if (!fileName.endsWith('.header')) { cacheObj['files'].push(fileName); } } const jsonCacheFile = `cache.json`; try { await fs.writeFile(jsonCacheFile, JSON.stringify(cacheObj, null, 2)); console.log('JSON cached object successfully saved '); } catch (error) { console.error('Error writing JSON file:', error); } //# sourceMappingURL=generate-cache.js.map