Constellation-Labs / constellation

:milky_way::satellite: Decentralized Application Integration Platform
Apache License 2.0
151 stars 40 forks source link

Hardware wallet integration #644

Open buckysballs opened 4 years ago

buckysballs commented 4 years ago

We would like to be able to support hardware wallets. In order to do so we need to register 3rd party application, which will basically be a reimplement our wallet utils in c. Everything we use in the current wallet impl is universal and there may be examples that can be compied directly as we’re using the same EC as bitcoin (secp256k). Trezor is probably the most prohibitive as we may be rejected due to their requirementes, Nano however should be a viable option. Following the Nano developer docs, we need to write a BOLOS application in c that reads in a payload of bytes from an offline wallet and returns the bytes of the payload signed by a specified private key. The signed payload is then added to the contents of a transaction and then sent from the offline wallet to the network, but this should occur after receipt of the output of the BLOS application.

Acceptance criteria: 1) Creation of BOLOS application to sign a payload of raw bytes 2) Successful compatibility of 1 with #671 3) Integrate Nano S into offline wallet: Convert transaction data into payload bytes, send bytes to wallet and receive signed payload. 4) A Constellation icon for the Nano s ledger

ThomasvandenBroek commented 3 years ago

Waiting for Ledger approval.