Trust-less liquidity pool

Creon, I have about ~2 USD worth of BTC on poloniex but the client.py keeps showing

2015/03/08-16:01:37 INFO: Balance: 0.00000000 Exchange: poloniex Orders: {}

Very interesting, thanks for trying. You are CKYYKLJZ-ā€¦ correct? It continuously says that it is not able to validate your requests. Can you just keep it running for a while?

There is also a _shift variable in the exchange class, which gets added to the nonce.

1 Like

thatā€™s correct. btw: itā€™s 0.00723225 BTC exactly.

I pulled the software from git and ran client.py. I got some errors at first, because it had trouble writing logfiles. ā€œmkdir logsā€ in the python folder did it for me.

the users.dat should meet your requirements.

Edit: Are withdraw rights necessary for the API key?

No in this state tier 3 liquidity has to be managed manually. I should have mentioned that you need to create the logs dir, git unfortunately doesnā€™t allow me to commit an empty folder.

I just saw that most of the requests you are sending are getting validated but somehow the data is not updated. Iā€™ll look into it, thanks again for testing it.

Alright. Iā€™ll keep it running for a few hours.

Could you restart your client? It just gives up right now if the connection gets refused and I had to restart the server. I am now connected with two clients and both are receiving credits. Now I am also printing the API server response and in all cases of a reject the response was that the nonce is wrong.

Can you also check your system time? Is it synced to an NTP? I can imagine that it is crucial that the server and client clocks donā€™t deviate much.

sudo ntpdate ntp3.fau.de
8 Mar 16:59:17 ntpdate[25407]: step time server 131.188.3.223 offset 2.428427 sec

Thanks. Its really strange. All your orders get validated, but it just seems that your NuBot is not placing any order. Can you verify in the NuBot logs (they are stored in the logs folder of the nubot subfolder) or on the exchange that the NuBot indeed places some orders? Maybe 2 NBT are not enough for the NuBot to work with.

The server only considers Tier 1 liquidity right now. In future a similar system can be implemented that allows users to send getbalance requests such that the server can verify Tier 2 liquidity.

I have never worked with NuBot so far, but I will give it a try.

Its probably sufficient to just to a

grep "Submit order" nubot/logs/*/log.csv

I have three errors in the error.html

Liquidity is not being sent : orders are not yet initialized
com.nubits.nubot.tasks.SubmitLiquidityinfoTask
checkOrders
MƤr 08 2015 16:04:35.740 UTC

javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
com.nubits.nubot.pricefeeds.CoinbasePriceFeed
getLastPrice
MƤr 08 2015 16:06:03.808 UTC

Error while updating BTC price from coinbase
com.nubits.nubot.pricefeeds.PriceFeedManager
getLastPrices
MƤr 08 2015 16:06:03.817 UTC

the balance is correct in balance_history.json

These are all fine, although someone of the devs really should look into the handshake problem with coinbase. At some point it should post something like ā€œinitial walls placedā€ and before that it should submit some orders.

Maybe just verify in the exchange GUI if you see some open orders that you never placed manually.

@desrever, @benjyz, @woolly_sammoth after some private chatting with @willy it seems that his problem is related to the NuBot. It is not able to place orders because the nonce is invalid, like e.g.:

ApiError [5 : Nonce must be greater than 1425831203934. You provided 1425831203518.]

Although the system is synced to ntp! Any idea?

Hmmm, nothing that immediately springs to mind. Iā€™ll have to take a look at how the nonce gets calculated when Iā€™m by a computer later.
Just to double check, this is for poloniex?

Yes, we are trying other exchanges now.

I believe this is a known issue, i.e. #253, see https://bitbucket.org/JordanLeePeershares/nubottrading/issue/253/poloniex-nonce-bug

I think it will be best if we treat all bugs in the Bitbucket issue tracker, so that for example longer log messages can be archived, issues can be referenced etc. I havenā€™t been able to re-produce this yet. The more people systematically test the code the better. There are some improvements in how things are tested, which are not released/summarized yet.

Awesome job!

Iā€™m planning on diving into a bit of testing tomorrow after I fix a few issues with the new build of our internal testing exchange (testnet only). I can give you access to the tool if youā€™d like, @creon (and anyone else who is testing the liquidity pool concept).

1 Like

Oh sure that would be great. I just implemented a wrapper for CCEDK and probably write one for Allcoin and Bitcoin.co.id soon.

Having a testnet exchange would be very helpful when testing the payout system.

I would be happy to assist here as well.

So you are being paid by orders sent by your NuBot implementation every second or so?
The counterpart of that in Bitcoinā€™s PoW would be hash per second.

But in Nuā€™s PoS world, to simplify things, it is orders per second and the pool is decentralized.

I feel it is extremely promising.

1 Like