diff options
| author | Adam Soltys <[email protected]> | 2026-06-15 23:15:44 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-15 23:15:44 -0700 |
| commit | 60db237749a1189d57b8783cd318c60d6df0cbcc (patch) | |
| tree | bc338d4c94fe02a93bca3505323a80b3516d55ea /package.json | |
| parent | 5f478de7d90f9170b81b21af6492de1be2076696 (diff) | |
| download | coinosv3-60db237749a1189d57b8783cd318c60d6df0cbcc.tar.gz coinosv3-60db237749a1189d57b8783cd318c60d6df0cbcc.zip | |
Sync wallet state across devices via encrypted Nostr events
Persist wallet state (addresses, utxos, history, indices, fees) as a NIP-44
encrypted, parameterized-replaceable event (kind 30078) addressed to self on
relay.coinos.io. The Nostr identity is derived from the same seed (NIP-06), so
no extra secret. On load we pull the latest state from Nostr — a device with
no local cache gets full state without re-scanning, and another device's
updates propagate — using savedAt to keep the newest copy. localStorage stays
as the instant/offline cache; state is published (debounced) on every change.
(Relay note: added kind 30078 to the strfry write-policy allowlist on prod.)
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'package.json')
| -rw-r--r-- | package.json | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/package.json b/package.json index 9e38e24..eef5b5d 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "@scure/btc-signer": "^1.8.1", + "nostr-tools": "^2.23.5", "qrcode-generator": "^2.0.4" }, "devDependencies": { |
