I couldn’t work further much because of being unwell. At the moment I also have covid. I reorganized my client library to connect with the ledger device, according to how the company Zondax is structuring their client libraries. See for example: GitHub - Zondax/ledger-filecoin-rs.
Awesome! Is it possible to estimate where the implementation roughly is from 0/project Idea to 100/ready for end user? I am a bit lost by just reading the individual updates, because I have no clue what is actually needed.
Live Ledger wallet app (TypeScript and React are used in the starter project)
integration tests (I do these in Rust)
These are the main actions that the hardware wallet should be involved with:
Build coinbase
Build output
Getting slatepack proof address
It is hard to estimate or put a number percentage on it. I am not done with the previous elements, far from it. I have ‘lost’ quite some time on issues that weren’t as important; some issues with the handling of errors and traits in Rust.
For example (this can sound too technical), I wanted to make my integration test functions generic enough that it can use the hardware wallet client library, as wel as a Speculos wrapper). But this turns out to be a bit more difficult/time consuming for me at the moment, so I decided to do a more ‘back to basics’ approach.
This is hard to say. I’m getting back into development.
Recently, Ledger has changed the Ledger SDK. I like the improvements, but it will take some time to adapt my code. I need to work on the user interface of the Ledger app. It is also hard to estimate how long the integration with grin-wallet and the Ledger Live wallet will take. I started working on that a while ago, I am trying to work towards a point where I can see better how to do the remaining part these integrations, and estimate better the amount of time it will take.
I’ve been working the last months on incorporating changes to the Ledger rust SDK, resolving errors in the integration tests. I try to come to a point where I can run the integration tests and the Ledger app with most issues resolved. I wait with the integration for grin-wallet and Ledger Live wallet now.
Last weeks, I mainly worked on further resolving errors in the ledger app. The Ledger Rust SDK gives some higher-level constructs now for working with keys. But after working with this, it doesn’t do everything I want, so I will revert to working with the lower-level Rust bindings.
Grin can work with Ledger now, but it didn’t when this thread was started. It was suggested last year to join efforts.
Now there are two apps with hardware app written in different SDKs (Rust vs C).
Nicolas app seems to be developed further and the source is already open. From the high level point of view it is only missing the native grin-wallet integration. It theoretically it needs more review effort as the hardware app is written in C.
Probably only one grin Ledger integration will end up in official Ledger Live.
It would be nice to think there will be two integrations coexisting, but the reality is people will end up using only due to Ledger app store exclusivity and centralization. Question is how to make sure in the future people don’t get confused by the two implementations.
It would be nice for both devs to discuss this to understand the differences more.
Take time off? Hasn’t this become entirely unnecessary since @NicolasFlamel’s work? This bounty has taken hilariously long, and it too should go to Nick, since he has already done the work.
I am withdrawing from this bounty. I can’t continue due to personal reasons.
So this bounty will become unlocked. Since @NicolasFlamel has already done progressed much further with the work he has done, I think that if he wants to, he should request locking this bounty for himself. Taking into account @NicolasFlamel’s work, I think it also should be clarified or reviewed by the Original Council what the milestones should be. It was the OC that originally put out the bounty. In particular, if the grin-wallet integration is still part of one of the milestones. The OC and @NicolasFlamel can discuss this together with other issues and conditions.