UNPKG

@zkpass/wasm-lib-worker

Version:

![ES Version](https://img.shields.io/badge/ES-2020-yellow)

95 lines (74 loc) 3.08 kB
# @zkpass/zkfetch-web ![ES Version](https://img.shields.io/badge/ES-2020-yellow) zkFetch using zkTLS is a system that enables verifiable fetching of HTTPS data using zero-knowledge proofs (ZKPs). It ensures that the response from a remote TLS server (like a Web2 API) is authentic, integrity-preserved, and can be publicly verified—without trusting the data fetcher or exposing sensitive content. ## Register an develop account Please register an account on the [zkPass Dev Center](https://dev.zkpass.org) and create a project. Then you can get appId for your zkFetch. ## Installation You can install the package either using [NPM](https://www.npmjs.com/package/@zkpass/zkfetch) or using [Yarn](https://yarnpkg.com/package/@zkpass/zkfetch) ### Using NPM ```bash npm install @zkpass/zkfetch-web ``` ### Using Yarn ```bash yarn add @zkpass/zkfetch-web ``` #### Browser Environment Required This package is designed to run exclusively in browser environments and cannot be used in Node.js or server-side applications. ### Example ```bash import zkFetchClient from '@zkpass/zkfetch' const fetchData = async () =>{ try{ const appid = "8fb9d43c-2f24-424e-a98d-7ba34a5532f5" //Locate this form on the development platform const client = new zkFetchClient(appid) const response = await client.fetchData({ request: { url: "https://backend.zkpass.org/users/level/airdrop?address=0xecd12972e428a8256c9805b708e007882568d7d6", method: "GET", headers: { accept: "application/json, text/plain, */*", "accept-encoding": "gzip, deflate, br, zstd", "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7", "cache-control": "no-cache", origin: "https://portal.zkpass.org", pragma: "no-cache", priority: "u=1, i", referer: "https://portal.zkpass.org/", "sec-ch-ua": '"Not)A;Brand";v="8", "Chromium";v="138", "Google Chrome";v="138"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"macOS"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", }, }, asserts: { request: { query: [ { key: "address", value: "0xecd12972e428a8256c9805b708e007882568d7d6", operation: "=", }, ], }, response: [ { key: "reward", isPublic: true, }, ], }, }) console.log("Response:", response) //The response wait can synchronously wait for the verification results from distributed validation nodes. If that doesn't work, you can also perform synchronous verification by querying manually via: https://vproof.zkpass.org/proof/${response.taskId}. const verify_result = await response.wait() console.log("Verify Result:", verify_result) }catch(error){ console.log('transgate error', error) } } ```