jphackworth / clj-btce Goto Github PK
View Code? Open in Web Editor NEWAPI Library for Bitcoin Exchange BTC-E
License: Mozilla Public License 2.0
API Library for Bitcoin Exchange BTC-E
License: Mozilla Public License 2.0
The clj-btce library does not provide a reliable means for executing several trade api requests simultaneously.
Background
Each trade API request needs to include a nonce. The nonce is an Integer linked to your btc-e api-key. Each new request needs to have a higher nonce value than the previous one. This causes problems if you're trying to fire off multiple asynchronous requests at once since the API backend will not process a request if the nonce is out of order.
Ideas
The trade api requests need to be queued, and the nonces intelligently created and managed. Whilst it's not possibly to be truly asynchronous, it should be possible to make sequential requests spread a few ms apart.
I'm investigating both Pulsar (heavy-weight erlang-like Actors and concurrency) and core.async (lighter-weight concurrency without the actors) to provide this functionality.
One idea would be to assign UUIDs to each trade api request, and send them to a channel. A function would be listening to the channel and intelligently processing the requests. Outputs would be sent to another channel. Calling functions can wait for a message on the channel that matches their UUID.
Apparently the latest certificate used by BTC-E is issued by GoDaddy, and the GoDaddy Certificate Authority isn't included in the Oracle Java 7 certificate store.
This and the workaround is documented here: http://notes.richdougherty.com/2013/09/adding-godaddy-g2-root-cert-to-jdk-7.html
If you are using Oracle JDK 7, the workaround is to manually add the GoDaddy root certificates to your certificate store. You can either do this per-application, per user account, or system wide. The instructions in the link above are for system-wide.
Apparently this isn't an issue in Oracle Java 1.6. I haven't tested OpenJDK.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.