Skip to content
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

Add nthKey support #182

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

Sjors
Copy link

@Sjors Sjors commented Aug 24, 2021

This is a very rough draft pull request. I have no experience with and no tooling for Java application at the moment, so this won't even compile.

The nthKey iOs app can be used a signer in a multisig setup. So far I've only tested it with Specter, so - if you're interested in adding this - we may have to iron out some compatibility issues.

The public key announce format it uses is similar to ColdCard, but using xpub instead of zpub, e.g.:

{"ExtPubKey":"xpub6E...","AccountKeyPath":"48h\/0h\/0h\/2h","MasterFingerprint":"00000000"}

(see also BlueWallet issue BlueWallet/BlueWallet#3653)

The wallet export is the same as Specter:

{ "label": "Wallet McWalletface", "blockheight": 660156, "descriptor": "wsh(sortedmulti(2,[....,...\/0\/*))#00000000" }

Basic characteristics of the app:

  • keys can be imported using JSON or QR
  • wallet metadata can be exported using JSON or QR (it can scan the Specter backup PDF)
  • testnet, signet are free, mainnet is paid (unless you compile yourself from source)
  • only sh-wpkh (native Segwit) is supported
  • only multisig is supported (using ~BIP48)

Thumbnails generated with:

convert nthkey-orig.png -channel RGB -negate -resize 300x300 -background white -gravity center -extent 200x200 -type grayscale nthkey@3x.png
convert nthkey-orig.png -channel RGB -negate -resize 150x150 -background white -gravity center -extent 100x100 -type grayscale nthkey@2x.png
convert nthkey-orig.png -channel RGB -negate -resize 75x75 -background white -gravity center -extent 50x50 -type grayscale nthkey.png

Keys can be imported using JSON or QR.

Wallet can be exported using JSON or QR.

Device supports testnet, signet and mainnet.

Only sh-wpkh (native Segwit) is supported.

Only multisig is supported.

Thumbnails generated with:
  convert nthkey-orig.png -channel RGB -negate -resize 300x300 -background white -gravity center -extent 200x200 -type grayscale nthkey@3x.png
  convert nthkey-orig.png -channel RGB -negate -resize 150x150 -background white -gravity center -extent 100x100 -type grayscale nthkey@2x.png
  convert nthkey-orig.png -channel RGB -negate -resize 75x75 -background white -gravity center -extent 50x50 -type grayscale nthkey.png
@craigraw
Copy link
Collaborator

craigraw commented Sep 7, 2021

Apologies for the slow reply on this. I'd like Sparrow to support nthKey and this PR seems like a good start. I will try to find time to review more fully in the coming weeks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants