Skip to content

adityapk00/zecpaperwallet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f7001f6 · Jun 13, 2019

History

34 Commits
Jun 13, 2019
Jun 13, 2019
Jun 12, 2019
Jun 12, 2019
Jun 8, 2019
Jun 8, 2019
Jun 12, 2019

Repository files navigation

zecpaperwallet

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. 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
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

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:
    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 <FORMAT>         What format to generate the output in [default: json]  [possible values: pdf, json]
    -z, --zaddrs <z_addresses>    Number of Z addresses (Sapling) to generate [default: 1]

ARGS:
    <output>    Name of output file.