Keystone Hardware Wallet Support Grant Application

You are really on track to complete everything by January!

Yes! And Zashi team is working extremetly hard right now.

Kudos to them!

5 Likes

We are getting closer and closer!!!

Last Week’s Progress:

  1. Coordinated integration testing with Zashi Wallet and successfully sent a transaction on-chain. Zcash transaction f35497061d3dc8927b54f71ff175f458646739b6743b440b2bfaff2bea58f518 — 3xpl
  2. Began optimizing Keystone code logic.

Next Week’s Plan:

  1. Continue optimizing the Keystone code logic.
  2. Prepare for the TestFlight release.
17 Likes

If you use iOS and already have a Keystone 3 Pro, you should upgrade your Zashi!

I can’t wait to try it all myself. Thanks for this work to everyone involved! You’re awesome!

9 Likes

My shipping confirmation ended up in my junk mail. Super excited to try this out!

2 Likes

I’m still waiting to order mine, hoping that they’ll update their system accept payment in Zcash so that my purchase won’t be linked to my KYC information. :slightly_smiling_face:

7 Likes

I love when a plan comes together, outstanding work. You managed to get done what Trezor and Ledger couldn’t. :hot_pepper:

Thanks to everyone who made this happen collectively, huge win for Zcash.


ps. Anyone else notice the shielded pool ATH? :eyes:

Screenshot_2024-12-19_10-13-05

.:::zebra: :shield: :hearts:::.

12 Likes

Coming back to this post and I plan to buy 2 more Keystone wallets :smiley:

Onward!

Ledger shielded app was released, but anyone can see that Ledger was not serious at all.

4 Likes

Has anyone gotten this yet?

I’m trying to test but I’m running into some difficulties. I guess I installed firmware 1.8.0 over firmware 1.7.10 using SD card. The checksum matches what is on GitHub. In the settings, the wallet sees version 1.8.0. However, I didn’t see Zashi in the list of program wallets in the *** menu. I don’t understand the transition to reading QR codes in the instruction video.

I don’t see ZEC in the list of coins either. I can’t reflash again, because the wallet reports that the installed version is higher than the one on my SD-card. Although it is the same firmware.

UPD 1

OK. I reset my wallet completely and set it up from scratch using Seed of 24 words and after that ZEC appeared in the list of supported coins. Zashi also appeared in the list of program wallets.

Before that my wallet was configured using Shamir’s split method. Maybe that was the reason, however the likelihood of that being the case is low… But I will test this zero-configuration option too. To be honest, just one Seed of 24 words is not enough for me.

UPD 2

I repeated the out-of-the-box recovery for the Shamir key generation method and indeed Zcash became unavailable. So the problem is definitely not in the wallet firmware update script, but in the fact that this backup method is not available. Although I am not really clear about the essence of this limitation.

Can someone explain me, is this a temporary technical limitation of Keystone, which we will solve in the next firmware releases? Or is it a limitation of the Zcash protocol?

@daira @Lixin help please

2 Likes

:warning:

I continued testing and alas encountered a more serious problem. I failed to sign the transaction. I have used Keystone with Keprl many times and never had a problem reading the dynamic QR from the monitor screen. But in conjunction with my IPhone 12, I’ve encountered a situation where the hardware wallet camera just doesn’t have time to read the changing QR, as I can guess because the data is very small and changes quickly.

I literally mechanically fixed both devices and pointed the camera at the QR strictly in the frame, but even after a minute of being absolutely still and at maximum brightness of the phone screen, Keystone still couldn’t generate a signature for the transaction. And in doing so I left the memo field empty. I think it’s important to alert users to this if anyone has a similar problem to.

UPD 1

I managed to sign the transaction using screen recording from my phone. However, it didn’t work the first time either. I describe the situation in detail:

I recorded a dynamic QR using screen recording on my IPhone.
After that I played the video in the photo library and enlarged the QR to the width of the smartphone screen. In this way the QR was successfully read and Keystone generated the signature. Next, I fed it to Zashi, but the transaction was rejected for some reason. I sent an error report to the developers from the Zashi interface.

By the way, the transaction was with a Memo of one sentence and one smiley.

After that I repeated everything again according to the same scheme, but removed the smiley (just in case). The transaction was successfully signed and sent to the blockchain.

What else did I notice wrong. The wallet did not write me the address to which I send the funds for verification. It usually does this with other networks.

My guess is that probably on Lucas’ demo IPhone 14Pro or newer is a higher screen frequency and it makes a difference to the camera.

UPD 2

Взрыв мозга

The thought occurred to me, what if the protective glass glued to the screen is to blame. And indeed, after I peeled it off the screen, transactions started signing. So, if any of the readers encounter this problem, consider this point.

6 Likes

Thanks for testing! This stuff needs to get ironed out :shield:

3 Likes

I think the error you ran into is the same heisenbug we’ve been trying to chase down for over a week: two PCZTs that should be mergeable fail to merge. We don’t yet have a reproduction of it on a developer phone, and we can’t have users’ wallets send us that reproduction when it occurs because it’s sensitive transaction data. Fortunately as you found out, it only happens randomly, so trying to create the same transaction again works.

Yeah, it looks like

-998
[ZRUST0071] Error from rust layer when calling ZcashRustBackend.extractAndStoreTxFromPCZT
rustExtractAndStoreTxFromPCZT("Failed to combine PCZTs: DataMismatch")
1 Like

Am I correct that I can bind one KeyStone to two different phones with different Zashi accounts?

I don’t have a way to unbind the Keystone in case I have already bound it to a phone?

UPD 3

On the second day of use, I discovered that if I swipe up Keystone on this transaction confirmation page, the address is revealed lower.

However, I have nothing to compare it to, because on Zashi at this point the confirmation page is open, which no longer shows the address. And I can’t roll back, because the wallet will reset the transaction. So I’m supposed to remember the address so I can check it on Keystone.

Whether this is my inattention or nagging or is a vector to improve the user experience is up to you to decide, but I thought I’d share.

4 Likes

I dunno if it is intended, but you are not supposed to compare with the address on your phone. You should check with the address displayed on the destination (ie exchange).

2 Likes

Agreed! This would be true for all scenarios except when I top up my “hot” Zashi address.

2 Likes

This is a very important question

1 Like

Exciting, I just ordered a ton of these for family and friends.

If anyone wants to buy one with ZEC I’m happy to resell, reach out any time.

3 Likes