-
Notifications
You must be signed in to change notification settings - Fork 109
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
Zcash transaction builder #33
Comments
Implementation WIP in feature/zcash-transactions.
Note: All z-addresses refer to sapling addresses. |
Current implementation generates sapling spends and outputs with valid proofs. Shielded outputs have been tested with real transactions (successfully broadcasting the crafted transaction hexes), however shielded spends have not. This is because sapling spends require a the latest state of the sapling tree state in order to determine a valid anchor and nullifier. Further research is underway regarding tests for real sapling spends. Testing proposal:
|
Preliminary implementation for Zcash transaction builder is complete with real transaction tests. NOTE: Current scraping techniques only allows us to obtain the commitment tree witnesses and anchor separately, however the ideal implementation should obtain the full tree or the incremental witnesses. |
Thanks again @raychu86! This is fantastic! One question about sapling witnesses: couldn't you extract the commitment tree witnesses and anchors from the light client? The client includes a sqlite DB for the most recent witnesses. See: https://github.com/str4d/librustzcash/blob/preview/zcash_client_backend/src/sqlite.rs Would this help? |
Thanks for the pointer! That would most likely work. I'll look into that avenue and do some testing to see if I can further simplify/untangle the transaction building process. |
Summary
The text was updated successfully, but these errors were encountered: