Skip to content

garden-labs/zk-nft

 
 

Repository files navigation

zkNFT Monorepo

This monorepo contains the packages and applications involved in the Zero Knowledge NFT (zkNFT) standard.

Repository Structure

Apps

  1. frontend: The main web application for minting and viewing zkNFTs.
  2. stake-frontend: A web application for staking zkNFTs.
  3. api: A backend API service that builds zkNFT related transactions, simplifying frontend integration with the protocol.

Packages

  1. zk-nft: Contains the Solana program for zkNFTs and the zkNFT staking program.
  2. sdk: An autogenerated TypeScript SDK for the api.

Navigation Guide

Main Frontend

  • Entry point: apps/frontend/src/app/page.tsx
  • Key features:
    • Mint zkNFT section
    • Display user's ZK NFTs

Stake Frontend

  • Entry point: apps/stake-frontend/src/app/(app)/layout.tsx
  • Key features:
    • Staking interface for zkNFTs

API

  • Entry point: apps/api/src/index.ts
  • Configured to run as a Cloudflare Worker

zkNFT Program

  • Main program file: packages/zk-nft/programs/zk-nft/src/lib.rs
  • IDL (Interface Definition Language): packages/zk-nft/target/idl/zk_nft.json

zkNFT Staking Program

  • Main program file: packages/zk-nft/programs/zk-nft-staking/src/lib.rs
  • IDL (Interface Definition Language): packages/zk-nft/target/idl/zk_nft_staking.json

SDK

  • Client generation script: packages/sdk/generate-client.sh
  • Generated client entry point: packages/sdk/client/index.ts

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 82.1%
  • Rust 15.7%
  • Other 2.2%