Hi Everyone,
Over the past few weeks I’ve been working on a UI that works with the Trustless Liquidity Pool that @creon built.
I called it Plunge as that had a nice pool reference. It was later pointed out that plunge has negative connotations when used to describe market movements, but the name had already stuck.
Plunge provides a nice way to monitor your activity on the pool, and the pool activity in general. It also has the TLLP client built in and allows you to set it up and run it from within the UI.
As mentioned elsewhere, the intention for the TLLP is that its operations will expand and attempt to attract liquidity providers from outside the Nu community. i hope that a UI such as Plunge can help to lower the technical barrier to operating a TLLP client. Admittedly, the fantastic work that @creon has put in to making the client a single click affair has lowered thhat barrier already but I still feel there is room for a UI such as Plunge.
Plunge will work with any server which runs Creons software.
Here are some screen shots:
Main Page showing provided liquidity at Pool, Exchange and Personal levels. Pool stats are retrieved from the pool server. Exchange Stats can be filtered using the ‘Exchange’ and ‘Currency’ drop down lists. Personal Stats are the total across all exchnages and currencies (This is fairly meaningless for this first run as only bittrex and BTC are enabled by the pool)
Settings Page. The current Pool is set as default.
Set your API Keys.
Choose your minimal Interest rates
Minimise the UI so it doesn;t take up as much room on your desktop (Click the ‘Min’/‘Max’ button on the top bar to toggle this)
Click on any of the numbers on the main page to display a nice chart. Clicking on ‘Ask Liquidity’ will show both Ask and Bid liquidity on the same graph. Clicking on ‘Bid Liquidity’ will show the total liquidity at that level. All others show a single line for that figure. (If charts don’t show for you, try turning the ‘SmoothLine Charts’ option OFF in the settings
##Installation
###Windows
I have built a single click installer for Windows. It downloads and unpacks the Kivy portable files (~200MB) so can take a while. (Kivy is the python package I used to build the UI). It’s still buggy (hence the beta label) but should install Plunge on your Windows machine with a minimum of fuss. I would like to revisit this as there are other ways of packaging Kivy projects but after several days of trying, they eluded me.
###Linux (Ubuntu)
Install Kivy
$ sudo add-apt-repository ppa:kivy-team/kivy-daily
$ sudo apt-get install python-kivy
Get the code and run it
$ git clone https://github.com/inuitwallet/plunge.git
$ cd plunge
$ python plunge.py
###Mac
Install Kivy
http://kivy.org/docs/installation/installation-macosx.html
Get the code and run it
$ git clone https://github.com/inuitwallet/plunge.git
$ cd plunge
$ kivy plunge.py
##Usage
There are two main ways of using Plunge.
- If you are new to the TLLP it can help you set up and run your client so that you can start providing liquidity.
- If you are already providing liquidity and have your client running somewhere else, you can add the same api keys to Plunge and allow it to just monitor your pool account
Option 1 - To set up Plunge to run the TLLP client on your behalf
-
Install Plunge using the instructions above and run it.
-
Access the setting panel by clicking on the top bar of the UI
-
Ensure that ‘Monitor’ is set to ‘OFF’ (monitor removes the portion of the UI that allows you to start and monitor the client)
-
Click on the number to the right of the Exchange you want to configure (only Bittrex is available in this first release). The number will update to indicate the number of valid config lines you have set up. Config lines allow you to use multiple exchange api accounts set up with different parameters if you so wish.
-
On the page that appears start entering details
-
Enter your API Keys by clicking the ‘Set Keys’ button then the ‘Add Keys’ button on the new popup. They will be saved so that in future you can simply select them from the drop down list
-
Enter a valid NuBit payout address. The text will turn red if the address is invalid or black when valid
-
Choose a unit (only BTC available for this first run0
-
Set your rates by clicking the ‘Set Rates’ button and using the sliders
-
Choose a bot (only pybot available for Bittrex)
-
You can add a new row using the ‘Add Row’ button at the bottom right of the page. You can remove a row by removing characters from the NuBits address to make it invalid (any invalid or missing data causes the row to fail saving)
-
Click ‘OK’ to save your rows. You will see a pop up indicating which data is saved and reasons for failure to save if any. To dismiss this pop up, click outside of it
-
Click the ‘Close’ button on the top right of the Settings page to go back to the main page
-
Towards the bottom of the main page there is a ‘Start’ button. Click this to start the client. A green notification that the client has started will show next to the button and the console output of the client will appear in the black section at the bottom of the main window.
-
Once the client is running your stats should start to update.
-
Click on any of the numbers to see a chart of the data collected since Plunge was started.
-
Click on the ‘Pool Stats’ or ‘Exchange Stats’ text to see some more detailed stats
Option 2 - To set up Plunge to monitor your already running client
-
Ensure your client is running as normal
-
Install Plunge using the instructions above and run it
-
Go to the settings page by clicking the top bar on the main page
-
Turn ‘Monitor’ ON, This will shrink the UI to remove the ‘Start’ button and log output area from the bottom of the main page
-
Click on the number to the right of the exchange for which you wish to add API keys
-
Click on the ‘Set Keys’ button and then the ‘Add Keys’ button on the next popup
-
Enter your API keys and save
-
Click ‘OK’ or ‘Cancel’ to return to the Settings page (the API keys get saved either way. It is the act of adding the keys that saves them, seperately to the row data)
-
Click ‘Close’ on the settings page
-
Plunge should now be displaying your client stats. It does this by requesting your personal details from the pool server rather than interacting with the client at all
##Known Issues and Intended features
Plunge is still beta software so expect there to be some rough edges. I would appreciate feedback about your experience with setting up and running Plunge as I would like to make it as frictionless as possible to attract as many liquidity providers we can.
There are some issues that I know about and some features I would stil like to impliment.
- Sometimes the charts don’t display straight away. In my experience leaving Plunge alone will eventually show the chart. until that point, you can;t close the chart window (balance and rate charts seem to be particularly prone to this)
- It would be nice to hook into theconsole log of a client that isn’t being run by plunge so that the ‘Running’ indicator can be updated and the log output shown.
- Add detailed personal stats.
- Encrypt the files that contain secret API details to hide the details from a casual observer.
- Better windows Installer
- Android client. Kivy compiles well for Android and i have a preliminary apk that works. It is very rough and pre-alpha at the moment though.