Neptune-Crypto/neptune-core

Multi-Coin Hardware Wallet Support

オープン

#362 opened on 2025/02/04

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)Rust (45 件のフォーク)auto 404
dependenciesenhancementgood first issuequestion

Repository metrics

Stars
 (110 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド