Pages:
Author

Topic: Nxt full feature clients - progress tracking thread - page 3. (Read 12380 times)

member
Activity: 98
Merit: 10
Hey guys  Smiley Just a suggestion about password security. In addition to whatever safeguards you guys are including in the clients, you might also wish to put a link to our wiki's How to Generate a Strong Password page. Maybe next to the form fields where users first determine their PW.
legendary
Activity: 1181
Merit: 1018
Hey DEVs and NXT'ers - I have a few thoughts and topics about my NRS API implementation.

Needed to sort and structure my thoughts, and thought this might be nice to ask for some input.  

As of now, I have an industrial-strength implementation of the nxt client-side API.
In fact, I have been busting my ass and putting in insane hours over the last couple of weeks.

This may have the potential to become the standard nxt api client side -
but I am a bit at a loss on the modalities of how to release or market it.

I'll just drop some detail:

- uses python3
- needs libs: PyQt4, requests, json, pyqtgraph, (scipy for the algo class)
- window widget layouts are made with qtdesigner  
- uses multiple windows - more can easliy be added.
- uses PyQt4 signals and slots to bounce around signals
- there is a nxtApiSigs class, that does the actual communication with the NRS, but should not be accessed from the client windows (although no one is stopping you from doing so - pythonic!)
- there is a nxtApiBroker class, that implements the clients use case logic by composing the compound api requests.
  The nxtApiBroker then send the requests to the nxtApiSigs class. The nxtApiBroker also receives the replies that the nxtApiSigs class fetches from the NRS backend.
- the nxtApiBroker has signals that it can send to any number of widgets on multiple windows.
- feeding a widget with a signal from the backend is done in the windowcontrol.
- a signal that returns from the api can be fed into as many widgets as desired - e.g. the 'getBalance' can be sent to multipe widgets simultaneously, also on multiple windows.
- so far pretty standard MVC stuff - only that PyQT4 Sigs&Slots are brutally versatile
- NRS polling can be done with adjustable QTimers - but: it can also be hooked up to external events like a listener that listens to messages from elsewhere and then takes action
- There is a plugin for an 'Algo' class that can be used to analyze data and issue action signals (e.g. buy/sell)
- it uses scipy. scipy is THE scientific computation library. everything alse is ashes. mat***, MAT***, R, math***, MAP***,  - dust.
  Honestly: it seems totally inconceivable to me how anything remotely concerned with any kind of data analysis could with a straight face NOT use a scientific library with some kind of an array class!
- adding new API calls is a piece of cake: when 'getAccount' was added, I had it plugged in in less than one hour.
- python can also control a jvm, i.e. NRS can be included in the client!
My problem: This seems to be a carrier class api implementation I have there - alas, it is too unwieldy to become a 'full feature' client quickly, let alone being foolproof.

I think I will be able to produce a 'thin feature client' within the next two weeks, but I am hesitant to compete in the arena of 'full feature clients', because my perspective and focus are different.
I could spend the next four weeks putting on pink gloss and eyecandy - but I am not experirenced in this, and I don't have the time. And also - why waste effort by trying to put a third full feautre client in line with the already existing projects (nexern and marcus03')?  

On the other hand: The community can pick this up and develop client functionality - because it is not fucking C# or Delphi, but plain python, that anyone can pick up and amend extremely quickly.

What can I do?

- quickly put on a skeleton functionality to convince the community of the scalability and performance of the api. - Or will this be trollbait for the usual gollumssessesses ?
- hold it back and try to implement DACs and SMS gateway
- 'InsideBitcoin' will be in Berlin in two weeks. I'll work hard to get a demonstrator ready to show around there.
- guess I'll put in threading for upcoming increase in MSGs ...

BTW: under what licence are we supposed to publish our things Huh MIT licence? Just paste it on top of every file and it is done???  Or rather GPLv3?


update: got the mechanism for threaded NRS requets implemented.

Got into a really nasty catfight with QThreading and the Documentation.
Did you know: It is a total bitch, hopefully the Qt people keep working on this!





hero member
Activity: 672
Merit: 500
No way to assess a client, no matter how advanced and full functional it might be, unless it is OPEN SOURCED!

That ~48K prize should be awarded to a client the open source code of which has been audited prior to deadline. So I ask all the client developers who already released their clients, even an initial version, to present the code resource, so it could be verified before any serious using..

