If you are, please send me a DM.
Short demo of work in progress
Demo recorded in real-time on a OnePlus 7T
- Restore from seed
- New account
- Notes and Tx History
- Send & Receive
- Notification of Unconfirmed incoming & outgoing funds
Nice to have another wallet coming up ! Do you also plan an iOS version? Would that include your “warp sync”?
cool, will be compatible with trezor or ledger? what will be the extra unique futures from other wallets?
- iOS should work because the app is written in flutter/rust but I don’t have an Apple dev account.
- Warp sync is included. Importing an account from seed takes ~1 mn as you can see in the video.
I created this wallet because I found the existing ones too slow for my taste.
If the wallet is left closed for a few days, it takes noticeable time to sync up. I also have several addresses and I would like to manage them all in one app. I can’t do that with the current wallets.
For example, if I want to spend from a paper wallet, I have to create a new account from secret key, rescan and spend.
With the other light wallets, I need to find another phone (since I don’t want to lose my current wallet), install the app, scan and spend. It takes at lest one hour.
Since my wallet supports multiple accounts. I can create a new one, import the secret key, scan, spend and then delete the account in a couple of minutes.
There are other reasons but it is mostly because of the user experience doesn’t work out for me.
I really like the approach: solving the user experience issues immediately I could use this wallet too for the two reasons you mentioned.
(I’ll do a wild guess and say you speak French? Dans ce cas, merci pour l’effort !)
(I am indeed French.
The wallet is now on Google Play Store.
- Shielded addresses (receive) & Transparent + Shielded addresses (send)
- Note and Transaction History
- Price Feed
- Unconfirmed Tx detection
- Light & Dark Mode UI
- Watch-only (= non spending) accounts
- No data upload
- Only connect to public servers; ZWallet has no servers
- Fast sync (incremental and restore from seed)
Very nice @hanh.
Is the source code available somewhere?
The source code will be released eventually. At this point, I’d like to focus on
- The wallet should remain synced automatically and catch up quickly even after long periods of inactivity. That one was the major blocker for me and convinced me to build a wallet from the ground up. Users should be able to open the wallet app and immediately interact with it (< 5 s). This is the case now and I need to be careful to avoid introducing regressions.
- Split notes: notes need 10 confirmations before they can be spent. It often leads to a situation where your funds can’t be spent because they are locked in a change note. By pre-splitting big notes into smaller denominations, you have a better chance of having some old unused notes to spend.
- Better UX feedback. The wallet operates asynchronously and synching or preparing a transaction doesn’t block the UI. But the user may not be aware that something is happening in the background.
- Diversified addresses, i.e. same secret key but different addresses. One could use it as a one-time-only address.
- The ability to connect to your own lightwalletd server if you do not want to use a public one.
- non-goals: transparent address and memo. IMO, they hurt privacy.
Orchard and UA. At this point, a lot of code is changing but once the dust settles, it should be “easy” to support it.
Other suggestions from the community!
I gotta try this…nicely done!
Just checking…uses the same seed words/method as ZecWallet? (EDIT: Yes, it does!)
EDIT: This is fast, I fed it a wallet seed that had tons of test transactions & was more than a year old - its really damn fast.
The backup button doesnt seem to do anything apparent
Suggestion: On the History tab the ‘Send’ button obscures the most recent entry - maybe the list of transactions can be scrolled up a bit more, add some empty padding to it…?
What about if you present for each account at the bottom of the account tab all the queued up (asynchronously running) operations and use the background color as a progress bar. Tapping on an operation yields detailed information and more importantly failed operations (and operations which depend on them) are properly marked as failed - if possible you can provide the ability to retry failed operations.
Great! Do you know how it compares to ZecWallet or Nighthawk?
Do you have a biometrics scanner? If not, it won’t do anything. In the next version, I made a change that falls back to pin/password.
This is fixed in the next version.
I went for something simpler for the moment. Preparing a tx has a progress bar and synching shows a A/B indicator.
- Max note amount: Sets the maximum amount of an output note.
Example: If you want to split 0.5 ZEC into 5 notes of 0.1 ZEC, you can send 0.5 ZEC to yourself and set max amount to 0.1 ZEC.
Thanks for the feedback. An update is in the Play Store review queue for Beta Testers. It should be available in a day or two. May I suggest you join the Beta program?
Time to fully sync :-
Zwallet : 2m 39s
ZECwallet Lite (v1.7.0) : 7m 21s
NightHawk (v1.0.19) : Failed at 89%, 10hrs 15 minutes, ‘Scan Failure’
The phone is a basic Nokia Android One, nothing special.
Syncing was for the whole chain, timer stopped when complete & showing the correct balance.
Edit: Added version numbers
Edit: Added NightHawk
Edit: NightHawk wallet died with ‘Scan Failure’
Which version is it?
ZecWallet v1.7.0 - fresh install from Playstore so should be the latest version.
Why does backing up require using a boimetrics scanner?
Because it shows the secret key. Before doing so, I want to authenticate the user. If you don’t have a fingerprint scanner, it will fallback to asking for password or pin from now on.
The speed at which this syncs feels like black magic… amazing. I understand from @hanh that this is based on good math, rather than additional layers of code design. Impressive!
Also - loving the watch-only function. Wish more wallets (across assets) had the same feature.