Bounty request for l8orre's "Freerider" client.

Issue #44 new
EvilDave created an issue

In L8orres own words;

I want to submit my FreeRider client for a bounty proposal. I see it actually as a mix between TechDev and infrastructure, so a split bounty from both funds might be ok. The thing can actually be used to build a complete shop backend framework, so that would be quite infrastructure-like In fact, I have been using it for NRS core testing with quite some complex testing strategies, so that'll make it TechDev.

Anyway, below is the sales pitch:

I believe that nxtFreeRider will make a valuable and distinct contribution to the nxt clients ecosystem. Because Python is extremely scalable and flexible, this may have the potential to become the standard nxt api 'client' side. However, this is much more than a simple client GUI.

Features/Attributes:

  • python3/PyQt4: fully open source, code inspection extremely easy rapid development/modification possible by anybody,
  • script language: no binary that must either be trusted or compiled from source
  • developer tool: includes api access window for testing, new api calls can be added very fast
  • using QThreadpool, query threads can be used for NRS backend load testing
  • Focus of currently finished GUI part on Asset Exchange
  • python provides scipy: scipy has become the single most powerful and versatile scientific computation environment available
  • window widget layouts are made with qtdesigner
  • uses multiple windows - more can easliy be added.
  • uses PyQt4 signals and slots to bounce around signals
  • uses scipy. scipy is THE scientific computation library. everything else is ashes.
  • NRS polling can be done with adjustable QTimer
  • adding new API calls is done in a matter of minutes
  • offers a 'direct access' api similar to html:7876, with much more flexible parameter entry
  • is a NXT GUI app in its own right
  • python can also control a jvm, i.e. NRS can be included in the client

  • has multiple further applications - can host scripts and event frameworks of all types that can be used as:

  • Shop backend
  • network health and behaviour monitor
  • attack analysis and countermeasure
  • automatic trading application
  • load testing and scripted tests of NRS core functionalities

The availability of scipy provides a unique feature that no other client has - I have the impression that this aspect is a bit underrated so far.

git clone https://github.com/l8orre/FreeRider cd FreeRider ./nxtFreeRider.py Also available at: https://www.quicknxt.com/FreeRider

Comments (3)

  1. EvilDave reporter

    Just posted the above as I recieved it from l8orre. I've never even looked at Freerider, which i obviously need to do soon.

    I am interested in l8orre's last couple of lines:

    has multiple further applications - can host scripts and event frameworks of all types that can be used as: Shop backend network health and behaviour monitor attack analysis and countermeasure

    Tell us more about the network monitoring.......please.

  2. Ian Ravenscroft

    OK I don't do gooey but this looks like a test harness not a client. The USP is the python library - if its this then it needs perhaps a glossary/wiki & freerider-python package + client as a use case Its what i call a 'fat client' because it needs a localhost NXT node because it uses the clear-text API calls for secret phrase. Now implement a python package that people can build py apps on top of that has all client side signing.... then you can connect to a nxt node anywhere...

    Apologies if this is wrong but thats my impression... a work in progress and would like to see the 'client side signing' rather than the 'dangerous' API approach used and a proper package with the free-rider client as an example of how to use it.

    Might be worth something now - thinks its worth a lot more if those two key things are done.

    EDIT: So make the bounty in 2 parts if you agree - something now for what has been achieved but then something extra - equally significant to provide a library that can work safely with public nodes and can be easily installed e.g. using apt-get to install freerider-py or is it NXTpowerTools-py now?

  3. Log in to comment