While I already paid 100K to wesleigh and 100K to nexern for their previous efforts, but if their coming clients support Windows OS as well, they can also be considered for that 48K prize competition.

But again, only open sourced clients gentlemen, no way to risk 1M of Nxt balance by using a closed source one!

Nothing good is gained by putting time pressure on devs.

I prefer publishing a stable and good client and miss the bounty deadline.
Okay you can go that way, I didn't know asking for open source is putting pressure!

Oh, the open source part was crystal clear already. I meant throwing in the additional requirement that the auditing had to be finished before the deadline. (How would you want to measure that anyway?)

Have a little trust in devs and the community. Any open-source client that will have a significant adoption will have its code reviewed sooner or later.

EDIT: IMHO, it would be better for the overall outcome (client quality, number of entries) to stick to the initial requirement of open source client as of March 1st and simply not transfer the money to the winner until the code was reviewed.
I said to publish the open source of each released version, no matter how initial it is. But yes you are right, maybe I put the deadline stuff wrongly near the auditing term. A code can be reviewed several times and in between could be changed and then become reviewed again and again..
But you are wrong, no way to distrust you wonderful dev guys, all I say is that having the codes published make one feel safer to use the client (maybe it is a myth but already a part of the open source culture).
I ask again all the devs to publish the codes of each of their release versions as soon as it is available to use (or max. a week later than that in most cases).
full member
Activity: 224
Merit: 100
No way to assess a client, no matter how advanced and full functional it might be, unless it is OPEN SOURCED!

That ~48K prize should be awarded to a client the open source code of which has been audited prior to deadline. So I ask all the client developers who already released their clients, even an initial version, to present the code resource, so it could be verified before any serious using..

While I already paid 100K to wesleigh and 100K to nexern for their previous efforts, but if their coming clients support Windows OS as well, they can also be considered for that 48K prize competition.

But again, only open sourced clients gentlemen, no way to risk 1M of Nxt balance by using a closed source one!

Nothing good is gained by putting time pressure on devs.

I prefer publishing a stable and good client and miss the bounty deadline.
Okay you can go that way, I didn't know asking for open source is putting pressure!

Oh, the open source part was crystal clear already. I meant throwing in the additional requirement that the auditing had to be finished before the deadline. (How would you want to measure that anyway?)

Have a little trust in devs and the community. Any open-source client that will have a significant adoption will have its code reviewed sooner or later.

EDIT: IMHO, it would be better for the overall outcome (client quality, number of entries) to stick to the initial requirement of open source client as of March 1st and simply not transfer the money to the winner until the code was reviewed.
hero member
Activity: 672
Merit: 500
No way to assess a client, no matter how advanced and full functional it might be, unless it is OPEN SOURCED!

That ~48K prize should be awarded to a client the open source code of which has been audited prior to deadline. So I ask all the client developers who already released their clients, even an initial version, to present the code resource, so it could be verified before any serious using..

While I already paid 100K to wesleigh and 100K to nexern for their previous efforts, but if their coming clients support Windows OS as well, they can also be considered for that 48K prize competition.

But again, only open sourced clients gentlemen, no way to risk 1M of Nxt balance by using a closed source one!

Nothing good is gained by putting time pressure on devs.

I prefer publishing a stable and good client and miss the bounty deadline.
Okay you can go that way, I didn't know asking for open source is putting pressure!
full member
Activity: 224
Merit: 100
No way to assess a client, no matter how advanced and full functional it might be, unless it is OPEN SOURCED!

That ~48K prize should be awarded to a client the open source code of which has been audited prior to deadline. So I ask all the client developers who already released their clients, even an initial version, to present the code resource, so it could be verified before any serious using..

While I already paid 100K to wesleigh and 100K to nexern for their previous efforts, but if their coming clients support Windows OS as well, they can also be considered for that 48K prize competition.

But again, only open sourced clients gentlemen, no way to risk 1M of Nxt balance by using a closed source one!

Nothing good is gained by putting time pressure on devs.

I prefer publishing a stable and good client and miss the bounty deadline.
full member
Activity: 224
Merit: 100
Hello client guys,
I am sorry for this rude question, but just for the printed marketing reasons,

Q:

When would my mum (ok, maybe dad) be able to (download,) install and use Nxt (with your client) without me telling her anything? +- 3 weeks? Cheesy

- in one month?
- in 2 months?
- in 3 months?

thank you Smiley

2 months.
full member
Activity: 189
Merit: 100
No way to assess a client, no matter how advanced and full functional it might be, unless it is OPEN SOURCED!

That ~48K prize should be awarded to a client the open source code of which has been audited prior to deadline. So I ask all the client developers who already released their clients, even an initial version, to present the code resource, so it could be verified before any serious using..

While I already paid 100K to wesleigh and 100K to nexern for their effort, but if their coming client also support Windows OS as well, they can also be considered for that 48K prize competition.

But again, only open sourced clients gentlemen, no way to risk 1M of Nxt balance by using a closed source one!

ClieNxt is an open-source and one can download full project https://bitbucket.org/fmiboy/clienxt/src and add their ideas to it... It is fairly simple, GUI runs NRS and all other actions performed with API calls, nothing is saved locally (only account numbers and latest balances from table in Unlock window)

Need more testers from different OS (Windows - works, Mac/Linux - fixed some bugs in latest update, need more feedback)
hero member
Activity: 672
Merit: 500
No way to assess a client, no matter how advanced and full functional it might be, unless it is OPEN SOURCED!

That ~48K prize should be awarded to a client the open source code of which has been audited prior to deadline. So I ask all the client developers who already released their clients, even an initial version, to present the code resource, so it could be verified before any serious using..

While I already paid 100K to wesleigh and 100K to nexern for their previous efforts, but if their coming clients support Windows OS as well, they can also be considered for that 48K prize competition.

But again, only open sourced clients gentlemen, no way to risk 1M of Nxt balance by using a closed source one!
hero member
Activity: 1680
Merit: 506
Trphy.io
Great work being done here
hero member
Activity: 490
Merit: 504
Hello client guys,
I am sorry for this rude question, but just for the printed marketing reasons,

Q:

When would my mum (ok, maybe dad) be able to (download,) install and use Nxt (with your client) without me telling her anything? +- 3 weeks? Cheesy

- in one month?
- in 2 months?
- in 3 months?

thank you Smiley
full member
Activity: 189
Merit: 100
UPDATE: clienxt

Changelog: 0.0.3 [codename] mass effect

* status bar icons (active peers, latest block)
* preferences, settings default values
* fix various bugs in transactions list, messages list, alias list, account list.
* Introducing BULK send (nxt, messages, nxt with attached msg)

Usage: [same as before]
Unzip, download Nxt core http://info.nxtcrypto.org and unzip.
place "nxt" (NRS) folder inside "lib" folder (ClieNxt) and double click "ClieNxt.jar"

Automatically connects to the server, all outputs can be seen on console window after Send operations.

Screenshots:
sending bulk nxt to multiple accounts (separator ":" and end with ":")
possible to attach msg to each recipient also separator ":" and end with ":" after each msg.

sending bulk msg to multiple accounts (separator ":" and end with ":")

account checking before sending (balance>0, isexist(public key))


Download: https://bitbucket.org/fmiboy/clienxt/downloads/clienxt_003.zip

Report bugs: https://bitbucket.org/fmiboy/clienxt/issues?status=new&status=open and "Create issue" (really need feedback/bug reports from cross platforms (Mac, Linux))

Developers, Translators, Donators are very welcome to contribute, any help is very much appreciated.

Thank you!

legendary
Activity: 1181
Merit: 1018
Hey DEVs and NXT'ers - I have a few thoughts and topics about my NRS API implementation.

Needed to sort and structure my thoughts, and thought this might be nice to ask for some input.  

As of now, I have an industrial-strength implementation of the nxt client-side API.
In fact, I have been busting my ass and putting in insane hours over the last couple of weeks.

This may have the potential to become the standard nxt api client side -
but I am a bit at a loss on the modalities of how to release or market it.

I'll just drop some detail:

- uses python3
- needs libs: PyQt4, requests, json, pyqtgraph, (scipy for the algo class)
- window widget layouts are made with qtdesigner  
- uses multiple windows - more can easliy be added.
- uses PyQt4 signals and slots to bounce around signals
- there is a nxtApiSigs class, that does the actual communication with the NRS, but should not be accessed from the client windows (although no one is stopping you from doing so - pythonic!)
- there is a nxtApiBroker class, that implements the clients use case logic by composing the compound api requests.
  The nxtApiBroker then send the requests to the nxtApiSigs class. The nxtApiBroker also receives the replies that the nxtApiSigs class fetches from the NRS backend.
