Skip to content

The Zokrates CDN is not working #1385

@roudra323

Description

@roudra323

I was working in a project and using zokrates cdn inside my webview. It was working right . But when I started the project I am getting error zokrates is not defined . Below is a simple Html code that is also giving me the same error.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>ZoKrates JS Example</title>
    <script src="https://unpkg.com/zokrates-js@latest/umd.min.js"></script>
</head>

<body>
    <h1>ZoKrates JS Example (CDN)</h1>
    <button onclick="runZoKrates()">Run ZK Proof</button>
    <pre id="output"></pre>

    <script>
        async function runZoKrates() {
            const output = document.getElementById('output');
            output.textContent = 'Initializing ZoKrates...\n';

            // Initialize zokrates
            const zokratesProvider = await zokrates.initialize(); // Error: zokrates is not defined

            // Simple ZoKrates program: square a number
            const source = "def main(private field a) -> field { return a * a; }";

            // Compile
            output.textContent += 'Compiling...\n';
            const artifacts = zokratesProvider.compile(source);

            // Compute witness
            output.textContent += 'Computing witness for input a=3...\n';
            const { witness, output: computationOutput } = zokratesProvider.computeWitness(artifacts, ["3"]);
            output.textContent += `Witness computed. Output: ${computationOutput}\n`;

            // Setup
            output.textContent += 'Running trusted setup...\n';
            const keypair = zokratesProvider.setup(artifacts.program);

            // Generate proof
            output.textContent += 'Generating proof...\n';
            const proof = zokratesProvider.generateProof(artifacts.program, witness, keypair.pk);

            // Verify proof
            output.textContent += 'Verifying proof...\n';
            const isVerified = zokratesProvider.verify(keypair.vk, proof);
            output.textContent += `Proof verified: ${isVerified}\n`;

            // Optional: Export Solidity Verifier
            const solidityVerifier = zokratesProvider.exportSolidityVerifier(keypair.vk);
            output.textContent += '\nSolidity Verifier (snippet):\n' + solidityVerifier.substring(0, 300) + '...\n';
        }
    </script>
</body>

</html>

Is it the CDN problem ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions