dicekeys / dicekeys-app-ios

The iOS DiceKeys app
Other
4 stars 3 forks source link

BIP39 template recipe #161

Closed angelix closed 1 year ago

angelix commented 2 years ago

I have created the following BIP39 template recipe.

DerivationRecipe(type: .Secret, name: "Mnemonic Code (BIP39)", recipe: """
{"purpose":"bip39"}
""")

I have also created two views BIP39 (12 words) & BIP39 (24 words) The difference between the two is that in the 12 words version we only get the 16bytes of the secretBytes().

UppaJung commented 2 years ago

Is there any actual use of 12 word BIP39? Maybe better not to confuse?

"Mnemonic Code" is not very meaningful. Is BIP39 almost always a cryptocurrency key? If so, maybe name it "Cryptocurrency key"?

angelix commented 2 years ago

12 words mnemonic provide enough security for the bitcoin network. It's easier to store and to input into the wallets. Some users prefer it over the 24 words mnemonic. But since user's won't need to store the mnemonic somewhere, and can use the QR code to input the mnemonic we can stick with the 24 words for now. Maybe in the future if requested by users we can use a similar recipe with lengthInBytes: 16 to create the 12 words mnemonic.

"Mnemonic Code" is how the spec names it, but is not very user friendly. What about "Cryptocurrency wallet" as the name of the recipe?

UppaJung commented 2 years ago

How about:

DerivationRecipe(type: .Secret, name: "Cryptocurrency Wallet Seed", recipe: """{"purpose":"wallet"}""")

Then, if (purpose === "wallet"), apps should set the default output format to BIP39.