SECURITY WARNING: As of January 2018 this software wallet is not actively maintained. It may not operate properly with the upstream core/node implementation and it may contain security and/or other vulnerabilities. It is deprecated and should not be used in production!
This program provides a Graphical User Interface (GUI) for the ZCash client tools that acts as a wrapper and presents the information in a user-friendly manner.
Before installing the Desktop GUI Wallet you need to have ZCash up and running. The following guide explains how to set up ZCash. There is also a user-friendly instructional video on the same topic.
For security reasons it is recommended to always build the GUI wallet program from GitHub source. The details of how to build it are described below (easy to follow). Project snapshot tags named x.xx-SNAPSHOT have been signed with the following public key. Users who are less experienced with working on a command line, may instead use this quite-user-friendly installation guide and usage guide. The following video also explains how to set up the GUI wallet.
-
Operating system and tools
As of May 2017 (ZCash v1.0.8) this program is mostly tested on Linux and Mac OS X (same limitation as ZCash) with experimental support for Windows. The Linux tools you need to build and run the Wallet GUI are Git, Java (JDK7 or later) and Ant. If using Ubuntu Linux, they may be installed via command:
user@ubuntu:~/build-dir$ sudo apt-get install git default-jdk ant
For RedHat/CentOS/Fedora-type Linux systems the command is (like):
user@centos:~/build-dir$ sudo yum install java-1.8.0-openjdk git ant
The name of the JDK package (
java-1.8.0-openjdk
) may vary depending on the Linux system, so you need to check it, if namejava-1.8.0-openjdk
is not accepted. If you have some other Linux distribution, please check your relevant documentation on installing Git, JDK and Ant. The commandsgit
,java
,javac
andant
need to be startable from command line before proceeding with build. -
Building from source code
As a start you need to clone the zcash-swing-wallet-ui Git repository:
user@ubuntu:~/build-dir$ git clone https://github.com/vaklinov/zcash-swing-wallet-ui.git
Change the current directory:
user@ubuntu:~/build-dir$ cd zcash-swing-wallet-ui/
Issue the build command:
user@ubuntu:~/build-dir/zcash-swing-wallet-ui$ ant -buildfile ./src/build/build.xml
This takes a few seconds and when it finishes, it builds a JAR file
./build/jars/ZCashSwingWalletUI.jar
. You need to make this file executable:user@ubuntu:~/build-dir/zcash-swing-wallet-ui$ chmod u+x ./build/jars/ZCashSwingWalletUI.jar
At this point the build process is finished the built GUI wallet program is the JAR file
./build/jars/ZCashSwingWalletUI.jar
-
Installing the built ZCash GUI wallet
3.1. If you have built ZCash from source code:
Assuming you have already built from source code ZCash in directory /home/user/zcash/src
(for
example - this is the typical build dir. for ZCash v1.0.8) which contains the command line tools zcash-cli
and zcashd
you need to take the created file ./build/jars/ZCashSwingWalletUI.jar
and copy it
to directory /home/user/zcash/src
(the same dir. that contains zcash-cli
and zcashd
). Example copy command:
user@ubuntu:~/build-dir/zcash-swing-wallet-ui$ cp ./build/jars/ZCashSwingWalletUI.jar /home/user/zcash/src
3.2. If you have downloaded the ZCash Binary distribution:
Assuming you have already downloaded the file zcash-1.0.x-linux64.tar.gz
which contains the command
line tools zcash-cli
and zcashd
and after decompressing it they are in a directory like
/home/user/zcash-1.0.x/bin/
take the created file ./build/jars/ZCashSwingWalletUI.jar
and copy it
to directory /home/user/zcash-1.0.x/bin/
(the same dir. that contains zcash-cli
and zcashd
).
Example copy command:
user@ubuntu:~/build-dir/zcash-swing-wallet-ui$ cp ./build/jars/ZCashSwingWalletUI.jar /home/user/zcash-1.0.8/bin/
3.3. If you have installed the ZCash binary packages
The command line tools zcash-cli
and zcashd
are placed by the package installer in:
/usr/bin/zcash-cli
/usr/bin/zcashd
The ZCash GUI wallet knows how to find them there. You may place the file ./build/jars/ZCashSwingWalletUI.jar
anywhere in your /home
directory that you find convenient and start it from there.
-
Running the installed ZCash GUI wallet
Before running the GUI you need to start zcashd (e.g.
zcashd --daemon
). The wallet GUI is a Java program packaged as an executable JAR file. It may be run from command line or started from another GUI tool (e.g. file manager). Assuming you have already installed ZCash and the GUI WalletZCashSwingWalletUI.jar
in directory/home/user/zcash/src
one way to run it from command line is:user@ubuntu:~/build-dir/zcash-swing-wallet-ui$ java -jar /home/user/zcash/src/ZCashSwingWalletUI.jar
If you are using Ubuntu (or similar ;) Linux you may instead just use the file manager and right-click on the
ZCashSwingWalletUI.jar
file and choose the option "Open with OpenJDK 8 Runtime". This will start the ZCash GUI wallet.
This program is distributed under an MIT License.
This program is not officially endorsed by or associated with the ZCash project and the ZCash company. ZCash® and the ZCash® logo are trademarks of the Zerocoin Electric Coin Company.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Issue: Wallet versions 0.58 and below, when running on systems with (typically non-western) locales that redefine the decimal point in the OS locale settings, have problems with updating the GUI wallet state. A workaround is to change the locale settings to have dot as decimal separator.
- Limitation: Wallet encryption has been temporarily disabled in ZCash due to stability problems. A corresponding issue #1552 has been opened by the ZCash developers. Correspondingly wallet encryption has been temporarily disabled in the ZCash Desktop GUI Wallet.
- Issue: the GUI wallet does not work correctly if zcashd is started with a custom data directory, like:
zcashd -datadir=/home/data/whatever
This will be fixed in later versions. - Issue: GUI data tables (transactions/addresses etc.) allow copying of data via double click but also allow editing. The latter needs to be disabled.
- Limitation: The list of transactions does not show all outgoing ones (specifically outgoing Z address transactions). A corresponding issue #1438 has been opened for the ZCash developers.
- Limitation: The CPU percentage shown to be taken by zcashd on Linux is the average for the entire lifetime of the process. This is not very useful. This will be improved in future versions.