ZKCloudWorker Documentation

website·Indexed 31 days ago

https://docs.zkcloudworker.com

API reference and OpenAPI schemas for ZKCloudWorker, featuring prover interfaces for job management, log streaming, and Mina network integration, as well as schemas for NFT and token transactions including minting, buying, and airdrops.

Tokens
98.6K
Snippets
767
Records
986
Agent score
51%

What's inside ZKCloudWorker

  1. Overview of the NFTAdmin contract

    The NFTAdmin contract is the foundational administrative layer for NFT collections on the Mina Protocol. It manages essential operations including contract upgrades, pausing and resuming operations, and ownership management. It implements NFTAdminBase, PausableContract, and OwnableContract, and can be extended by custom admin contracts to implement specific administrative logic.
  2. Overview of FungibleTokenAdvancedAdmin contract

    The FungibleTokenAdvancedAdmin contract provides a mechanism to grant permissions for administrative actions on a token. By separating administration into a dedicated contract, users can define custom rules for administrative actions without modifying the core token contract. This ensures that third-party applications interacting with the token in a non-privileged manner can continue to use the unchanged token contract.
    // This contract implements FungibleTokenAdminBase
    class FungibleTokenAdvancedAdmin {}
  3. Overview of MinaTokens token launchpad

    MinaTokens is a no-code custom token launchpad designed to simplify the creation and management of MINA custom tokens. It provides an API for developers to programmatically execute token operations and integrate them into external applications.
  4. Overview of zkCloudWorker features and capabilities

    zkCloudWorker provides a serverless infrastructure for zkApps, offering a suite of tools for contract lifecycle management, proof generation, and data storage. Key capabilities include:

    • Contract & Proof Management: Cloud-based contract compilation, transaction proof calculation via tx.prove(), recursive proof calculation, and proof verification.
    • Network Interaction: Sending transactions to the network and providing deployers to handle transaction fees.
    • Storage: Key-value off-chain storage (up to 400K size per value) and unlimited file storage for zkApps.
    • Security & Exploration: Encryption utilities for data storage/transmission and contract text verification for publishing on the minascan.io explorer.
    • Developer Tooling: A CLI tool for cloud deployment and minascan.io verification, a web dashboard for managing workers and logs, and a billing panel for cost tracking.
    • Integration & Extensibility: APIs for access both inside the worker and within web applications, support for SmartContracts, ZkPrograms, general calculations (including potential ProtoKit chain support), and custom integration options for non-standard frameworks.
  5. Overview of the BulletinBoard contract

    The BulletinBoard contract is a centralized event emitter used to track and broadcast NFT marketplace activities. It allows for the standardized emission of events including new collection listings, offers, bid placements, bid/offer cancellations, and completed sales. To maintain clarity in event tracking, all events emitted via this contract are prefixed with BB_.
  6. Overview of VerificationKeyUpgradeAuthority

    VerificationKeyUpgradeAuthority is a smart contract designed to upgrade verification keys of other contracts without requiring redeployment. It implements a governance system where a list of authorized validators vote on upgrade proposals. Key capabilities include secure verification key management, ZK-proof based voting to protect sensitive information, and maintenance of an upgrade database to track proposal validity periods.
  7. Overview of the NFTStandardApproval contract

    The NFTStandardApproval contract is the default implementation of the NFTApprovalBase interface. It provides the logic for determining if an NFT can be transferred and manages administrative authority for the contract.
  8. Reference the Index interface properties for IndexedMapSerialized

    The Index interface in the IndexedMapSerialized storage API provides metadata and structural information about the index. It contains the following properties:

    • height (number): The height of the index structure.
    • length (string): The length of the index.
    • nodes (string): The nodes associated with the index.
    • root (string): The root identifier or reference for the index.
    • sortedLeaves (string): The sorted leaves of the index.
  9. NftV2RequestAnswer Schema Reference

    The NftV2RequestAnswer object provides comprehensive details about an NFT, including its contract address, token ID, ownership, and storage information. It is used as a response schema for NFT-related requests.
    {
      "contractAddress": "B62qs2NthDuxAT94tTFg6MtuaP1gaBxTZyNv9D3uQiQciy1VsaimNFT",
      "nftAddress": "B62qoT6jXebkJVmsUmxCxGJmvHJUXPNF417rms4PATi5R6Hw7e56CRt",
      "tokenId": "wXqDrUzWtK58CaWCzN2g3zseU275dhSnRtBthcroeqT6HGKkos",
      "tokenSymbol": "NFT",
      "contractUri": "https://minanft.io",
      "name": "Minaty 0001",
      "metadataRoot": {
        "data": "string",
        "kind": "string"
      },
      "storage": "bafkreiffyjf6lpxw5uzniwam7lv7oyezfsxnnfj3yeo67ht3nch3gvgvwi",
      "owner": "B62qkX4VQYdmgc7dmLyiPpMhLRfrWjWnyoGGhdqF4bXtTcbv6E1HWsD",
      "price": 0,
      "version": 1,
      "metadata": {},
      "algolia": {}
    }
  10. TransactionData schema reference

    The TransactionData object provides detailed information about a transaction. It includes the transaction's temporal data, its current status, the accounts affected by the transaction, and metadata such as the prover's address and the transaction hash.
    {
      "timestamp": 0,
      "status": "string",
      "updatedAccounts": [
        {
          "accountAddress": "string",
          "isZkappAccount": true,
          "verificationKeyHash": "string"
        }
      ],
      "accountUpdatesCount": 0,
      "proverAddress": "string",
      "isZkappAccount": true,
      "hash": "string",
      "fee": 0,
      "memo": "string"
    }
  11. Retrieve token information

    Use the /info endpoint to get details about a specific token by providing its token address in the request body.
    const response = await fetch("https://minatokens.com/api/v1/info", {
      method: "POST",
      headers: {
        "x-api-key": "your-api-key",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        tokenAddress: "B62qpFzLKkGKMZcmY6wrbyn8Sf9sWUT1HG4omSbvFKH2nXSNjCoQ6Xs",
      }),
    });