Skip to content

Zecwallet-Lite is z-Addr first lightwallet for Zcash.

License

Notifications You must be signed in to change notification settings

Zondax/zecwallet-lite

 
 

Repository files navigation

ZecWallet Lite

Zecwallet-Lite is z-Addr first, Sapling compatible lightwallet client for Zcash. It has full support for all Zcash features:

  • Send + Receive fully shielded transactions
  • Supports transparent addresses and transactions
  • Full support for incoming and outgoing memos
  • Fully encrypt your private keys, using viewkeys to sync the blockchain

Privacy

  • While all the keys and transaction detection happens on the client, the server can learn what blocks contain your shielded transactions.
  • The server also learns other metadata about you like your ip address etc...
  • Also remember that t-addresses don't provide any privacy protection.

Note Management

Zecwallet-Lite does automatic note and utxo management, which means it doesn't allow you to manually select which address to send outgoing transactions from. It follows these principles:

  • Defaults to sending shielded transactions, even if you're sending to a transparent address
  • Sapling funds need at least 5 confirmations before they can be spent
  • Can select funds from multiple shielded addresses in the same transaction
  • Will automatically shield your transparent funds at the first opportunity
    • When sending an outgoing transaction to a shielded address, Zecwallet-Lite can decide to use the transaction to additionally shield your transparent funds (i.e., send your transparent funds to your own shielded address in the same transaction)

Compiling from source

Zecwallet Lite is written in Electron/Javascript and can be build from source. It will also automatically compile the Rust SDK needed to run Zecwallet Lite.

Pre-Requisites

You need to have the following software installed before you can build Zecwallet

Install NodeJS using NVM

# Install NVM (use latest version on https://github.com/nvm-sh/nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

# Restart terminal first, and continue

# Install NodeJS 14
nvm install 14

Install Yarn

npm install --global yarn

Install Rust using RustUp

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Install remaining deps

# Install from apt
sudo apt install -y cmake libudev-dev pkg-config

# Add missing env var
# Taken from https://unix.stackexchange.com/questions/715215/unable-to-find-libudev-pc
echo 'export PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/"' >> $HOME/.bashrc

# Restart terminal

Build

# Clone repo
git clone https://github.com/Zondax/zecwallet-lite.git
cd zecwallet-lite

# Use NodeJS 14
nvm use 14

# Install nodejs deps
yarn install

# Build app
yarn build

Start

To start in locally, run

yarn start

# In case you are on linux, you may need to use
yarn start -- --no-sandobx

PS: Zecwallet-Lite is NOT an official wallet, and is not affiliated with the Electric Coin Company in any way.

About

Zecwallet-Lite is z-Addr first lightwallet for Zcash.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 64.3%
  • JavaScript 28.9%
  • CSS 3.0%
  • Rust 2.8%
  • HTML 0.6%
  • Shell 0.4%