Skip to content

Tonari-no-usagi/gh-did-webvh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gh-did-webvh (gh-webvh)

Go Report Card Go Version License DID Method

日本語版はこちら (Japanese version)

A production-ready, zero-infrastructure automation tool for managing did:webvh (Verifiable History) using GitHub Pages.

Why gh-webvh?

Modern Decentralized Identity (DID) often requires complex infrastructure. gh-webvh disrupts this by leveraging GitHub as a decentralized ledger.

  • Zero-Infrastructure: No servers to maintain. Powered entirely by GitHub Pages.
  • Cryptographic Integrity: Implements strict JCS (RFC 8785) canonicalization and Ed25519 hash-chaining.
  • Enterprise-Grade Security: Designed for GitHub Actions with secure Secret management for private keys.

Architecture

graph LR
    Dev[Developer] -- CLI / Git Push --> Repo[GitHub Repo]
    Repo -- Trigger --> Action[GitHub Action]
    Action -- Go Logic --> Logic[Create/Update DID]
    Logic -- Commit --> Repo
    Repo -- Deploy --> Pages[GitHub Pages]
    Verifier[Verifier] -- HTTPS GET --> Pages
Loading

Key Features

  • Lifecycle Management: Simple init, update, and verify commands.
  • Key Rotation: Built-in support for rotating keys and updating DID Documents with cryptographic proof of authority.
  • SCID Generation: Automatic calculation of Self-Certifying Identifiers for permanent DID portability.

Installation

git clone https://github.com/tonari-no-usagi/gh-did-webvh.git
cd gh-did-webvh
go mod tidy

Usage

1. Initialization (init)

Generate a new DID and its root key pair.

go run main.go init --domain your-domain.com

Important

Save the printed Private Key in GitHub Secrets as DID_PRIVATE_KEY.

2. Verification (verify)

Audit the entire history of a did.jsonl log.

go run main.go verify

3. Update (update)

Rotate keys and append a new linked entry to the history.

go run main.go update --key <Current_Private_Key>

Security Principles

  • Separation of Concerns: Private keys never touch the repository history.
  • Canonical Consensus: Uses JCS to ensure identical hashes across different platforms/runtimes.
  • Path to Portability: Implements the latest did:webvh (v1.0-compatible) spec for maximum interoperability.

License

MIT © Tonari-no-usagi

About

Zero-infrastructure did:webvh (Verifiable History) lifecycle management on GitHub Pages. / GitHub Pagesを活用したdid:webvhの自動運用・管理ツール。

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages