Update demo instructions in book (#562)

* Update tutorial in book (#557)

Remove add-pallas branch
Fix some typos
Add params fetch
Add downloads

* Fix ywallet demo instructions (#557)

Fix checkout instructions for zwallet

Fix run instructions for the sign tool

* Update text in demo tutorial (#562)

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

* Update text in demo tutorial (#562)

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>

* Remove fetch-params script from ywallet demo (#557)

* Create information section in ywallet-demo tutorial (#557)

* Update mdbook-admonish to v3.0.0 (#557)

* Update details of downloading params in tutorial (#557)

---------

Co-authored-by: Conrado Gouvea <conrado@zfnd.org>
This commit is contained in:
natalie 2023-12-12 21:58:39 +00:00 committed by GitHub
parent 1e29230827
commit a1350ea182
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 9 deletions

View File

@ -3,6 +3,15 @@
This tutorial explaing how to run the FROST demo using Ywallet that was
[presented during Zcon4](https://www.youtube.com/watch?v=xvzESdDtczo).
## Information
1. The Trusted Dealer journey
2. RedPallas
3. YWallet
4. Sprout
5. [Sapling](https://docs.rs/reddsa/0.5.1/reddsa/sapling/index.html)
6. [frost-ed25519 crate](https://crates.io/crates/frost-ed25519)
Ywallet supports [offline
signing](https://ywallet.app/advanced/offline_signature/), which allows having a
view-only account that can generate a transaction plan, which can be signed by
@ -20,10 +29,23 @@ Install `cargo` and `git`.
Clone the repositories:
```
git clone --branch add-redpallas https://github.com/ZcashFoundation/frost-zcash-demo.git
git clone --branch frost-demo https://github.com/ZcashFoundation/zwallet.git
git clone https://github.com/ZcashFoundation/frost-zcash-demo.git
git clone --recurse-submodules --branch frost-demo https://github.com/ZcashFoundation/zwallet.git
git clone https://github.com/ZcashFoundation/zcash.git
```
Download Sprout and Sapling parameters:
[Sprout params](https://download.z.cash/downloads/sprout-groth16.params)
[Sapling spend params](https://download.z.cash/downloads/sapling-spend.params)
[Sapling output params](https://download.z.cash/downloads/sapling-output.params)
Move the params files into `zwallet/native/zcash-params/src/`
## Generating FROST key shares
First we will generate the FROST key shares. For simplicity we'll use trusted
@ -79,7 +101,7 @@ We can finally generate a new wallet. Run the following command; it will
take a bit to compile. It will show a bunch of warnings which is normal.
```
cargo build --release --bin sign --features dotenv -- -g
cargo run --release --bin sign --features dotenv -- -g
```
When prompted for the `ak`, paste the `verifying_key` value that was printed in
@ -120,11 +142,7 @@ funds become spendable (this may take ~10 minutes). You can check if the funds
are spendable by clicking the arrow button and checking "Spendable Balance"
```admonish warning
The address being show by Ywallet is an unified address that includes both
an Orchard and Sapling address. For the demo to work, you need to receive funds
in you Orchard address. Whether that will happens depend on multiple factors
so it's probably easier to just use the Orchard-only address printed by the
signer.
The address being show by Ywallet is a unified address that includes both an Orchard and Sapling address. For the demo to work, you need to receive funds in you Orchard address. Whether that will happen depends on multiple factors so it's probably easier to use just the Orchard-only address printed by the signer.
```
## Creating the transaction
@ -165,7 +183,7 @@ cargo run --bin coordinator --features redpallas
And then:
- Paste the JSON public key package generate during key generation (it's a single
line with a JSON object.
line with a JSON object).
- Type `2` for the number of participants.
- Paste the identifier of the first participant, you can see it in the Secret
Share printed during key generation. If you used trusted dealer key