Skip to content

Repository files navigation

GitHub Contribution Verifier

A Next.js application that uses web proofs / zkTLS to verify GitHub contributions through vlayer's Web Prover API.

Overview

This tool allows users to cryptographically prove and verify their contributions to GitHub repositories. It creates tamper-proof attestations of contributor data from GitHub's API.

Prerequisites

  • Node.js 20+
  • npm or pnpm
  • vlayer Web Prover API credentials

Installation

npm install

Configuration

Create a .env.local file with your vlayer API credentials:

WEB_PROVER_API_CLIENT_ID=your_client_id
WEB_PROVER_API_SECRET=your_api_secret

Usage

  1. Start the development server:
npm run dev
  1. Open http://localhost:3000

  2. Enter a GitHub API contributors URL (e.g., https://api.github.com/repos/owner/repo/contributors)

  3. For private repositories, provide a GitHub Personal Access Token

  4. Enter your GitHub username

  5. Click "Prove Contributions" to generate a cryptographic proof

  6. Click "Verify Proof" to verify your contributions

API Endpoints

  • POST /api/prove - Generate cryptographic proof of GitHub API data
  • POST /api/verify - Verify the generated proof and extract contribution data
  • GET /api/verify-all - Verify all webproofs stored in the /app/webproofs folder

Features

Download Webproof

After generating a proof, you can download it as a JSON file to your local machine for safekeeping or sharing.

Verify All Contributors

Navigate to /verify-all to see all verified contributors from stored webproofs. This page automatically:

  • Reads all webproof JSON files from the /app/webproofs folder
  • Verifies each proof using vlayer's API
  • Displays contributor information including username, profile picture, GitHub URL, and contribution count
  • Shows aggregated statistics

Documentation

For more information about vlayer and the Web Prover API, visit the official documentation:

https://docs.vlayer.xyz/

Releases

Packages

Contributors

Languages