zcashfoundation / zecwallet Goto Github PK
View Code? Open in Web Editor NEWA z-address first full node and UI wallet for zcash
Home Page: https://www.zecwallet.co
License: MIT License
A z-address first full node and UI wallet for zcash
Home Page: https://www.zecwallet.co
License: MIT License
Reproducibility: always
Prerequisites:
zcashd and zec-qt-wallet are running.
Steps:
From Terminal zcash-cli stop
What happened:
The app "appears" to be working properly, except the following error popping up.
Expected result:
The app should clear everything and enter the same state as when you launch it without zcashd running.
Reproducibility: always
Steps:
Click on a Zcash URI eg. zcash:zs1du0cfxytxjjauyr2lv68qd6jd2d4shcllt5y60fx2hhdlhq4c9r6a9kttfdynpgkygpv2asu5ak
What happened:
Address is not recognized.
Expected result:
Address is recognized. zec-qt-wallet is launched (or brought in focus if already open) and the "Pay From" field in Send tab gets filled with the Zcash address.
Notes:
Feel free to test with my website http://www.dimitrisapostolou.com
Reproducibility: always
Steps:
Transactions -> Right click on a address
What happened:
No way to copy the address in clipboard.
Expected result:
There is a Copy address
option in the contextual menu.
Hello! Your GUI for Zcash is amazing, thank you for your work.
But Bitcoin-qt, Dash-qt and many others have localizations for many languages. Are you going to make possibility of translation for your project? Thanks.
I think that translation possibility could attract users from all over the world and they will use Zcash.
On running the binary on Ubuntu 16.04 LTS I get:
./zec-qt-wallet: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such file or directory
Reproducibility: always
Prerequisites:
zcashd
is reindexing.
Steps:
Launch zec-qt-wallet.
What happened:
There is a zcashd
tab appearing momentarily and then it disappears.
Expected result:
This tab appears to be a feature, showing zcashd
metrics. It should either stay as a permanent tab or not shown at all. Showing and then hiding it seems like a bug.
Reproducibility: always
Steps:
What happened:
Links are not clickable.
Expected result:
Links are clickable.
Sapling uses a HD wallet and so having the HDSeed (which is available in the z_exportwallet command) is all that is required to restore these addresses. While the zec-qt-wallet currently exports all private keys a user needs to recreate this backup after any new address whereas for Sapling transactions this is no longer an issue if they had the Sapling HDSeed - they would still need to do the Sprout and transparent but they should also be able to export this HDSeed
HDSeed=5fa7753029b99c408e...
fingerprint=5fa7753029b99c408e...
Hello,
In version 0.5.0 for Windows, impossible to specify a decimal number in the «amount» field. Keypress «.» doesn't work...
To take over this issue I had to check «Max available» checkbox to get the «.»
However, if I press «,» that works, but it's a separator for thousands, not for decimals...
zcashd said: Error: Cannot find the Zcash network parameters in the following directory:
"/Users/sonya/Library/Application Support/ZcashParams"
Please run 'zcash-fetch-params' or './zcutil/fetch-params.sh' and then restart.
Just downloaded and opened zec-qt-wallet on my Mac for the first time. Not sure why I got this error — apparently related to zcashd, but I was under the impression that the zec-qt-wallet would handle that for me? I'm on macOS High Sierra 10.13.6, if that's helpful.
Reproducibility: always
Steps:
What happened:
Window size and position is reverted back to the default size.
Expected result:
Window size and position is the same as user set it in step 2.
I had an issue with the auto-detection of my RPC password. Is it trimming this or removing speciial characters as I had a =
sign stripped off the end and needed to remove this from my RPC password to get it to work.
Related to #36
When user resizes or moves the window, the app should remember the last size and position on next launch.
Please implement labeling and address book for addresses.
See https://github.com/ZECmate/ZECmate-swing-wallet for implementation ideas.
Tried with my macOS builds of zcashd
v2.0.1 (https://github.com/kozyilmaz/zcash-apple/releases) and Qt 5.11.1. Confirm it works, great job!
$ /Users/loki/Qt5.11.1/5.11.1/clang_64/bin/qmake -v
QMake version 3.1
Using Qt version 5.11.1 in /Users/loki/Qt5.11.1/5.11.1/clang_64/lib
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.6
BuildVersion: 17G65
$ clang -v
Apple LLVM version 10.0.0 (clang-1000.10.44.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Found CUDA installation: /usr/local/cuda, version unknown
The ability to export your transaction history is useful for tax/accounting reasons.
Can get as simple or advanced as you can invest time on it :)
Export all history or export by selecting a date range.
Option to export both transparent and shielded, just transparent or just shielded.
Export as CSV (simple) or Excel (fancy) document.
src/connection.cpp:407:10: error: use of undeclared identifier 'paramsLocation'
if (!paramsLocation.exists()) {
^
src/connection.cpp:408:23: error: use of undeclared identifier 'paramsLocation'
QDir().mkpath(paramsLocation.absolutePath());
^
src/connection.cpp:411:12: error: use of undeclared identifier 'paramsLocation'
return paramsLocation.absolutePath();
^
It was introduced here -> 3cbb1ca#diff-a2a82fe964a7b85f20cd5239d386184aR236
The default generated zcash.conf file should have addnode=mainnet.z.cash
as per https://zcash.readthedocs.io/en/latest/rtd_pages/user_guide.html#mainnet
With the newly formatted transactions tab 👍 given you can now see the incoming transactions to shielded addresses the ability to view a memo using the context menu would be helpful i.e. in addition to "Copy txid" and "View on block explorer" a new item called "View memo".
Tested with 0.1.6. If you copy an address on the “Balance” tab and right click “copy address” it adds a line break in there (which means it is invalid when you try and paste it in) i.e. pasting an address then looks like this
ztestsapling17nl3a6w42m6ydzqvrhgf93pvn78sedd
m4gh8qucwwjlkeylyhf3vcsg0x6vtzdqzalp4u5qe92r
Reproducibility: always
Prerequisites:
zcashd and zec-qt-wallet are running.
Steps:
What happened:
The app acts like the transaction is sent normally.
Expected result:
A window appears "Your internet connection appears to be inactive. Your transaction is queued and will be sent to the Zcash network the next time your connection becomes active." or something along those lines.
Notes:
I believe the user will assume that the "Connected" info in the lower right of the main window is about the connection to the Zcash network when in fact it is about the connection to zcashd. I believe the explanation window will help clear up some of the confusion on the user's part regarding this matter. Perhaps, as an additional measure, you could add extra info to the "Connected" label when you hover the mouse over it. Right now it reads "1 ZEC = $XXX.XX". Maybe it should read "You are successfully connected to the Zcash daemon - 1 ZEC = $XXX.XX".
Reproducibility: always
Prerequisites:
Clean user account that has never run zcashd before.
Steps:
What happened:
Parameter download does not resume.
Expected result:
Parameter download resumes.
Hey,
I have an error when i try compiling on debian :
"src/balancestablemodel.cpp: In member function ‘void BalancesTableModel::setNewData(const QMap<QString, double>, const QList)’:
src/balancestablemodel.cpp:23:26: error: ‘const class QMap<QString, double>’ has no member named ‘constKeyValueBegin’; did you mean ‘constBegin’?
std::for_each(balances->constKeyValueBegin(), balances->constKeyValueEnd(), [=] (auto it) {
^~~~~~~~~~~~~~~~~~
src/balancestablemodel.cpp:23:58: error: ‘const class QMap<QString, double>’ has no member named ‘constKeyValueEnd’; did you mean ‘constEnd’?
std::for_each(balances->constKeyValueBegin(), balances->constKeyValueEnd(), [=] (auto it) {
"
It would be nice if there was support for selective disclosure.
https://z.cash/blog/viewing-keys-selective-disclosure
https://github.com/zcash/zcash/blob/master/doc/payment-disclosure.md
This is, of course, an experimental feature but it's a good opportunity to test it out and figure out the UI/UX.
Since it's still experimental and requires special flags to be passed to zcashd
or zcash.conf
you could enable this functionality (for now) only if those flags are already passed to zcashd
or zcash.conf
before starting zec-qt-wallet.
On testnet the fee defaults to 0.0002. I'm guessing there is a dev fee in this which is fine but it shouldn't be hidden like this and should be a separate input as using the standard 0.0001 fee is strongly encouraged (as fees are visible on the blockchain). I think this layout confuses the matter.
Tested on v0.1.9
Would be helpful to restrict this field to 512 bytes in length as at the moment you can enter any arbitrary length and then it just errors when sending. Even better if it showed you a character count/characters remaining.
Reproducibility: always
Steps:
What happened:
Window size and position is reverted back to the default size.
Expected result:
Window size and position is the same as user set it in step 2.
root@ubuntu-s-1vcpu-1gb-blr1-01:~/mqw/zec-qt-wallet# ./zec-qt-wallet
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
i am following all steps the are given in github,i install all dependencies ,
but gives that error
machine secification
os : ububtu18.04_x64
ram :1gb
space : 25gb
Sending a t-z transaction deducts 0.0002 in fees from my transparent address yet only 0.0001 is displayed in the amount. See this example where I sent 0.1 TAZ .
This is the txid on the explorer: https://explorer.testnet.z.cash/tx/7864b7110b5563c3bd89cc11cbeb89fe54be0d489d79287898de90cf60f34c51
Reproducibility: always
Prerequisites:
zcashd is not running.
Steps:
What happened:
zec-qt-wallet crashes.
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
VM Regions Near 0x28:
-->
__TEXT 00000001063d6000-00000001065b2000 [ 1904K] r-x/rwx SM=COW /Users/USER/*/zec-qt-wallet.app/Contents/MacOS/zec-qt-wallet
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.yourcompany.zec-qt-wallet 0x000000010650c1bc Connection::doRPC(nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> const&, std::__1::function<void (nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>)> const&, std::__1::function<void (QNetworkReply*, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> const&)> const&) + 60 (connection.cpp:520)
1 com.yourcompany.zec-qt-wallet 0x000000010650cc67 Connection::doRPCWithDefaultErrorHandling(nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer> const&, std::__1::function<void (nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>)> const&) + 135 (connection.cpp:551)
2 com.yourcompany.zec-qt-wallet 0x0000000106440ace RPC::importTPrivKey(QString, bool, std::__1::function<void (nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer>)> const&) + 1550 (rpc.cpp:181)
3 com.yourcompany.zec-qt-wallet 0x00000001063f2c82 MainWindow::doImport(QList<QString>*) + 1026 (mainwindow.cpp:578)
4 com.yourcompany.zec-qt-wallet 0x00000001063e5fe6 MainWindow::importPrivKey() + 1894 (mainwindow.cpp:609)
5 com.yourcompany.zec-qt-wallet 0x0000000106401bde QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (MainWindow::*)()>::call(void (MainWindow::*)(), MainWindow*, void**) + 126 (qobjectdefs_impl.h:134)
6 com.yourcompany.zec-qt-wallet 0x0000000106401b53 void QtPrivate::FunctionPointer<void (MainWindow::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::*)(), MainWindow*, void**) + 99 (qobjectdefs_impl.h:168)
7 com.yourcompany.zec-qt-wallet 0x0000000106401a86 QtPrivate::QSlotObject<void (MainWindow::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) + 166 (qobjectdefs_impl.h:397)
8 org.qt-project.QtCore 0x0000000107217eef QMetaObject::activate(QObject*, int, int, void**) + 1933
9 org.qt-project.QtWidgets 0x00000001067c5bf9 QAction::activate(QAction::ActionEvent) + 307
10 org.qt-project.QtCore 0x0000000107211c7c QObject::event(QEvent*) + 124
11 org.qt-project.QtWidgets 0x00000001067cd6ff QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
12 org.qt-project.QtWidgets 0x00000001067cea66 QApplication::notify(QObject*, QEvent*) + 728
13 org.qt-project.QtCore 0x00000001071f1fba QCoreApplication::notifyInternal2(QObject*, QEvent*) + 154
14 org.qt-project.QtCore 0x00000001071f2adc QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 436
15 libqcocoa.dylib 0x000000010b63353f 0x10b60d000 + 156991
16 libqcocoa.dylib 0x000000010b633cbb 0x10b60d000 + 158907
17 com.apple.CoreFoundation 0x00007fff461dabe1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
18 com.apple.CoreFoundation 0x00007fff462924bc __CFRunLoopDoSource0 + 108
19 com.apple.CoreFoundation 0x00007fff461bdb90 __CFRunLoopDoSources0 + 208
20 com.apple.CoreFoundation 0x00007fff461bd00d __CFRunLoopRun + 1293
21 com.apple.CoreFoundation 0x00007fff461bc867 CFRunLoopRunSpecific + 487
22 com.apple.HIToolbox 0x00007fff4549cd96 RunCurrentEventLoopInMode + 286
23 com.apple.HIToolbox 0x00007fff4549ca0f ReceiveNextEventCommon + 366
24 com.apple.HIToolbox 0x00007fff4549c884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
25 com.apple.AppKit 0x00007fff4374ca73 _DPSNextEvent + 2085
26 com.apple.AppKit 0x00007fff43ee2e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
27 com.apple.AppKit 0x00007fff43741885 -[NSApplication run] + 764
28 libqcocoa.dylib 0x000000010b632d36 0x10b60d000 + 154934
29 org.qt-project.QtCore 0x00000001071ee9ce QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 318
30 org.qt-project.QtCore 0x00000001071f246c QCoreApplication::exec() + 116
31 com.yourcompany.zec-qt-wallet 0x00000001063d9c62 main + 1234 (main.cpp:43)
32 libdyld.dylib 0x00007fff6e18c015 start + 1
Expected result:
zec-qt-wallet does not crash.
In file included from src/balancestablemodel.cpp:2:
src/addressbook.h:48:23: error: extra qualification on member 'updateLabel'
void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabel);
~~~~~~~~~~~~~^
In file included from src/mainwindow.cpp:2:
src/addressbook.h:48:23: error: extra qualification on member 'updateLabel'
void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabel);
~~~~~~~~~~~~~^
In file included from src/rpc.cpp:3:
src/addressbook.h:48:23: error: extra qualification on member 'updateLabel'
void AddressBook::updateLabel(QString oldlabel, QString address, QString newlabel);
~~~~~~~~~~~~~^
Reproducibility: always
Steps:
What happened:
Entering a ridiculously long string is accepted.
Expected result:
The field has a hard limit.
Reproducibility: always
Steps:
What happened:
Action is confirmed and transaction occurs. No message is displayed on ZBoard.
Expected result:
Error message appears, informing the user that the memo field cannot be empty when sending to ZBoard.
Reproducibility: always
Steps:
What happened:
Window size and position is reverted back to the default size.
Expected result:
Window size and position is the same as user set it in step 2.
Reproducibility: always
Steps:
What happened:
Window size and position is reverted back to the default size.
Expected result:
Window size and position is the same as user set it in step 2.
If you click on the t-Addr radio button it displays in the footer "Created new recieving tAddr)" even if you don't create one.
Also minor but worth fixing with this is recieving is spelt incorrectly and also there is an inconsistent usage of t-Addr and tAddr. If space allows while these terms are used frequently address might be more appropriate?
Reproducibility: always
Pre-requisites:
Have an Address Book entry with a label.
Steps:
What happened:
Expected result:
Max Available button does not work if the default 0.0001 ZEC fee is changed (the Max Available feature seems to have the default fee hard-coded to 0.0001 ZEC, so the math ends up wrong if you manually change the fee)
Reproducibility: always
Steps:
Send or receive a transaction of 0.000001 ZEC
What happened:
Amount appears as 1e-06 ZEC
Expected result:
Amount appears as 0.000001 ZEC
Test mac dmg package.
(Putting dmg in a zip otherwise github won't let me upload it to an issue)
MacOS-zec-qt-wallet-v0.3.1.dmg.zip
Thanks for the wallet! Really cool. 👍
I noticed that the latest binary archive placed the zcash-qt-wallet-v0.1.6
directory within an initial bin/
directory, though the preceding release didn't do similarly.
Thus, the readme to do this is off:
tar -xvf zcash-qt-wallet-v0.1.6.tar.gz
./zcash-qt-wallet-v0.1.6/zcash-qt-wallet
It would be nice if there was a way to set a custom fee. Using WinZEC, I was able to manually set a fee all the way down to 0. Right now the zcash network isn't really full, so the fee doesn't actually do much.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.