Grin ledger hardware wallet progress thread by @markhollis

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:

3 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
11 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.
10 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++.
20 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.
13 Likes

Update for weeks February 15 to March 1:

  • Further research on Age encrypting/decryption and implementation.
9 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:

5 Likes

Update for weeks March 1st to March 15

  • Further implementation of Age encryption/decryption and tests.
14 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.
14 Likes

Update for weeks March 29 to April 12,

  • On the ledger side, I worked on resolving some borrowing/moving issues (Rust related). I worked further on the tests.
12 Likes

Update for weeks April 12 to April 26,

  • On the Ledger device side, I worked further on the encryption and decryption of data that is being transmitted. I worked further on the generating public nonces on the device. I also worked further on the workflows for the tests.
9 Likes

Update for weeks April 26 to May 10,

  • I worked on the User Interface workflow and on making an installer script.
16 Likes

Update for weeks May 10 to May 24,

  • I worked further on the user interface. I implemented more unit tests.

Last days, I got sick, so I need to rest the following days to continue.

16 Likes