Alright, here's the deal:
The protocol:
http://www.sierrachart.com/index.php?l=doc/doc_GeneralDataTradeServiceProtocol.phpReference C++ header implementation of the messages:
https://github.com/SierraChart/GSPWhat I expect:
A pure python library that uses twisted (
http://twistedmatrix.com/) as only dependency (well, and twisted's dependencies...
) and that implements all messages that are currently specified in the DTC protocol.
It does not have to connect to a backend, returning dummy data (e.g. a hardcoded list for market data) or hooks to supply actual data is fine.
If data can be calculated/known (e.g. current timestamps), I'd expect this to be there though.
Connection should be possible with or without SSL/TLS, setting everything up (certificate paths etc.) with twisted is of lower priority though (it isn't hard anyways, check
https://twistedmatrix.com/documents/current/core/howto/ssl.html).
In the end I want to be able to implement e.g. my own market data connection that then gets sent to DTC compatible clients using your library (it would act like a "bridge"). To use it, all I would need to do is to do a simple "import dtcpy" and work from there.
I intend to OpenSource this code under the MIT license and would require periodic updates/commits to a public repository from you, please do not submit a bid if you do not want others to see, use and build upon your code!
As this is not a completely trivial task, I am open to suggestions on how to handle the actual bounty - would you prefer a pure BTC price up-front that gets escrowed and paid upon completion, a payment in USD value per week/hour/milestone...?
Please submit a bid with your preferred amounts publicly here (no, I will NOT discuss this in PMs), if I'm happy with the time line etc. we'll do a bit more formal (signed) contract (also public) and I'll put the bounty payment in escrow.
If others also see some benefit in this, they are of course also invited to pledge some amounts.
The general use case in the end would be to build a generic bridge to at least the SierraCharts software with multiple Bitcoin exchanges as potential markets. In the end, you'd load your API key(s) into a software built upon this library and you'd be your own broker. Since every exchange kinda creates their own little weird API, there needs to be some unification beforehand and DTC could offer that (it supports historic market data AND authenticated trading!). Maybe other people might find this interesting enough to pledge some amount, it would be possible already now if you write this bridge in C++. I personally want to use Python though and I don't care enough for "how many bytes does this message have and what endianness should timestamps be..." to port this on my own, there might be people out there that prefer this kind of work and I'm willing to pay for that.