Skip to content

Commit

Permalink
Merge pull request #12 from z-classic/develop
Browse files Browse the repository at this point in the history
v0.0.1
  • Loading branch information
ch4ot1c authored Feb 15, 2018
2 parents d7fb175 + 593ac9b commit 4f13b17
Show file tree
Hide file tree
Showing 23 changed files with 191 additions and 187 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
.DS_Store
*.class

build/**
Expand Down
2 changes: 1 addition & 1 deletion .project
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ZENCashOfficialSwingWalletUI</name>
<name>ZclassicSwingWallet</name>
<comment></comment>
<projects>
</projects>
Expand Down
60 changes: 31 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
# [ZENCash](https://zensystem.io/) Desktop GUI Wallet
# [Zclassic](https://zclassic.org/) Desktop GUI Wallet

## Graphical user interface wrapper for the [ZENCash](https://zensystem.io/) command line tools
## Graphical user interface wrapper for the [Zclassic](https://zclassic.org/) command line tools

## Forked from the [ZENCash Swing Wallet](https://github.com/ZencashOfficial/zencash-swing-wallet-ui)

### IMPORTANT: Please read the [security notice](docs/KnownSecurityIssues.md) about watch-only addresses before using the wallet!

This program provides a Graphical User Interface (GUI) for the ZENCash client tools that acts as a wrapper and
This program provides a Graphical User Interface (GUI) for the Zclassic client tools that acts as a wrapper and
presents the information in a user-friendly manner.

![Screenshot](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/raw/master/docs/ZENCashWallet.png "Main Window")
![Screenshot](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/raw/master/docs/ZclassicWallet.png "Main Window")

#### New/Experimental: [ZENCash Desktop GUI Wallet packages for Debian/Ubuntu Linux](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/ReleaseUbuntuRepository.md) are available
#### New/Experimental: [Zclassic Desktop GUI Wallet packages for Debian/Ubuntu Linux](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/ReleaseUbuntuRepository.md) are available

#### New/Experimental: [ZENCash Desktop GUI Wallet for Mac OS](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/Release_0.75.9.md) is available
#### New/Experimental: [Zclassic Desktop GUI Wallet for Mac OS](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/Release_0.75.9.md) is available

#### New/Experimental: [ZENCash Desktop GUI Wallet for Windows](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/Release_0.75.8.md) is available
#### New/Experimental: [Zclassic Desktop GUI Wallet for Windows](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/blob/master/docs/Release_0.75.8.md) is available

#### Information on diagnosing some common problems may be found in this [troubleshooting guide](docs/TroubleshootingGuide.md).

## Building, installing and running the Wallet GUI

Before installing the Desktop GUI Wallet you need to have ZENCash up and running. The following
Before installing the Desktop GUI Wallet you need to have Zclassic up and running. The following
[guide](https://github.com/ZencashOfficial/zen/blob/master/README.md)
explains how to set up [ZENCash](https://zensystem.io/).
explains how to set up [Zclassic](https://zclassic.org/).

**For security reasons it is recommended to always build the GUI wallet program from GitHub**
**[source](https://github.com/ZencashOfficial/zencash-swing-wallet-ui/archive/master.zip).**
Expand All @@ -31,7 +33,7 @@ The details of how to build it are described below (easy to follow).
1. Operating system and tools

As of June 2017 (ZENCash v1.0.9) this program is mostly tested on Linux and Mac OS X
(same limitation as [ZENCash](https://zensystem.io/)) with experimental support for Windows.
(same limitation as [Zclassic](https://zclassic.org/)) 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:
```
Expand Down Expand Up @@ -61,37 +63,37 @@ The details of how to build it are described below (easy to follow).
```
user@ubuntu:~/build-dir/zencash-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/ZENCashSwingWalletUI.jar`.
This takes a few seconds and when it finishes, it builds a JAR file `./build/jars/ZclassicSwingWallet.jar`.
You need to make this file executable:
```
user@ubuntu:~/build-dir/zencash-swing-wallet-ui$ chmod u+x ./build/jars/ZENCashSwingWalletUI.jar
user@ubuntu:~/build-dir/zencash-swing-wallet-ui$ chmod u+x ./build/jars/ZclassicSwingWallet.jar
```
At this point the build process is finished the built GUI wallet program is the JAR
file `./build/jars/ZENCashSwingWalletUI.jar`. In addition the JAR file
file `./build/jars/ZclassicSwingWallet.jar`. In addition the JAR file
`bitcoinj-core-0.14.5.jar` is also necessary to run the wallet.

3. Installing the built ZENCash GUI wallet
3. Installing the built Zclassic GUI wallet

3.1. If you have built ZENCash from source code:
3.1. If you have built Zclassic from source code:

Assuming you have already built from source code [ZENCash](https://zensystem.io/) in directory `/home/user/zen/src` (for example - this is the typical build dir. for ZENCash v1.0.9) which contains the command line tools `zen-cli` and `zend` you need to take the created JAR files and copy them to directory `/home/user/zen/src` (the same dir. that contains `zen-cli` and `zend`). Example copy command:
Assuming you have already built from source code [Zclassic](https://zclassic.org/) in directory `/home/user/zen/src` (for example - this is the typical build dir. for Zclassic v1.0.9) which contains the command line tools `zcl-cli` and `zcld` you need to take the created JAR files and copy them to directory `/home/user/zen/src` (the same dir. that contains `zcl-cli` and `zcld`). Example copy command:
```
user@ubuntu:~/build-dir/zencash-swing-wallet-ui$ cp -R -v ./build/jars/* /home/user/zen/src
```
4. Running the installed ZENCash GUI wallet
4. Running the installed Zclassic GUI wallet
It may be run from command line or started from another GUI tool (e.g. file manager).
Assuming you have already installed [ZENCash](https://zensystem.io/) and the GUI Wallet `ZENCashSwingWalletUI.jar` in
Assuming you have already installed [Zclassic](https://zclassic.org/) and the GUI Wallet `ZclassicSwingWallet.jar` in
directory `/home/user/zen/src` one way to run it from command line is:
```
user@ubuntu:~/build-dir/zencash-swing-wallet-ui$ java -jar /home/user/zen/src/ZENCashSwingWalletUI.jar
user@ubuntu:~/build-dir/zencash-swing-wallet-ui$ java -jar /home/user/zen/src/ZclassicSwingWallet.jar
```
If you are using Ubuntu (or similar ;) Linux you may instead just use the file manager and
right-click on the `ZENCashSwingWalletUI.jar` file and choose the option "Open with OpenJDK 8 Runtime".
This will start the ZENCash GUI wallet.
right-click on the `ZclassicSwingWallet.jar` file and choose the option "Open with OpenJDK 8 Runtime".
This will start the Zclassic GUI wallet.
**Important:** the ZENCash configuration file `~/.zen/zen.conf` needs to be correctly set up for the GUI
**Important:** the Zclassic configuration file `~/.zen/zen.conf` needs to be correctly set up for the GUI
wallet to work. Specifically the RPC user and password need to be set in it like:
```
rpcuser=username
Expand All @@ -115,24 +117,24 @@ SOFTWARE.
### Known issues and limitations
1. Issue: The ZENCash Desktop GUI Wallet is not compatible with applications that modify the ZEN `wallet.dat` file. The wallet should not be used
1. Issue: The Zclassic Desktop GUI Wallet is not compatible with applications that modify the ZEN `wallet.dat` file. The wallet should not be used
with such applications on the same PC. For instance some distributed exchange applications are known to create watch-only addresses in the
`wallet.dat` file that cause the GUI wallet to display a wrong balance and/or display addresses that do not belong to the wallet.
1. Limitation: if two users exchange text messages via the messaging UI TAB and one of them has a system clock, substantially running slow or fast by more than 1 minute, it is possible that this user will see text messages appearing out of order.
1. Limitation: if a messaging identity has been created (happens on first click on the messaging UI tab), then replacing the `wallet.dat` or changing the node configuration between mainnet and testnet will make the identity invalid. This will result in a wallet update error. To remove the error the directory `~/.ZENCashSwingWalletUI/messaging` may be manually renamed or deleted (when the wallet is stopped). **CAUTION: all messaging history will be lost in this case!**
1. Limitation: Wallet encryption has been temporarily disabled in ZENCash due to stability problems. A corresponding issue
1. Limitation: if a messaging identity has been created (happens on first click on the messaging UI tab), then replacing the `wallet.dat` or changing the node configuration between mainnet and testnet will make the identity invalid. This will result in a wallet update error. To remove the error the directory `~/.ZclassicSwingWallet/messaging` may be manually renamed or deleted (when the wallet is stopped). **CAUTION: all messaging history will be lost in this case!**
1. Limitation: Wallet encryption has been temporarily disabled in Zclassic due to stability problems. A corresponding issue
[#1552](https://github.com/zcash/zcash/issues/1552) has been opened by the ZCash developers. Correspondingly
wallet encryption has been temporarily disabled in the ZENCash Desktop GUI Wallet.
wallet encryption has been temporarily disabled in the Zclassic Desktop GUI Wallet.
The latter needs to be disabled.
1. Limitation: The list of transactions does not show all outgoing ones (specifically outgoing Z address
transactions). A corresponding issue [#1438](https://github.com/zcash/zcash/issues/1438) has been opened
for the ZCash developers.
1. Limitation: The CPU percentage shown to be taken by zend on Linux is the average for the entire lifetime
1. Limitation: The CPU percentage shown to be taken by zcld on Linux is the average for the entire lifetime
of the process. This is not very useful. This will be improved in future versions.
1. Limitation: When using a natively compiled wallet version (e.g. `ZENCashSwingWalletUI.exe` for Windows) on a
1. Limitation: When using a natively compiled wallet version (e.g. `ZclassicSwingWallet.exe` for Windows) on a
very high resolution monitor with a specifically configured DPI scaling (enlargement) factor to make GUI
elements look larger, the GUI elements of the wallet actually do not scale as expected. To correct this on
Windows you need to right-click on `ZENCashSwingWalletUI.exe` and choose option:
Windows you need to right-click on `ZclassicSwingWallet.exe` and choose option:
```
Properties >> Compatibility >> Override High DPI scaling behavior >> Scaling Performed by (Application)
```
Expand Down
4 changes: 2 additions & 2 deletions docs/KnownSecurityIssues.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## [ZENCash](https://zensystem.io/) Desktop GUI Wallet known security issues
## [Zclassic](https://zclassic.org/) Desktop GUI Wallet known security issues

This document describes various security-related vulnerabilities in the GUI wallet that have become known after release and users should be aware of them!

Expand All @@ -14,7 +14,7 @@ obtainable then the address belongs to the wallet and its balance is spend-able.

### Compatibility with other applications

The ZENCash Desktop GUI Wallet is not compatible with applications that modify the ZEN `wallet.dat` file. The wallet should not be used
The Zclassic Desktop GUI Wallet is not compatible with applications that modify the ZEN `wallet.dat` file. The wallet should not be used
with such applications on the same PC. For instance some distributed exchange applications are known to create watch-only addresses in the
`wallet.dat` file that cause the GUI wallet to display a wrong balance and/or display addresses that do not belong to the wallet.

Expand Down
22 changes: 11 additions & 11 deletions docs/ReleaseUbuntuRepository.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
## [ZENCash](https://zensystem.io/) Desktop GUI Wallet APT repository for Debian/Ubuntu Linux
## [Zclassic](https://zclassic.org/) Desktop GUI Wallet APT repository for Debian/Ubuntu Linux

This is a [ZENCash](https://zensystem.io/) Desktop GUI Wallet made available through a package repository
This is a [Zclassic](https://zclassic.org/) Desktop GUI Wallet made available through a package repository
for Debian/Ubuntu (and similar) Linux systems.

### IMPORTANT: Please read the [security notice](KnownSecurityIssues.md) about watch-only addresses before using the wallet!

![Screenshot](ZENCashWalletUbuntu.png "Main Window")
![Screenshot](ZclassicWalletUbuntu.png "Main Window")

### Installing the ZENCash Desktop GUI Wallet on Linux
### Installing the Zclassic Desktop GUI Wallet on Linux

To setup the APT repository and install packages, using a terminal run the following commands
```
Expand All @@ -33,10 +33,10 @@ Finally you need to download the Z cryptographic keys (takes a while):
zen-fetch-params
```

### Running the ZENCash Desktop GUI Wallet on Linux
### Running the Zclassic Desktop GUI Wallet on Linux

To launch the ZENCash Desktop GUI Wallet you can just search and click on it in the Ubuntu unity menu:
![UnityLauncher](ZENUnityLauncher.png "ZENCash Wallet launcher")
To launch the Zclassic Desktop GUI Wallet you can just search and click on it in the Ubuntu unity menu:
![UnityLauncher](ZENUnityLauncher.png "Zclassic Wallet launcher")

...or alternatively, run the command `zencash-desktop-gui-wallet` from a terminal:
```
Expand All @@ -55,14 +55,14 @@ SOFTWARE.

### Known issues and limitations
1. Limitation: if two users exchange text messages via the messaging UI TAB and one of them has a system clock, substantially running slow or fast by more than 1 minute, it is possible that this user will see text messages appearing out of order.
1. Limitation: if a messaging identity has been created (happens on first click on the messaging UI tab), then replacing the `wallet.dat` or changing the node configuration between mainnet and testnet will make the identity invalid. This will result in a wallet update error. To remove the error the directory `~/.ZENCashSwingWalletUI/messaging` may be manually renamed or deleted (when the wallet is stopped). **CAUTION: all messaging history will be lost in this case!**
1. Limitation: Wallet encryption has been temporarily disabled in ZENCash due to stability problems. A corresponding issue
1. Limitation: if a messaging identity has been created (happens on first click on the messaging UI tab), then replacing the `wallet.dat` or changing the node configuration between mainnet and testnet will make the identity invalid. This will result in a wallet update error. To remove the error the directory `~/.ZclassicSwingWallet/messaging` may be manually renamed or deleted (when the wallet is stopped). **CAUTION: all messaging history will be lost in this case!**
1. Limitation: Wallet encryption has been temporarily disabled in Zclassic due to stability problems. A corresponding issue
[#1552](https://github.com/zcash/zcash/issues/1552) has been opened by the ZCash developers. Correspondingly
wallet encryption has been temporarily disabled in the ZENCash Desktop GUI Wallet.
wallet encryption has been temporarily disabled in the Zclassic Desktop GUI Wallet.
1. Issue: GUI data tables (transactions/addresses etc.) allow copying of data via double click but also allow editing.
The latter needs to be disabled.
1. Limitation: The list of transactions does not show all outgoing ones (specifically outgoing Z address
transactions). A corresponding issue [#1438](https://github.com/zcash/zcash/issues/1438) has been opened
for the ZCash developers.
1. Limitation: The CPU percentage shown to be taken by zend on Linux is the average for the entire lifetime
1. Limitation: The CPU percentage shown to be taken by zcld on Linux is the average for the entire lifetime
of the process. This is not very useful. This will be improved in future versions.
30 changes: 15 additions & 15 deletions docs/TroubleshootingGuide.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
## [ZENCash](https://zensystem.io/) Desktop GUI Wallet troubleshooting guide
## [Zclassic](https://zclassic.org/) Desktop GUI Wallet troubleshooting guide

![Screenshot1](ZENChat_small.png "Chat Window") ![Screenshot1](ZENCashWalletMac_0.74.7_small.png "Wallet Window")
![Screenshot1](ZENChat_small.png "Chat Window") ![Screenshot1](ZclassicWalletMac_0.74.7_small.png "Wallet Window")

This document outlines possible solutions to several common problems that user might encounter while using the wallet.

### How to diagnose wallet problems

When wallet problems occur, the information about the errors that caused the issue is usually found in the log files written by the wallet itself and also by `zend`. The location of the wallet log files is:
When wallet problems occur, the information about the errors that caused the issue is usually found in the log files written by the wallet itself and also by `zcld`. The location of the wallet log files is:
```
Linux: ~/.ZENCashSwingWalletUI/ZENCashGUIWallet_xxxx_xx_debug.log
Windows: %LOCALAPPDATA%/ZENCashSwingWalletUI/ZENCashGUIWallet_xxxx_xx_debug.log
Mac OS: ~/Library/Application Support/ZENCashSwingWalletUI/ZENCashGUIWallet_xxxx_xx_debug.log
Linux: ~/.ZclassicSwingWallet/ZclassicGUIWallet_xxxx_xx_debug.log
Windows: %LOCALAPPDATA%/ZclassicSwingWallet/ZclassicGUIWallet_xxxx_xx_debug.log
Mac OS: ~/Library/Application Support/ZclassicSwingWallet/ZclassicGUIWallet_xxxx_xx_debug.log
```
`zend` that is automatically started by the wallet, stores its logs at locations:
`zcld` that is automatically started by the wallet, stores its logs at locations:
```
Linux: ~/.zen/debug.log,
Windows: %APPDATA%/Zen/debug.log
Expand All @@ -22,23 +22,23 @@ The log files are the first place too look for clues as to the nature of problem

### Common Problem 1 - wallet fails during start up

This kind of problem may have multiple causes but the most frequent one in practice is that `zend` fails to start properly. The latter is in turn most commonly caused by block-chain corruption. This could occur
in rare cases when for instance machines are stopped due to power disruptions, while `zend` is writing data.
This kind of problem may have multiple causes but the most frequent one in practice is that `zcld` fails to start properly. The latter is in turn most commonly caused by block-chain corruption. This could occur
in rare cases when for instance machines are stopped due to power disruptions, while `zcld` is writing data.

A common symptom of this problem is an error message like:
![Screenshot1](EOF_error.png "Chat Window")

The reason is usually that `zend` has not started properly and the GUI wallet cannot connect to it. As a start
one may examine the `zend` logs to find the technical details of the problem. One way to fix this problem, that
works in 90%+ of cases is to start `zend` manually with a `-reindex` option from a terminal and start the GUI wallet only after that. The command is:
The reason is usually that `zcld` has not started properly and the GUI wallet cannot connect to it. As a start
one may examine the `zcld` logs to find the technical details of the problem. One way to fix this problem, that
works in 90%+ of cases is to start `zcld` manually with a `-reindex` option from a terminal and start the GUI wallet only after that. The command is:
```
zend -reindex
zcld -reindex
```
For non-technical users here is some information on how to open a terminal on [Windows](https://www.lifewire.com/how-to-open-command-prompt-2618089) and [Mac OS](https://www.wikihow.com/Open-a-Terminal-Window-in-Mac). The full command on Mac OS is:
```
/Applications/ZENCashWallet.app/Contents/Java/zend -reindex
/Applications/ZclassicWallet.app/Contents/Java/zcld -reindex
```
On Windows you first have to locate `zend.exe`. It is in the `/app` sub-directory of the wallet installation.
On Windows you first have to locate `zcld.exe`. It is in the `/app` sub-directory of the wallet installation.

### Disclaimer

Expand Down
Loading

0 comments on commit 4f13b17

Please sign in to comment.