-
Notifications
You must be signed in to change notification settings - Fork 5.9k
BIP85: add Nostr application #2126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 4 commits
d3512bd
371277d
1ce5ca8
cdf115e
819db6a
c1ba10e
1e8baf0
13f307b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,6 +17,7 @@ extend-ignore-re = [ | |
| "value: .*", | ||
| "pqNTRUsign", | ||
| "Strnad", | ||
| "nsec1.*", | ||
| ] | ||
|
|
||
| [default.extend-words] | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -423,6 +423,52 @@ OUTPUT | |
| * DERIVED ENTROPY=5e41f8f5d5d9ac09a20b8a5797a3172b28c806aead00d27e36609e2dd116a59176a738804236586f668da8a51b90c708a4226d7f92259c69f64c51124b6f6cd2 | ||
| * DERIVED ROLLS=1,0,0,2,0,1,5,5,2,4 | ||
|
|
||
| ===Nostr=== | ||
|
|
||
| Application number: 86' | ||
|
|
||
| The application number is the sum of the alphabetical positions of the letters in Nostr (n=14 + o=15 + s=19 + t=20 + r=18) to avoid the confusion with NIP06. | ||
|
|
||
| The derivation path format is: <code>m/83696968'/86'/{identity}'/{account}'</code> | ||
|
ethicnology marked this conversation as resolved.
Outdated
|
||
|
|
||
| Uses the entropy as a Nostr private key. | ||
|
|
||
| Identity index <code>0'</code> is reserved for future protocol use. | ||
| Account index <code>0'</code> is reserved across all identities for key management operations. | ||
| Usable keys start at <code>identity >= 1'</code> and <code>account >= 1'</code>. | ||
|
|
||
| The resulting 32-byte private key is Bech32 encoded as an <code>nsec</code> per NIP19. | ||
|
|
||
| '''identity=1, account=1''' | ||
|
|
||
| INPUT: | ||
| * MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb | ||
| * PATH: m/83696968'/86'/1'/1' | ||
|
|
||
| OUTPUT | ||
| * DERIVED ENTROPY=7f3313b1bdeacc4f395c666b473982550cdc66c225fd7e7b0f5d11d33cddde31 | ||
| * DERIVED NSEC=nsec10ue38vdaatxy7w2uve45wwvz25xdcekzyh7hu7c0t5gax0xamccsyuyesn | ||
|
|
||
| '''identity=1, account=2''' | ||
|
|
||
| INPUT: | ||
| * MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb | ||
| * PATH: m/83696968'/86'/1'/2' | ||
|
|
||
| OUTPUT | ||
| * DERIVED ENTROPY=41fbfba9227f7d261ccb90f61264fd0b38e1f762108c31135f8fc138329594ff | ||
| * DERIVED NSEC=nsec1g8alh2fz0a7jv8xtjrmpye8apvuwramzzzxrzy6l3lqnsv54jnlsuxjsql | ||
|
|
||
| '''identity=2, account=1''' | ||
|
|
||
| INPUT: | ||
| * MASTER BIP32 ROOT KEY: xprv9s21ZrQH143K2LBWUUQRFXhucrQqBpKdRRxNVq2zBqsx8HVqFk2uYo8kmbaLLHRdqtQpUm98uKfu3vca1LqdGhUtyoFnCNkfmXRyPXLjbKb | ||
| * PATH: m/83696968'/86'/2'/1' | ||
|
|
||
| OUTPUT | ||
| * DERIVED ENTROPY=a159a41860a18457855511334a3c813430468ec3c1ef17700d4917d0e881a45a | ||
| * DERIVED NSEC=nsec159v6gxrq5xz90p24zye550ypxscydrkrc8h3wuqdfytap6yp53dq5gdpd6 | ||
|
|
||
| ==Backwards Compatibility== | ||
|
|
||
| This specification is not backwards compatible with any other existing specification. | ||
|
|
@@ -431,7 +477,7 @@ This specification relies on BIP32 but is agnostic to how the BIP32 root key is | |
|
|
||
| ==References== | ||
|
|
||
| BIP32, BIP39 | ||
| BIP32, BIP39, [https://github.com/nostr-protocol/nips/blob/master/01.md NIP01], [https://github.com/nostr-protocol/nips/blob/master/06.md NIP06], [https://github.com/nostr-protocol/nips/blob/master/19.md NIP19] | ||
|
|
||
| ==Reference Implementations== | ||
|
|
||
|
|
@@ -441,6 +487,12 @@ BIP32, BIP39 | |
|
|
||
| ==Changelog== | ||
|
|
||
| ===2.1.0=== | ||
|
ethicnology marked this conversation as resolved.
Outdated
|
||
|
|
||
| ====Added==== | ||
|
|
||
| * Nostr application 86' | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How about
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Isn't it a too big number ?
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks like this is the remaining point to resolve?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, it is.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Good catch. No reason to break integer bounds. Can we try the Hebrew “NSTR”?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To avoid removing a char, we could try, the ASCII sum of "nostr" (110+111+115+116+114) –> 566 But then I don't know if it is still too small If so I could try a date |
||
|
|
||
| ===2.0.0 (2025-09-19)=== | ||
|
|
||
| ====Fixed==== | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.