- the nxtApiBroker has signals that it can send to any number of widgets on multiple windows.
- feeding a widget with a signal from the backend is done in the windowcontrol.
- a signal that returns from the api can be fed into as many widgets as desired - e.g. the 'getBalance' can be sent to multipe widgets simultaneously, also on multiple windows.
- so far pretty standard MVC stuff - only that PyQT4 Sigs&Slots are brutally versatile
- NRS polling can be done with adjustable QTimers - but: it can also be hooked up to external events like a listener that listens to messages from elsewhere and then takes action
- There is a plugin for an 'Algo' class that can be used to analyze data and issue action signals (e.g. buy/sell)
- it uses scipy. scipy is THE scientific computation library. everything alse is ashes. mat***, MAT***, R, math***, MAP***,  - dust.
  Honestly: it seems totally inconceivable to me how anything remotely concerned with any kind of data analysis could with a straight face NOT use a scientific library with some kind of an array class!
- adding new API calls is a piece of cake: when 'getAccount' was added, I had it plugged in in less than one hour.
- python can also control a jvm, i.e. NRS can be included in the client!
My problem: This seems to be a carrier class api implementation I have there - alas, it is too unwieldy to become a 'full feature' client quickly, let alone being foolproof.

I think I will be able to produce a 'thin feature client' within the next two weeks, but I am hesitant to compete in the arena of 'full feature clients', because my perspective and focus are different.
I could spend the next four weeks putting on pink gloss and eyecandy - but I am not experirenced in this, and I don't have the time. And also - why waste effort by trying to put a third full feautre client in line with the already existing projects (nexern and marcus03')?  

On the other hand: The community can pick this up and develop client functionality - because it is not fucking C# or Delphi, but plain python, that anyone can pick up and amend extremely quickly.

What can I do?

- quickly put on a skeleton functionality to convince the community of the scalability and performance of the api. - Or will this be trollbait for the usual gollumssessesses ?
- hold it back and try to implement DACs and SMS gateway
- 'InsideBitcoin' will be in Berlin in two weeks. I'll work hard to get a demonstrator ready to show around there.
- guess I'll put in threading for upcoming increase in MSGs ...

BTW: under what licence are we supposed to publish our things Huh MIT licence? Just paste it on top of every file and it is done???  Or rather GPLv3?
hero member
Activity: 546
Merit: 500
PGP 9CB0902E
marcus great job mate!
i love the markets feature, no need to keep more browser windows open!
full member
Activity: 224
Merit: 100
Quick update for NXT Solaris sto fix an ugly bug.

Here is version 1.5 of my Windows NXT client "NXT Solaris". Still closed-source, so relax...

Download
64-bit Version: NXTSolaris-v1.5-64bit.zip (44.9 MB) – Download here
SHA256 checksum for NXTSolaris-v1.5-64bit.zip: F5165C3D70CA5617739E6798ABE75D6AE2D7A339589156DEB39657A19A1BD9B2

32-bit Version: NXTSolaris-v1.5-32bit.zip (44.1 MB) – Download here
SHA256 checksum for NXTSolaris-v1.5-32bit.zip: 0024D8480EE969A1573746ABC2E5BFDE18BFED39B02212C3C42A3D8F4C084C2B


For screenshots and everything else please visit: http://nxtsolaris.wordpress.com/


Installation
Simply unzip the archive and run the NXTSolaris.exe file.

The current version 1.5 and previous version 1.4 is not compatible with version 1.3 and before, so please delete any existing NXT Solaris files before updating to 1.5.

Roadmap
1.) Move current version of my code to XE5 and release closed source 32-bit and 64-bit versions for Windows. [DONE]
2.) Refactor code to a MVC architecture, so that I can create separate GUIs while using the same version of the business logic code. [90% DONE - Remaining necessary work will show up while doing 3.) ]
3.) Create new GUIs for Windows and OS X using the same business logic, but based on the cross-platform Firemonkey libraries.
4.) Release Windows version (32 and 64 bit) based on FireMonkey.
5.) Release source-code for FireMonkey Windows version.
7.) Release OSX version based on FireMonkey.
8.) Release source code for FireMonkey OSX version.


