From efc10d03507887feb3bbc8d7ff4332321b3a0853 Mon Sep 17 00:00:00 2001 From: adityapk00 <31996805+adityapk00@users.noreply.github.com> Date: Wed, 12 Jun 2019 13:09:46 -0700 Subject: [PATCH 1/3] Update README.md --- README.md | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ccf5762..e64bbdb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,45 @@ # zecpaperwallet -Zcash Sapling Paper Wallet Generator +zecpaperwallet is a Zcash Sapling paper wallet generator that can run completely offline. You can run it on an air-gapped computer to generate your shielded z-addresses, which will allow you to keep your keys completely offline. + +# Compiling +zecpaperwallet-cli is built with rust. To compile from source, you [install Rust](https://www.rust-lang.org/tools/install). Basically, you need to just: +`curl https://sh.rustup.rs -sSf | sh` + +``` +git clone https://github.com/adityapk00/zecpaperwallet.git +cd zecpaperwallet/cli +cargo build --release +``` +# Generating wallets +To generate a zcash paper wallet, simply run +`./target/release/zecpaperwallet` + +You'll be asked to type some random characters that will add entropy to the random number generator. + +## Saving as PDFs +To generate a zcash paper wallet and save it as a PDF, run +`./target/release/zecpaperwallet -z 3 --format pdf zecpaper-output.pdf` + +This will generate 3 shielded z-addresses and their corresponding private keys, and save them in a PDF file called `zecpaper-output.pdf` + +## Help options +``` +USAGE: + zecpaperwallet [FLAGS] [OPTIONS] [output] + +FLAGS: + -e, --entropy Provide additional entropy to the random number generator. Any random string, containing 32-64 + characters + -h, --help Prints help information + -n, --nohd Don't reuse HD keys. Normally, zecpaperwallet will use the same HD key to derive multiple + addresses. This flag will use a new seed for each address + -t, --testnet Generate Testnet addresses + -V, --version Prints version information + +OPTIONS: + -f, --format What format to generate the output in [default: json] [possible values: pdf, json] + -z, --zaddrs Number of Z addresses (Sapling) to generate [default: 1] + +ARGS: + Name of output file. +``` From cbdce55ecb078d7950a278ab572d9916b5517ee9 Mon Sep 17 00:00:00 2001 From: adityapk00 <31996805+adityapk00@users.noreply.github.com> Date: Wed, 12 Jun 2019 13:10:49 -0700 Subject: [PATCH 2/3] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e64bbdb..f1d8fdf 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,11 @@ zecpaperwallet is a Zcash Sapling paper wallet generator that can run completely offline. You can run it on an air-gapped computer to generate your shielded z-addresses, which will allow you to keep your keys completely offline. # Compiling -zecpaperwallet-cli is built with rust. To compile from source, you [install Rust](https://www.rust-lang.org/tools/install). Basically, you need to just: -`curl https://sh.rustup.rs -sSf | sh` - +zecpaperwallet-cli is built with rust. To compile from source, you [install Rust](https://www.rust-lang.org/tools/install). Basically, you need to: +``` +curl https://sh.rustup.rs -sSf | sh +``` +Chekout the zecpaperwallet repository and build the CLI ``` git clone https://github.com/adityapk00/zecpaperwallet.git cd zecpaperwallet/cli From 27ccb7833925f3c4f3e5edafaabfbc48a8627f85 Mon Sep 17 00:00:00 2001 From: adityapk00 <31996805+adityapk00@users.noreply.github.com> Date: Wed, 12 Jun 2019 14:14:18 -0700 Subject: [PATCH 3/3] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index f1d8fdf..07dd7a7 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,15 @@ To generate a zcash paper wallet and save it as a PDF, run This will generate 3 shielded z-addresses and their corresponding private keys, and save them in a PDF file called `zecpaper-output.pdf` +## Run without network +If you are running a newish version of Linux, you can be doubly sure that the process is not contacting the network by running zecpaperwallet without the network namespace. + +``` +sudo unshare -n ./target/release/zecpaperwallet +``` +`unshare -n` runs the process without a network interface which means you can be sure that your data is not being sent across the network. + + ## Help options ``` USAGE: