Skip to content

Phase 1 Plan

SaturnZap edited this page Mar 28, 2026 · 1 revision

Phase 1 Plan — Node Foundation

Status: Not started Target commands: sz init, sz start, sz stop, sz status Board: SaturnZap Development

Phase A — Project Scaffolding

Issue: #1

# File Description
1 .gitignore Python standard + SaturnZap-specific exclusions
2 pyproject.toml uv-managed, sz entry point, Python >=3.12
3 LICENSE MIT
4 src/saturnzap/__init__.py Package init with version
5 src/saturnzap/output.py JSON helpers, TTY detection, --pretty
6 src/saturnzap/config.py platformdirs paths, TOML defaults, signet network

Phase B — Keystore, Node & CLI

Issue: #2

# File Description
7 src/saturnzap/keystore.py BIP39 generation, Fernet encryption
8 src/saturnzap/node.py LDK Node lifecycle, Neutrino sync
9 src/saturnzap/lqwd.py LQWD node directory, nearest-node selection
10 src/saturnzap/cli.py Typer app: init, start, stop, status

Phase C — Testing & Cleanup

Issue: #3

# File Description
11 tests/test_keystore.py Seed gen, encryption round-trip
12 tests/test_output.py JSON structure validation
13 tests/test_cli.py CLI smoke tests
14 security/security_scan.py Adapt paths for SaturnZap
15 .env.example Placeholder values

Verification Criteria

  • uv sync completes without errors
  • sz --help prints the command tree
  • sz init generates BIP39 mnemonic, writes encrypted seed
  • sz status returns valid JSON
  • pytest passes all tests
  • ruff check src/ reports zero issues

Open Questions

Question Issue
ldk-node Python 3.12 availability #4
Signet LQWD node pubkeys Need connection strings
12 vs 24-word mnemonic 24-word (256-bit) recommended

Home Architecture Phase-1-Plan Development-Setup Security-Scanner

Clone this wiki locally