[Draft] Proposal for liquidity provision on fiat pairs (LiquidBits.net)

Will see if I can find something in the server logs. Haven’t seen that before myself.

Edit: nothing on the server logs except a small number of rejects which is not too bad. Likely to be something which happened on client side, will also start running USD pair as I have ran EUR pair in last 2 days without a problem except some missed handshakes. But they are not persistent, more like glitches in connections.

Thank you very much for continuing the great work that @creon has paved the way for!
I’ve just started participating in the beta test for liquidbits.
I thought you might be interested in a tester on linux.

It works like a charm and I only rarely have errors like:

  • 2015/04/29-21:21:05 ERROR: submit: server response invalid
  • {u’pagination’: False, u’errors’: False, u’response’: {u’entity’: {u’order_id’: 492755, u’transaction_id’: 1088990}}}

The first one occurs from time to time, can’t find a pattern…
The second one upon startup of the pool client, in a repeatable manner. It looks like it precedes placing an order.

And I have found a tiny glitch in version nu-pool-0.96LB:
the script unix/client-ccedk-usd tries to load a file pool-ccedk-usd.conf which doesn’t exist.
Workaround: open a shell, change to the unix directory and execute:

sed -i -e s/pool-ccedk-usd.conf/pool-ccedk-usd/ client-ccedk-usd

Afterwards you can edit pool-ccedk-usd:

sed -i -e s/"address = xxxxxxx"/"address = yourNuBitsAddress"/ pool-ccedk-usd
sed -i -e s/"apikey = xxxxxxx"/"apikey = yourApiKey"/ pool-ccedk-usd
sed -i -e s/"apisecret = xxxxxxx"/"apisecret = yourApiSecret"/ pool-ccedk-usd

Remark: the quotation marks in the expression are needed; don’t remove them.
You can for sure use an editor, but as I run this on my headless RaspberryPi, I prefer using the shell anyway…

Now you are fine to run

./client-ccedk-usd

If you want to connect to your machine to check the status, I recommend tools like “screen”.
screen is by man page a “screen manager with VT100/ANSI terminal emulation”

1 Like

@masterOfDisaster Remove this line: https://github.com/Cybnate/nu-pool/blob/master/python/exchanges.py#L400

@Cybnate why are you always checking some boolean by asking “if b is True:” and not just “if b:”?

1 Like

Thank you.

sed -i -e '400d' exchanges.py 

effected. Error messages gone. Awesome support!

Not getting “getting now:DEBUG: exception caught in trading bot: ‘usd’ on ccedk’s nbt/usd” any more.
Right now the bot is not placing my nbts into sale but perhaps it is because the target has been reached.

Getting “DEBUG: exception caught in trading bot: ‘usd’ on ccedk’s nbt/usd” once again.

1 Like

Thanks Creon. Will make a new release soon.

Yes, thanks for checking it. Will updated the Linux configs with next release. Just a lack of proper testing and setup time from my side. Linux still takes me a lot of time.

Can confirm them now, I have a handful of them in the last 24h.
They follow a time-out on the order book:

2015/04/30-01:50:05 ERROR: unable to retrieve order book for eur on ccedk: exception caught:
2015/04/30-01:50:31 DEBUG: exception caught in trading bot: 'eur’
Will need Woolly to have better look at why this happens occasionally, seems to be ccedk specific

That is a question for @woolly_sammoth. I pulled that from his repo. I’m not into the intricate details of Python.

As there might be a risk of pools clashing on Bittrex and I don’t want to take the risk of disturbing Nu-pool’s operation, I like to ask you to not test on Bittrex using liquidbits.net. I will remove that pair over the weekend from the configuration as a server restart would be needed and I like to complete my testrun with the server . Appreciate your cooperation.

All other pairs can still be used.

1 Like

Thank you @Cybnate.
Unless @creon want’s to interject, I’m not 100% sure that two different pools will recognise each other and avoid their walls colliding when out of sync. Until I can verify that that is or isn’t the case, this is the safest way to go.

That’s just a bad habit of mine. I prefer to be explicit and find this method more readable when scanning the code. That said, the PEP8 style guide considers me the worst of the worst for doing so so maybe it’s a bad habit worth breaking :slight_smile:

Non-mandatory release 0.97LB https://github.com/Cybnate/nu-pool/releases/tag/0.97LB

Fixed:
Updates on Unix config files, corrected wrong file references
Pulled a number of small fixes from Nu-pool/ Inuit repo (Thanks Woolly)

Known issue:
CCEDK timeout on orderbook, resulting in occasional exception report on both EUR and USD pair

Usually running multiple pools on the same exchange is fine. The only problem in real operations is that users could send their requests to both servers and get paid twice for the same liquidity. But since this is just beta, its not a problem.

However, on Bittrex this indeed will lead to a problem because of their specialized attempt to make the API calls (their wrapper differs in many ways from other exchanges). This will lead to a problem if you are using the same account in Cybnates pool and in the nupool.

If you use different accounts then everything should be fine.

3 Likes

Thanks for the clarification @creon.

Still testing 0.96LB, but the statistic is superb.
Almost all outputs are at 100% and those below are related to single missings.

  • upgraded to the latest version of the code.
  • currently i am not getting [“DEBUG: exception caught in trading bot: ‘usd’ on ccedk’s nbt/usd” once again.]
  • however the bot does not put my 1NBT or so into sales.

Open trading.py, go to line 313 (for side in [ 'bid', 'ask ]:) and write this in before this line:

if not self.unit in response['units']:
    response['units'][self.unit] = { 'bid': [], 'ask': [] }

See: https://github.com/creon-nu/nu-pool/blob/master/python/trading.py#L313

You need 1 NBT * (1 + fee) minimal funds. It was 0.5 before, but that made problems on Bittrex. It should become a user variable at some point, but most exchanges require a minimum of around 0.5 NBT.

1 Like

Getting this at line 313…

lf.logger.error(
‘server price %.8f for %s deviates too much from price %.8f received from ticker, will try to delete orders on %s’,

Alright. Have put 4nbt just to make sure.
Tks for your help!

Try around line 134.
I reformatted a few of the files to stop my ide complaining so much. No changes to the actual logic and nothing wrong with how the files were, just easier to read the code.

you mean at

self.limit[‘ask’] = max(self.total[‘ask’], 0.5)

?

Apologies, phone keyboard fail! (I’ve just made the change that creon suggested and pushed to github)

1 Like

I suppose @Cybnate would have to update his repository based on your update.