Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion of QWCX v1.0.0 release #1

Open
speqtr opened this issue Oct 15, 2019 · 30 comments
Open

Discussion of QWCX v1.0.0 release #1

speqtr opened this issue Oct 15, 2019 · 30 comments
Assignees
Labels
documentation enhancement
Milestone

Comments

@speqtr
Copy link
Contributor

@speqtr speqtr commented Oct 15, 2019

This issues is created for posting updates and collecting feedback related to QWCX v1.0.0 milestone.

@speqtr speqtr added documentation enhancement labels Oct 15, 2019
@speqtr speqtr added this to the QWCX v1.0.0 milestone Oct 15, 2019
@speqtr speqtr self-assigned this Oct 15, 2019
@ghostx1x
Copy link
Member

@ghostx1x ghostx1x commented Oct 16, 2019

A All-in-One application? Mobile Web Desktop

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Oct 16, 2019

@ghostx1x, at the moment mobile (Android and iOS) is #1 priority. Desktop support will be added shortly after mobile apps are available (this app is based on Qt, so it will be an easy transition from mobile to desktop). And finally (with the help of Qt for WebAssembly) we will be able to bring the app to all major browsers.

@ghostx1x
Copy link
Member

@ghostx1x ghostx1x commented Oct 17, 2019

@speqtr

Thanks for the info

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Nov 3, 2019

Quick update:

  • recently opened a number of issues (#2, #3, #4, #5);
  • those issues represent application pages that are already implemented and waiting for team/community feedback before publishing the code.

@elgadrouri
Copy link

@elgadrouri elgadrouri commented Nov 25, 2019

Great job leaders 💪💪

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 4, 2019

Quick and short preview of an updated (most recent) GUI state.

NOTE: This is gif not mov format, real GUI is not pixelated and all animations are smoother.

QWCX_v1 0 0_gui

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 4, 2019

Weekly development digest 1

Current development progress:

  1. GUI is 95% ready (only little bug fixes are left);
  2. UI workflow:
    2.1 User opens QWCX wallet and sees "welcome page":
    2.1.1 User can go to "wallet creation page" and create new wallet;
    2.1.2 User can go to "wallet restoration page" and load wallet from mnemonic phrase;
    2.2 User gets to "main view" (balance, history, recipient and settings pages);
    2.2 On "balance page":
    2.2.1 Scan QR-codes;
    2.2.2 Send transactions by manually entering data;
    2.2.3 Show QR-code with wallet address to others;
    2.2.4 Watch recent transactions;
    2.2.5 Quickly go to recent transaction details;
    2.2.6 Quick access to all the popular services (Block Explorer, etc.);
    2.3 On "history page" view transactions list for all days and click on transaction to see details;
    2.4 On "recipient page":
    2.4.1 watch recipients list;
    2.4.2 add new recipients;
    2.4.3 NOTE: this data is only stored locally;
    2.5 On "settings page":
    2.5.1 app logo and version;
    2.5.2 easy way to select preferred node;
    2.5.3 node health: OK, SLOW, UNAVAILABLE;
  3. CI/CD scripts are ready and tested. @nnian is it required to manually add this repo in Travis CI settings? Or will it be added automatically after I'll add .travis.yml file to the repo?
  4. Custom LICENSE.txt is ready, I'll double check and publish it tomorrow;
  5. JSON RPC integration is in progress. I'm doing it slow and careful because any mistake in this important module of our application may cost users part or all of their money.

Plans for nearest future:

  1. Publish custom LICENSE.txt file (with some restrictions, as discussed with @Xecute0101);
  2. Finalize CI/CD pipeline and start publishing alpha versions to "GitHub > Releases > Pre-release" section;
  3. NOTE: All alpha releases of QWCX wallet will be done in "burner wallet" mode (for testing purposes). So, please, be careful while using it, app state or keys won't be saved between sessions.

NOTES:

  • Qt 5.14 will be released soon (hopefully on December 12, 2019) and it will bring a major improvements to Android deployment;
  • I'll switch all scripts to use this new features as soon as possible;
  • At the same time I'll keep all of the code backward compatible with Qt 5.12 until another LTS release (Qt 5.15 in May of 2020).

cc @exploshot @nnian @Xecute0101

@Xecute0101
Copy link

@Xecute0101 Xecute0101 commented Dec 7, 2019

  1. Do we have a wallet import function using mneumonic words, private key(spend key) and tracking key(view key)?
  • In case of importing wallets using tracking key, the send function of wallet shall be disabled.
  • Since multiple wallets can be imported or used, it would be the best to allow user to name the wallet files and have them select which wallet they want to use in the front prompt along with node selection.
  1. Do we have an account page where users can access mneumonic words, private key and tracking key?
  • accessing this information page shall require authentication of the user, which must be created when QWCX is launched using supported authentication built in the mobile device.
  • allowing them to copy the information is not necessary as it can be exposed in case of memory leak or a malware attack.
  1. Spending shall also require an authentication before generating txs. So for now they will have to enter 5 words? Also, do we have a pending cancellation time pop up? Can we set this time in the setting page?

  2. Receiving page shall create QR code using users's currently loaded wallet address and amount required. So I think it should have QR code generation feature.

  3. A feature to create Groups for Recipients page will be helpful. Also full address visibility would be

  4. For entering any texts or numbers for authentication, we shall used randomized keyboard layout to improve security.

Number 4 and 5 will be widely used in future chat app for easier transaction so quite important.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 7, 2019

  1. Spending shall also require an authentication before generating txs. So for now they will have to enter 5 words? Also, do we have a pending cancellation time pop up? Can we set this time in the setting page?

No. Those five words will only be used as a secondary check to make sure that user wrote down mnemonic phrase while creating new wallet. In all other cases user won't see this page, only when creating new wallet.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 7, 2019

  1. Receiving page shall create QR code using users's currently loaded wallet address and amount required. So I think it should have QR code generation feature.

Page for receiving money already does contain QR code. Do you mean an option "to export QR code as an image"? This is not yet implemented, but it is really simple and can be done quickly in one of the patch releases.

I'm also planning to add an option to quickly export QR code with public key and amount as an image and share it via popular messengers (or social networks?).

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 7, 2019

  1. Do we have an account page where users can access mneumonic words, private key and tracking key?

Yes, sure, users will be able to view that information by going to "Settings > Private Information" and before entering that page, application will show a warning that the information is sensitive and should not be shared with anyone. Also some sort of PIN code or "fingerprint" authentication will be added to make this information more secure.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 7, 2019

  1. Do we have a wallet import function using mneumonic words, private key(spend key) and tracking key(view key)?
  • In case of importing wallets using tracking key, the send function of wallet shall be disabled.
  • Since multiple wallets can be imported or used, it would be the best to allow user to name the wallet files and have them select which wallet they want to use in the front prompt along with node selection.

There is already an option to import wallet using mnemonic phrase. Other two options will be added later, as patches to v1.0.0 release.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 7, 2019

  1. For entering any texts or numbers for authentication, we shall used randomized keyboard layout to improve security.

I have this feature (+ some other features that will improve security) on my TODO list . But they won't be added until beta1 or beta2 of v1.0.0 is out, because stable JSON RPC API is more important right now.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 7, 2019

@Xecute0101 thank you for your feedback! 👍
I hope I did reply to all the questions and didn't forget anything.

@nnian
Copy link
Member

@nnian nnian commented Dec 10, 2019

I'm a man of few words. I like the GIF animation and the structure of the new wallet.

No. Those five words will only be used as a secondary check to make sure that user wrote down mnemonic phrase while creating new wallet. In all other cases user won't see this page, only when creating new wallet.

Yeah that's great. Big Wallet Pages do the same procedure (blockchain.info).

--

A feature to create Groups for Recipients page will be helpful. Also full address visibility would be

This could be useful. Like a family group (i can add my fam wife, son) and i can transfer a sum QWC to this group and every person in that group will receive this sum QWC 💃 Christmas Gifts

--

JSON RPC integration is in progress. I'm doing it slow and careful because any mistake in this important module of our application may cost users part or all of their money.

A. Do you plan to add additional (or change existing) RPC Headers to the Qwertycoin Core?

--

B. I see that the available nodes are a static array/list in the code. Do you plan to add the node explorer list in future releases?

C. In the animation you enter some texts to the "PaymentId" field. Do you plan to create a regex for allowing only valid Payment Ids?

D. What about to add a "credits" page to the settings menu? To show the contributers, adding some additional informations, a few links to website, discord, telegram and the social stuff?

E. Maybe that's already discussed earlier: What about creating payment requests and export this (QR or payment URL) (Paypal Style)? I want 5m QWC to my address and i can send this request to my Friend and share this request via export QR image, a URL (qwertycoin:QWC....;500000) or something like this.

Maybe in the future send the request directly to the receivers wallet? (chat application)
In paypal you can send a request to the email address.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 11, 2019

B. I see that the available nodes are a static array/list in the code. Do you plan to add the node explorer list in future releases?

Current static list is just a placeholder in the GUI part. For production we will use remote API to get a list of active nodes. Static list will be used as a temporary nodes list (while app tries to download up to date nodes list from the internet).

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 11, 2019

C. In the animation you enter some texts to the "PaymentId" field. Do you plan to create a regex for allowing only valid Payment Ids?

Sure, for all fileds, not only "PaymentID" 🙂

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 11, 2019

D. What about to add a "credits" page to the settings menu? To show the contributers, adding some additional informations, a few links to website, discord, telegram and the social stuff?

Sounds like a very good idea. I'll add it to my TODO list.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 11, 2019

E. Maybe that's already discussed earlier: What about creating payment requests and export this (QR or payment URL) (Paypal Style)? I want 5m QWC to my address and i can send this request to my Friend and share this request via export QR image, a URL (qwertycoin:QWC....;500000) or something like this.

At the bottom of "requests page" there is a row of buttons, pressing on any of those in v1.0.0 will export QR code image and generate a link for social network or just copy it to clipboard for sharing in some other place. On mobile devices we can also add a feature to open native "sharing menu" with messengers, email and social networks.

PS: Another good feature is "request via bluetooth", scan QWC users nearby and send request directly to their app. Similar to airdrop experience on Apple devices. But this is not for v1.0.0, will be discussed and implemented later some time.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 11, 2019

A. Do you plan to add additional (or change existing) RPC Headers to the Qwertycoin Core?

For now I'll publich all JSON RPC related updates in QWCX wallet repo. Later at some point I'll definitely consider merging those changes back to Qwertycoin Core.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 11, 2019

@nnian, hopefully I didn't forget anything and replied to all your questions. Please, let me know in case I missed anything.

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Dec 30, 2019

Weekly development digest 2

Current development progress:

  1. In the new update Qt 5.14.0 is the minimal supported version due to much better Android platform support;
  2. GUI is 100% ready, but requires to fix a couple of regressions "here and there" after migrating to Qt 5.14;
  3. CI/CD scripts:
  • Found a new way to automate Qt installation using custom cmake script (without dependency on Hunter or any other package manager);
  • Separated CI/CD scripts into two big parts;
  • GitHub Actions will be used for master branch and stable releases;
  • Travis CI will be used for nightly branch and pre-release builds (for testing purposes);
  1. JSON RPC integration is still in progress. I'm doing it slow and careful because any mistake in this important module of our application may cost users part or all of their money;
  2. Custom LICENSE.txt is checked and merged to master branch.

Plans for nearest future:

  1. (after a short vacation, 3-4 days) get Travis CI up and running and start publishing nightly branch builds on daily bases;
  2. get GitHub Actions up and running and start publishing master branch (stable) releases on "2 weeks" bases.

PS:

2019 was a good year for Qwertycoin with big number of updates and significant improvements. 2020 is going to be a great year for Qwertycoin with even more improvements, new features and a brand new desktop/mobile client 🙂 Happy New Year everyone! 🎄 🎅 🍾

@nnian
Copy link
Member

@nnian nnian commented Jan 7, 2020

Can't wait to read some news about that Repository 🍾

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Feb 23, 2020

Dear comunity members,

I recently published first pre-release for testing purposes.

@Xecute0101, @nnian, @ghostx1x and others are kindly invited to perform a small test:

  1. Download, unzip .AppImage.zip and run .AppImage file on various Linux distros;
  2. Download, unzip .apk.zip and run .apk file on various Android versions;
  3. .aab package is for Google Play only and doesn't require any testing at the moment.

Android:

  • 5.0 and above;
  • arm64-v8a, armeabi-v7a, x86 and x86_64 arch.

Linux:

  • Ubuntu 16.04 and later (should run on many other distros);
  • only x86_64 arch (no 32-bit support);
  • .AppImage is self-contained package and should not require installation of any additional software.

NOTE 1: This first pre-release is aimed to test GitHub Actions CI build & packaging scripts for Android and Linux platforms. GUI and "wallet" features are not fully enabled yet, so runnig app may look empty/buggy.

NOTE 2: Next up will be macOS and Windows (32 and 64 bit). iOS will be available a little bit later.

NOTE 3: "Wallet features" will be added in next pre-releases later during upcoming week.

Thanks 🙂

PS: Please, report any issues in this thread, I'll inspect provided feedback and open separate issues if necessary. This will help to avoid duplicate issues.

@ghostx1x
Copy link
Member

@ghostx1x ghostx1x commented Feb 23, 2020

I test it with Huawei P20 Lite:

  • Mnemonic works no buggy
  • Balance is empty but no buggy
  • History is empty but no buggy
  • Recipient (Add new recipient) no function no buggy
  • Settings preferred node list switching works no buggy

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Feb 24, 2020

@ghostx1x, thank you for your feedback 👍

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Feb 25, 2020

Hi,

I recently published second pre-release for testing purposes.

@Xecute0101, @nnian, @ghostx1x and others are kindly invited to perform a small test:

  • Download and unzip .dmg.zip;
  • Run .dmg and copy .app to /Applications folder;
  • Right click and Open a couple of times, confirm that you agree to run unsigned app;
  • Check that app runs and doesn't crash.

macOS:

  • 10.13 or later;
  • x86_64 (no 32-bit support, not needed);
  • doesn't require any third-party software installations.

NOTE: This second pre-release is aimed to test GitHub Actions CI build & packaging scripts for macOS platform. GUI and "wallet" features are not fully enabled yet, so runnig app may look empty/buggy.

PS: First pre-release was removed. Second pre-release contains Android, Linux and macOS packages.

@Xecute0101
Copy link

@Xecute0101 Xecute0101 commented Feb 25, 2020

First release apk works well with Samsung Galaxy S8+.

@Xecute0101
Copy link

@Xecute0101 Xecute0101 commented Feb 25, 2020

Second release tested on MacOS 10.13.6
All works fine including calling the camera function.

image

@speqtr
Copy link
Contributor Author

@speqtr speqtr commented Feb 26, 2020

@Xecute0101, thank you for your feedback! 👍

PS: Next release is going to be Windows related and once tested, I'll push a number of commits with GUI and other updates/improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation enhancement
Projects
None yet
Development

No branches or pull requests

5 participants