Trust-less liquidity pool

Thanks. Working.

Can the client run on a raspbery pi?

It works fine on a raspberry, tested on B+ and 2

Thanks.
Did you put the git directory on the Pi and it just worked with a users.dat? What percentage of CPU and memory use does it take, as reported by top ?

yes, just clone the git and users.dat, usage around 5 to 10% CPU 1% memory on a Pi2
on the B+ was just slightly more

Great. Can @creon tell what level of security risk the package might bring to the host (compared with not running the package)? I can think of undiscovered security bugs in stock python libraries and nubot if nubot is used. These are low probability possibilities. Any other libs and apps?

Everything in this package, except the json-rpc communication which is optional, is using the standard library. While also standard libraries have bugs, they can usually be considered as rather safe.

The server of course opens a port. This is always a security issue and a bug in the http server if my software theoretically could provide an attacker with any information on the system. The server further requires an unlocked NBT wallet so submit liquidity.

1 Like

eu.nupool.net will be offline for now. stay tuned for further announcements.

Just pointing out that for anyone quickly skimming the comments that @creon is referring to a configuration that you need to have only if you are running a pool. If you are a participant of a pool you don’t need to worry about this because the Nu-Pool software does not touch your personal Nu wallet in any way.

2 Likes

Does it still hold?

Setting up the TLLP client is still more work than handing out the coins. :wink:
To make using the trustless pool easier, compile it into a stand-alone program.

1 Like

Its now a double clickable file for all operating systems. For Linux and Mac its a bash script and for Windows a bat file. So its really just about making a double click on the pool.conf, inserting your data and then to double click the client.

Of course, regardless how easy I make the client, henrys pool will always be easier to use because people don’t need to create an API key/secret pair. I think regarding complexity the TLLP places itself pretty much in between of henrys pool idea and a casual LPC operation running a NuBot. I see the TLLP mostly as tier 1 solution - partly because I still haven’t found a way for clients to prove tier 2 reliably. Henrys pool on the other hand has very efficient tools and metrics to adjust tier 3 <-> tier 2 -> tier 1 liquidity.

I already thought about hybrid models in the past, which would basically mean that henry would run a server and a client + would provide his current service and use it in the client according to his metrics (of course with a corresponding compensation for the additional effort).

1 Like

I was thinking installing python and java may be scary to some. So might be creating keys and get 2fa going.

Right. I mean you don’t need Java, only Python, and this only needs to be installed for Windows users since Mac OS and Linux come with Python. But yes, I agree that this is another barrier for some people I guess.

1 Like

I am not sure but I seem to remember it is possible to compile python code to a windows executable?

1 Like

It is possible. I’m just going through the procedure now.
I’ve built a UI for interaction with the trustless pool software. I’m using pyinstaller to build a sinlge click executeable but it’s giving a bit of issue at the moment.

(If you’re interested, the code for the UI is here: https://github.com/inuitwallet/plunge)

About two hours ago I started to recognize a problem with Bittrex. The server only barely gets requests validated and I think some of you will have an efficiency of around 0 now. Sometimes it recovers for a while, but all data during those (long) periods is faulty. When talking to Bittrex they already warned me that Cloudfare might throttle the server, but I cannot say if this is in any way related to our current problem.

What I did now is to modify the Bittrex client in the way that it ensures that only one order per market side will be placed at a time. This means previous orders will simply be removed before placing a new one. This will reduce the number of calls to the exchange and hopefully solve our problem for now:

https://github.com/creon-nu/nu-pool/releases/tag/0.9

THIS UPDATE IS MANDATORY!

We will update the server once @woolly_sammoth and @willy are awake. When we did this, the server will not accept more than two orders (buy/sell) in a request of a user, such that requests from old client in some cases will get rejected. So please update the client as soon as possible to reduce the load on the current server.

I can only hope that it will improve the situation. Furthermore I am eagerly trying to get in contact with Bittrex to get more information from their side. Don’t know what else to say than sorry - with 10 users and more than 7000 NBT liquidity on day one the operation already scaled to a multiple of the beta and these problems were hardly observable from my tests.

Important: When the server restarts, all balances will be reset to zero. I will personally take care that all open balances will be sent (manually) when we restart the server. Furthermore be assured that your funds are not at risk, also not on the current server. The trading bot is not affected by all this, its only the server <-> exchange communication which creates this problem.

Thank you for your understanding!

Before the update I was fine. After the update I get tons of missing requests with a 75% efficiency. I’m at sampling size 23.
edit: I restarted the client and this time it achieved 100% at 23 sampling size.

Thanks for reporting. Did you see some INSUFFICIENT FUNDS warnings? If so, please redownload 0.8, I saw a small issue in the trading bot which might be related to the missings. I didn’t make a new release to avoid even more confusion now.

EDIT: I restarted the server, please check if you have a better connection now. I will send the balance you lost soon.

Works great, thank you.

Please update again, I think bid orders were still not placed correctly after getting removed. I am not entirely sure if this is completely fixed with the change I made now, but I really need to get some sleep so I will look into it tomorrow if it still should be an issue.

So please, and everyone else too, redownload 0.8.