Grin ledger hardware wallet progress thread by @markhollis

Thanks for your work Mark. I’ll be ecstatic to see this complete.

Can I ask whether the work you’ve done so far will require custom firmware on the Ledger or would it be possible that Ledger could integrate it (if they wanted)?

1 Like

It would be an app that can be installed on the Ledger, just like e.g. the Bitcoin and Monero apps can be installed.
It doesn’t need extra firmware.
I don’t see limitations at the moment why Ledger could not integrate it.

17 Likes

Really appreciate your work man!

I also have a question: When we install the app on the Ledger device, are we gonna use Grin++ or Ledger Live for transactions? :slight_smile:

Thanks!

2 Likes

Hi andro,

Thanks for your question. Initially, grin-wallet will be used. Then I will look for Ledger Live (this is required for the bounty). Grin++ would be nice as well, given the experience from supporting it in grin-wallet.

9 Likes

Update for weeks October 12 to October 26:

  • Mostly debugging the Rust translation now, getting used to the Rust Ledger SDK.
10 Likes

Update for weeks October 26 to November 9:

  • Further debugging of the firmware.
12 Likes

Update for weeks November 9 tot November 23:

  • Further debugging of firmware.
9 Likes

Looks like a harsh task :wink: :+1:

2 Likes

Update for weeks November 23 to December 7:

  • Most of the work was further implementation of tests in Rust. I also translated tests to C++ (with grin++ in mind).
  • Implementing getting slatepack addresses on the HW.
14 Likes

Update for weeks December 7 to December 21:

  • Further implementation of the tests in grin-wallet and in C++.
  • Rework on the serialization of the parameters
  • Reading about bulletproofs
9 Likes

Update for weeks December 21 to January 4:

  • Further work on wallet, on diverse core cryptographic methods and getting bech32 to work. Debugging, solving typing errors etc.
  • Further implementation of tests.
9 Likes

Just curious, but Grin does not use bech32 right? So why/where is it needed.

Edit: It is used for the slatepack address😅

3 Likes

There was a PR on grin-wallet regarding some timing constraints with the ledger app. It links to GitHub - NicolasFlamel1/ledger-mimblewimble-coin which could be a useful resource. I’m not sure what the app does or doesn’t or if it even works, just another potential source of information that should not be assumed to be safe as far as I’m concerned.

4 Likes

Update for weeks January 4 to January 18:

  • Separate speculos hardware wallet instance for testing/simulation.
  • Solving bugs. Debugging my handlers for committing to a value and generating an address.
15 Likes

Update for weeks January 18 to February 2:

  • Worked on further debugging. Clearing variables after work done. Researching subtle for constant time functions. Setting up Docker container (which is a new requirement for Ledger).
  • Worked further on my tests for grin-wallet and grin++.
19 Likes

Update for weeks February 2 to February 15

  • I have been sick for a week. I did further work and testing on the Ledger application, among which were the tasks of adding zeroize calls and subtle constructs where needed. Researching Age encryption.
12 Likes

Update for weeks February 15 to March 1:

  • Further research on Age encrypting/decryption and implementation.
8 Likes

last update you’ve mentioned feeling a bit of under the weather. I’m going to take it as there is no mention: the no no news is good news approach, plus I hope your feeling near if not all the way back to full super strength. Side note- I can’t wait to run this protocol on some hardware wallets, such a cool idea and important for the peace of mind of storage. Many thanks for your work, good luck to progress and bug free code :slight_smile:

3 Likes

Update for weeks March 1st to March 15

  • Further implementation of Age encryption/decryption and tests.
13 Likes

Update for weeks March 15 to March 29,

  • I had some personal duties I had to attend to. So I haven’t been able to do make much progress the last two weeks. Next weeks, I can continue with new energy.
13 Likes