[Bug] Node Npub differs between Settings and Web5 > Identities > Node (must be the derived npub) #49
Closed
opened 2026-06-17 09:38:56 +00:00 by lfg2025
·
3 comments
No Branch/Tag Specified
main
ux-at-last
fix/mesh-send-content-inline-federation-fallback
cashu-error-messages
gsd/phase-13-aiui-functional-conversational-node-control-and-content-surf
feat/podsteadr-app-package
rotate-release-root
chore/aiui-monorepo-migration
wip/phase-13-p13-02
wip/phase-13-p13-01
companion/0.5.27-clipboard-qr-restart
fix/bitcoin-conf-conflict-crash-loop
demo-build
archy-hwconfig
openwrt-enhancements
a3-10-endpoint-fallback
public-prelaunch
release/1.7.115-prep
fix/web-listener-ipv6
fips-companion-5g-hardening
fix/connection-accept-deadlock
fix/demo-images-path-filter
fix/companion-autologin-replay-intro
networking-profits-dashboard
identities-mobile-polish
companion-qr-scan-fix
companion-qr-pairing
intro-reliability-video-perf
login-bg-continuity
audio-bottom-bar
demo-intro-every-visit
intro-entrance-fixes
cloud-feedback-demo-content
cloud-tabs-search
ark-wallet-ui-demo
demo-nginx-app-assets
demo-ui-fixes
ark-wallet-barkd
v1.7.129-alpha
v1.7.128-alpha
v1.7.127-alpha
v1.7.126-alpha
v1.7.125-alpha
v1.7.124-alpha
v1.7.123-alpha
v1.7.122-alpha
v1.7.121-alpha
v1.7.120-alpha
v1.7.119-alpha
v1.7.118-alpha
v1.7.117-alpha
v1.7.116-alpha
v1.7.115-alpha
v1.7.114-alpha
v1.7.113-alpha
v1.7.112-alpha
companion-v0.5.10
companion-v0.5.9
companion-v0.5.6
v1.7.111-alpha
v1.7.110-alpha
v1.7.109-alpha
v1.7.108-alpha
v1.7.106-alpha
v1.7.105-alpha
v1.7.104-alpha
v1.7.103-alpha
v1.7.102-alpha
v1.7.101-alpha
v1.7.100-alpha
v1.7.99-alpha
v1.7.98-alpha
v1.7.97-alpha
v1.7.96-alpha
v1.7.95-alpha
v1.7.94-alpha
v1.7.93-alpha
v1.7.92-alpha
v1.7.91-alpha
v1.7.90-alpha
v1.7.89-alpha
v1.7.88-alpha
v1.7.87-alpha
v1.7.86-alpha
v1.7.85-alpha
v1.7.84-alpha
v1.7.83-alpha
v1.7.82-alpha
v1.7.81-alpha
v1.7.80-alpha
v1.7.79-alpha
v1.7.78-alpha
v1.7.77-alpha
v1.7.76-alpha
v1.7.75-alpha
v1.7.74-alpha
v1.7.73-alpha
v1.7.72-alpha
v1.7.71-alpha
v1.7.70-alpha
v1.7.69-alpha
v1.7.68-alpha
v1.7.67-alpha
v1.7.66-alpha
v1.7.65-alpha
v1.7.64-alpha
v1.7.63-alpha
v1.7.62-alpha
v1.7.61-alpha
v1.7.60-alpha
v1.7.59-alpha
v1.7.58-alpha
v1.7.57-alpha
v1.7.56-alpha
v1.7.55-alpha
v1.7.54-alpha
v1.7.53-alpha
v1.7.52-alpha
v1.7.51-alpha
v1.7.50-alpha
v1.7.49-alpha
v1.7.48-alpha
v1.7.47-alpha
v1.7.46-alpha
v1.7.45-alpha
v1.7.44-alpha
v1.7.43-alpha
v1.7.42-alpha
v1.7.41-alpha
v1.7.40-alpha
v1.7.39-alpha
v1.7.38-alpha
v1.7.37-alpha
v1.7.36-alpha
v1.7.35-alpha
v1.7.34-alpha
v1.7.33-alpha
v1.7.32-alpha
v1.7.31-alpha
v1.7.30-alpha
v1.7.29-alpha
v1.7.28-alpha
v1.7.27-alpha
v1.7.26-alpha
v1.7.25-alpha
v1.7.24-alpha
v1.7.23-alpha
v1.7.22-alpha
v1.7.21-alpha
v1.7.20-alpha
v1.7.19-alpha
v1.7.18-alpha
v1.7.17-alpha
v1.7.16-alpha
v1.7.15-alpha
v1.7.14-alpha
v1.7.13-alpha
v1.7.12-alpha
v1.7.11-alpha
v1.7.10-alpha
v1.7.9-alpha
v1.7.8-alpha
v1.7.7-alpha
v1.7.6-alpha
v1.7.5-alpha
v1.7.4-alpha
v1.7.3-alpha
v1.7.2-alpha
v1.7.1-alpha
v1.7.0-alpha
v1.3.4
v1.3.3
v1.3.2
v1.2.0-alpha.8
v1.2.0-alpha.7
v1.2.0-alpha.6
v1.2.0-alpha.5
v1.2.0-alpha.4
v1.2.0-alpha.3
v1.2.0-alpha.2
v1.2.0-alpha.1
Labels
No items
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: lfg2025/archy#49
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Repro (.70, fresh ISO install of v1.7.98-alpha): the Node Npub shown in Settings does NOT match the npub in Web5 > Identities > Node.
Required: both must show the same, DERIVED npub (derived from the node seed/identity key). Determine which surface is wrong and make both read the single derived value.
Investigate: where Settings sources its Node Npub vs where Web5 Identities sources the Node identity; ensure one canonical seed-derived key feeds both. Likely two independent derivations (or one cached/stale) - converge on the seed-derived npub.
ROOT CAUSE (diagnosed 2026-06-17):
The node has TWO different seed-derived Nostr key derivations, and the two surfaces read different ones:
Settings "Node npub" -> RPC
node.nostr-pubkey->nostr_discovery::get_nostr_pubkeyreadsidentity/nostr_secret, which onboarding (seed_rpc.rs handle_seed_generate/restore) writes fromseed::derive_node_nostr_key(seed)= HKDF (info=NODE_NOSTR_INFO). This is the node-level discovery key.Web5 > Identities -> RPC
identity.list-> each identity record'snostr_pubkey_hex. Seed identities are created viaIdentityManager::create_from_seedusingseed::derive_nostr_identity_key(seed, index)= BIP-32 NIP-06 path m/44'/1237'/0'/0/index. Different key => different npub.Extra wrinkle: the boot-time "Node" identity (
server.rs:136->create_from_signing_key) storesnostr_pubkey_hex: None, while onboarding'screate_from_seedmakes a "Personal" identity (index 0, BIP-32 nostr). So the entry labelled "Node" and the seed identity may be distinct records with distinct keys/DIDs.Both npubs ARE seed-derived, just via different schemes (HKDF vs BIP-32). Need to converge on ONE canonical node Nostr key.
DECISION NEEDED (which is canonical?):
derive_node_nostr_key(HKDF) to match Settings/discovery. Lowest blast radius: discovery key unchanged; only the identity record's displayed nostr key changes. Needs a one-time backfill on existing nodes.derive_nostr_identity_key(seed,0). Changes the node's published Nostr discovery identity fleet-wide (re-publish needed).Full reproduction confirmation requires the .70 node (currently unreachable) to see exactly which entry shows which npub.
FIXED + DEPLOYED to .116/.198 (commit
56752ebf): per your decision, the HKDF node key (Settings/discovery) is canonical. identity.list now overrides the Node identity's displayed nostr key to the node-level key so Settings and Web5 > Identities > Node agree. Display-only, no migration. (A complementary server.rs change from the DHT line now also creates a stored nostr key for the Node identity at boot.) Pending live verification on .116/.198.Verified fixed: both surfaces now resolve to the derived node npub (
node.nostr-pubkey) — Settingsneode-ui/src/views/settings/AccountInfoSection.vue:148and Web5 > Identitiesweb5/Web5Identities.vue:109-113. Closing.