Files
kane-diagnostics/hubzilla/addon/g1wallet
2026-06-14 07:48:17 -04:00
..
2026-06-14 07:07:17 -04:00
2026-06-14 07:07:43 -04:00
2026-06-14 07:48:17 -04:00
2026-06-08 03:33:21 -04:00
2026-06-14 07:45:02 -04:00
2026-06-14 07:45:02 -04:00
2026-06-08 03:33:21 -04:00
2026-06-14 07:45:02 -04:00
2026-06-08 03:33:21 -04:00
2026-06-08 03:33:03 -04:00

g1wallet — Self-Sovereign Ğ1 Wallet

Version: 0.1.0 (skeleton)
Spec: G1WALLET-SPEC.md in the repo root


What This Is

A self-sovereign Ğ1 wallet embedded in the Civic Infrastructure. Every SASE-verified participant — including the operator — holds their own Ğ1 identity under their own credentials, in their own browser, under their own control. The platform never touches the keys.

What Is Implemented at This Tag

  • Addon registration, routing, access state
  • Wallet unlock form (UI only — no crypto yet)
  • Unlocked interface placeholder
  • Compact sidebar widget (locked/unlocked status)
  • CivicNav registry entry

What Is Not Yet Implemented

  • scrypt key derivation (vendor/scrypt-js-3.0.1.min.js is present but not wired)
  • Ed25519 signing via WebCrypto
  • Wallet session state (JS)
  • Pubkey POST to /g1wallet/pubkey
  • Balance fetch from orchestrator
  • Broadcast relay to Duniter network

Build Sequence (from G1WALLET-SPEC.md)

  1. view/js/g1wallet.js — key derivation, signing, session management, event API
  2. vendor/scrypt-js-3.0.1.min.js — already present, pinned
  3. g1wallet.php — entry point (done)
  4. g1wallet_renderer.php — unlock form, unlocked interface (skeleton done)
  5. g1wallet_spool.php — pubkey store, broadcast relay (stubs done)
  6. Orchestrator additions — broadcast and balance endpoints in main.py
  7. Widget, PDL, CSS (done)
  8. Integration test against Duniter standard key derivation

Runtime Config

Copy config.json.template to config.json on the host. Do not commit config.json.