Changes for v1.5
-Fixed stack overflow bug when switching to another currency in personal account management
-Added password generator for adding new accounts in personal account manangement


Changes for v1.4
-Added market charts (DGEX, Bter, NxtChg, Vircurex) and exchange rates (from cyptocoincharts.info)
-Added feature to show NXT assets in other currencies in the personal account management
-You can now synchronize your address book after a NXT Solaris update with default address book that I ship that holds account numbers of exchnages, faucets and such
-Implemented orphan block cleanup
-Moved to Delphi XE5 in preparation for multiplatform support and open-source FireMonkey GUIs
-Windows 32-bit and 64-bit versions are now available

Thanks to NxtChg.com for doing the small animation in the status bar!

Donations
I hope you like my client and I’d be extremely happy to see some donations for the future of this project!

NXT: 1758531264253431177
legendary
Activity: 1092
Merit: 1010

1 - N application Hub

Lead developer: Nexern
Status : in progress
EST : January 26

January 26 came and gone, with no update to this date

True, the developer posted a week ago in the main thread (you know, that monster that's almost 1400 pages long!) that there has been a delay.
It's being tested at the moment and will come Smiley
hero member
Activity: 644
Merit: 500

1 - N application Hub

Lead developer: Nexern
Status : in progress
EST : January 26

January 26 came and gone, with no update to this date
newbie
Activity: 30
Merit: 0
cool maybe I can then get a block instead of being greeted by "block not generated" errors every morning...
hero member
Activity: 490
Merit: 504
Current security problems that could be solved by new clients:

- people using weak passwords (could be implemented this or similar script so people would know they use weak password? https://nextcoin.org/index.php/topic,3608.msg34002.html#msg34002 )

- people sending Nxt to the wrong addresses (it looks like it is being implemented, something like - if you add a receiver accound number, you will see his ballance.

- people not generating public keys - in the client there could be some warning with explanation and advice to get it, to send 1 transaction / create 1 alias
full member
Activity: 224
Merit: 100
Here is version 1.4 of my Windows NXT client "NXT Solaris". Still closed-source, so relax...

Download
64-bit Version: NXTSolaris-v1.4-64bit.zip (44.6 MB) – Download here
SHA256 checksum for NXTSolaris-v1.4-64bit.zip: 6C603D8EB47CDF7A054DCEC950E4B08A134A9D2C623C29DC8EB37632DEC6977F

32-bit Version: NXTSolaris-v1.4-32bit.zip (43.8 MB) – Download here
SHA256 checksum for NXTSolaris-v1.4-32bit.zip: 256CF00E1A6C1242556CA4ECAEBB2D0E0C6FAA04CD14CC68B8E850D02C966EAD


For screenshots and everything else please visit: http://nxtsolaris.wordpress.com/


Installation
Simply unzip the archive and run the NXTSolaris.exe file.

The current version 1.4 is not compatible with previous versions, so please delete any existing NXT Solaris files before updating to 1.4.

Roadmap
1.) Move current version of my code to XE5 and release closed source 32-bit and 64-bit versions for Windows. [DONE]
2.) Refactor code to a MVC architecture, so that I can create separate GUIs while using the same version of the business logic code. [90% DONE - Remaining necessary work will show up while doing 3.) ]
3.) Create new GUIs for Windows and OS X using the same business logic, but based on the cross-platform Firemonkey libraries.
4.) Release Windows version (32 and 64 bit) based on FireMonkey.
5.) Release source-code for FireMonkey Windows version.
7.) Release OSX version based on FireMonkey.
8.) Release source code for FireMonkey OSX version.


Changes for v1.4
-Added market charts (DGEX, Bter, NxtChg, Vircurex) and exchange rates (from cyptocoincharts.info)
-Added feature to show NXT assets in other currencies in the personal account management
-You can now synchronize your address book after a NXT Solaris update with default address book that I ship that holds account numbers of exchnages, faucets and such
-Implemented orphan block cleanup
-Moved to Delphi XE5 in preparation for multiplatform support and open-source FireMonkey GUIs
-Windows 32-bit and 64-bit versions are now available

Thanks to NxtChg.com for doing the small animation in the status bar!

Donations
I hope you like my client and I’d be extremely happy to see some donations for the future of this project!

NXT: 1758531264253431177
Pages:
Jump to: