qwertycoin-org / qwcx

Official cross-platform wallet for Qwertycoin.
Other
6 stars 0 forks source link

Discussion of QWCX v1.0.0 release #1

Open speqtr opened 5 years ago

speqtr commented 5 years ago

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

ghostx1x commented 5 years ago

A All-in-One application? Mobile Web Desktop

speqtr commented 5 years ago

@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 commented 5 years ago

@speqtr

Thanks for the info

speqtr commented 5 years ago

Quick update:

elgadrouri commented 4 years ago

Great job leaders 💪💪

speqtr commented 4 years ago

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 commented 4 years ago

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:

cc @exploshot @nnian @Xecute0101

Xecute0101 commented 4 years ago
  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.
  2. 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.
  3. 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?

  4. 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.

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

  6. 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 commented 4 years ago
  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 commented 4 years ago
  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 commented 4 years ago
  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 commented 4 years ago
  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 commented 4 years ago
  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 commented 4 years ago

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

nnian commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

speqtr commented 4 years ago

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);
  4. 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;
  5. 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 commented 4 years ago

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

speqtr commented 4 years ago

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:

Linux:

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 commented 4 years ago

I test it with Huawei P20 Lite:

speqtr commented 4 years ago

@ghostx1x, thank you for your feedback 👍

speqtr commented 4 years ago

Hi,

I recently published second pre-release for testing purposes.

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

macOS:

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 commented 4 years ago

First release apk works well with Samsung Galaxy S8+.

Xecute0101 commented 4 years ago

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

image

speqtr commented 4 years ago

@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.