Neptune-Crypto/neptune-core

Multi-Coin Hardware Wallet Support

開放

#362 建立於 2025年2月4日

 (2 則留言) (0 個反應) (0 位負責人)Rust (45 個分叉)auto 404
dependenciesenhancementgood first issuequestion

倉庫指標

星標
 (110 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

If you want to use an external, multi-coin hardware wallet to safeguard your Neptune coins, then you quickly run into problems. Here is a probably incomplete and possibly inaccurate summary.

  • Basically all wallets support BIP-32 in some or other capacity and this simply does not apply to Neptune because we don't use elliptic curves.
  • Users may want to use the same 24 words they have already backed up for other cryptocurrencies to backup the Neptune Cash holdings also. However, neptune-cli only supports 18-word seed phrases, and it will likely fail if you omit the last 6 words. Or alternatively, users who are appropriately distrustful of their machines may want to generate the seed on a secure hardware device and then copy it over by first exporting it as 24 BIP-39 words. These hardware devices rarely support the non-standard option of 18 words.
  • BIP-39 has optional passphrases, which we do not support. In fact, supporting optional passphrases would mean either importing SHA2-512 or breaking the standard and use Tip5 instead. I tend to prefer the former option as the relevant mechanics take place before conversion to BFieldElements.
  • There is a standard for deriving a coin-specific master seed from a multi-coin übermaster seed: BIP-44/SLIP-44. Multi-coin hardware wallets generally support this standard and supply the coin-specific master seed to the wallet software.

If that summary is accurate, I derive the following tasks:

  • support importing 24-word BIP-39 seed phrases
  • support BIP-39 passwords
  • register a SLIP-44 derivation number
  • support import-and-derive-key via SLIP-44 derivation path

貢獻者指南