tane/spike/block2_spike/pubspec.yaml
vjrj 49b872b405 spike(block2): de-risk social layer — key derivation, OfferTransport, NIP-99 round-trip
Throwaway research spike (spike/ branch, outside pub workspace, no prod deps
touched). Validates the open Block 2 decisions before committing a funded round:

1. Deterministic one-way secp256k1 (Nostr) key derived from the Ğ1 root seed
   via HKDF — user still backs up ONE thing. Reproducible + signs (BIP340).
2. OfferTransport abstraction over Nostr NIP-99 (kind 30402); Offer stays
   inventory/location-agnostic, geohash coarsened on the wire (tested).
3. publish->discover-by-geohash proven end-to-end against an in-process
   hermetic mini-relay (~34ms round-trip).

Findings + risks + recommendation in docs/design/spike-block2-findings.md.
Block 1 suite untouched. 14 tests green, analyzer clean.
2026-07-10 01:57:25 +02:00

24 lines
956 B
YAML

# THROWAWAY de-risking spike for Block 2 (social layer). NOT production.
# Deliberately OUTSIDE the pub workspace (no `resolution: workspace`) so it can
# pull network/crypto deps without touching Block 1's dependency graph.
# See docs/design/spike-block2-findings.md. Delete this whole dir after the spike.
name: block2_spike
description: Throwaway prototype validating Block 2 open decisions. Do not ship.
version: 0.0.0
publish_to: none
environment:
sdk: ^3.11.5
dependencies:
# The one real dependency on production code: we consume the root identity
# seed exactly as IdentityService produces it, to prove derivation works.
commons_core:
path: ../../packages/commons_core
# Throwaway crypto/transport deps — would NOT be added like this to prod.
crypto: ^3.0.0 # sha256 + hmac for HKDF and event ids
bip340: ^0.2.0 # secp256k1 x-only pubkeys + BIP340 Schnorr (Nostr signatures)
dev_dependencies:
test: ^1.25.6
lints: ^6.0.0