Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test ZecWallet Lite with lightwalletd + Zebra #4450

Closed
conradoplg opened this issue May 20, 2022 · 5 comments
Closed

Test ZecWallet Lite with lightwalletd + Zebra #4450

conradoplg opened this issue May 20, 2022 · 5 comments
Assignees
Labels
C-enhancement Category: This is an improvement lightwalletd any work associated with lightwalletd

Comments

@conradoplg
Copy link
Contributor

Motivation

We want to make sure that ZecWallet Lite works when connected to a lightwalletd that is connected to a Zebra instance.

Specifications

Designs

You will need a customized ZecWallet Lite to make it connect to your instance of lightwalletd (which should be configured to connect to your Zebra instance)

Related Work

@conradoplg conradoplg added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage lightwalletd any work associated with lightwalletd P-Medium ⚡ labels May 20, 2022
@conradoplg conradoplg self-assigned this May 20, 2022
@conradoplg
Copy link
Contributor Author

It seems to work!

@conradoplg
Copy link
Contributor Author

conradoplg commented May 23, 2022

Testnet + upstream lightwalletd results:

  • Shielded Sapling transactions show up in the wallet, but never become spendable
    • Investigating zecwallet-light-cli code, this seems to be caused by the anchor_height always having the wallet birthday and never increasing. Not sure why.
  • When you click a transaction, it shows the wrong TXID (the old SHA256d one, instead of the NU5 TXID)
    • I can also see getrawtransactions queries to Zebra using the wrong TXID (and of course, failing). But somehow the shielded transactions and balance show up correctly
  • Transparent transactions / balance do not show up at all (even though my address has a balance)
    • getaddressbalance does not seem to be called, so it seems it computes the balance manually (I do see a getaddresstxids followed by a getrawtransaction which work successfully)
    • This may be expected, since ZecWallet Lite relies on the forked lightwalletd for some functionality, and IIRC some of that is related to transparent transactions

The same happens when using zcashd, so it does not seem to be a Zebra issue.

I posted this and some more details in the ZecWallet Lite repo.

I'll leaving this open in case someone wants to try to reproduce my results, otherwise we can close in a few days.

@conradoplg
Copy link
Contributor Author

Now that NU5 activated it shouldn't work anymore in mainnet too.

The zingolabs CLI fork should work, and they're working on integrating it in the GUI

@conradoplg
Copy link
Contributor Author

The wallet was fixed and now works post-NU5!

To test it:

  • Run lightwalletd with Zebra. Use the -no-tls-very-insecure flag (i.e. no need to use certificates). You can add --grpc-logging-insecure to see the GRPC calls from the wallet being made.
  • Checkout ZecWallet Lite from this branch which hardcodes its lightwallet to localhost. Follow its README to build and run it. In short: install node (I had to use version 16 due to a bug), install yarn, run yarn install, yarn build, then yarn start
  • Check if the wallet works

@conradoplg
Copy link
Contributor Author

Done and reproduced succesfully by @upbqdn

@ftm1000 ftm1000 removed the S-needs-triage Status: A bug report needs triage label Jul 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: This is an improvement lightwalletd any work associated with lightwalletd
Projects
None yet
Development

No branches or pull requests

2 participants