Bitcoin Forum
June 25, 2024, 02:10:39 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 »
521  Bitcoin / Bitcoin Discussion / Re: What about a stock trading + auction platform? on: April 19, 2011, 09:48:49 AM
Basically just add in an auction platform to mtgox.

Ssssshh...
522  Bitcoin / Bitcoin Discussion / Re: What would happen if the govt seized mt gox? on: April 19, 2011, 07:47:40 AM
I'd given thought to an open source, p2p trading application that one would run in conjunction with bitcoin and float synchronized data across the nodes.

Bitcoin avoids doublespend problem by applying a delay, however a trading system requires all the stuff that we do not know (yet) how to run decentralized: trust, realtime, atomic transactions
523  Bitcoin / Bitcoin Discussion / Re: What would happen if the govt seized mt gox? on: April 19, 2011, 07:41:59 AM
With backups on various places of the world, too. Hosting in Japan is just too expensive (about 15 times more than US servers) to be used by default.
524  Economy / Trading Discussion / Re: mtgox trade fee on: April 18, 2011, 11:36:35 PM
Yep, that's it.
525  Economy / Marketplace / Re: [BETA] MTGox websocket API, testers wanted on: April 18, 2011, 12:01:17 AM
Another question: how can I re-subscribe from a previously unsubscribed channel? I have tried sending
Code:
{'channel': 'd5f06780-30a8-4a48-a2f8-7ed181b4a13f', 'op': 'mtgox.subscribe'}
and
Code:
{'key': 'd5f06780-30a8-4a48-a2f8-7ed181b4a13f', 'op': 'mtgox.subscribe'}

but neither works at getting the ticker feed back after I unsubscribe from it.

Just added:

Code:
{"op":"mtgox.subscribe","type":"trades"}

Possible types: trades, ticker, depth
526  Economy / Marketplace / Re: [BETA] MTGox websocket API, testers wanted on: April 16, 2011, 10:00:45 AM
Everything works as expected. Looks like I get a lot of identical ticker frames when I enter an order, I'm guessing this is because there are a lot of bots adjusting orders in response?

Might just have been "by chance". There are a lot of ticker events, no need to think too hard about this Smiley
527  Economy / Marketplace / Re: [BETA] MTGox websocket API, testers wanted on: April 16, 2011, 02:50:37 AM
Is websocket api down?

Code:
$ telnet websocket.mtgox.com 80
Trying 69.64.54.38...
telnet: Unable to connect to remote host: Connection refused

Yep was down, found the reason, fixed the code and restarted it (division by zero when someone sent badly formatted draft-00 headers).

Hello, thanks for the API. Few questions/comments:

a) What exactly is the ticker? Why server broadcast so many packets without any changed data? I see few updates per second without any change...
b) Can you please post example of subscribe/unsubscribe command? It's not clear for me how to unsubscribe from ticker.
c) Can you include (official) server timestamps to the broadcasts? Client timestamps in trading platforms are hell... I'm sorry, I miss 'date' field  Roll Eyes


a) The ticker is the current stats about bitcoin. It's sent once each time it have a chance to be changed, which includes when orders are posted, removed or completed.
b) Here's an example:
Code:
{"op":"unsubscribe","channel":"xxx"}

Additionally each user has a "own" channel which streams informations about orders (new order, deleted order, etc) and trades only the user's trades).

Does a user's "own" channel include information about when BTC/USD funds post to his account?

Not at this point.

why are you using UUID's to name the channels rather than just something human readable like: "trades" ?

Because it was easier since I intend to use this system for many other sites, without having to do something to isolate users of a specific system. Also there are user-specific channels and many other stuff which makes use of uuid a bit easier (for me).
528  Economy / Marketplace / Re: [BETA] MTGox websocket API, testers wanted on: April 15, 2011, 11:42:37 AM
I'm hoping to move my automated trading system from poll-based to event-based. It's first I heard about websockets, looks like it's invented for browser based systems. Is it worth writing a standalone program that makes use of this (in which case I'll start right ahead) or do you have a more basic socket interface in your plans? Or am I talking nonsense (haven't slept for a while)?


The draft-75 version of the protocol is really easy to implement from an application.

You send a simple HTTP request:

Code:
GET /mtgox HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: websocket.mtgox.com
Origin: null

(remember to add an empty line at the end)

And you get the following reply:

Code:
HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
WebSocket-Origin: null
WebSocket-Location: ws://websocket.mtgox.com/mtgox

Once you got this, the websocket server will send you frames in the following format: a NUL byte (00), some JSON-encoded data, and a FF byte. You can then decode each json packet as they come and handle them.

You can also send packets in the same way, by sending a NUL byte, some json-encoded data, and a FF byte (for example to send an unsubscribe request, or subscribe to a mtgox key).

Example with telnet: http://dl.dropbox.com/u/24900303/screenshot/2011/04/20110415_websocket_telnet_example.png
529  Economy / Marketplace / Re: [TESTING] Sending SMS with bitcoin on: April 15, 2011, 08:06:59 AM
EDIT: I see your problem, should be better~
530  Economy / Marketplace / Re: [BETA] MTGox websocket API, testers wanted on: April 15, 2011, 08:06:02 AM
I look forward to a feed of bids and asks, so I can restore newsham's page to it's former glory. I don't need the whole order book to be sent every time there's a change; just a stream of updates would be good. For example:
add 1001 bid 23.45 1.043
add 1002 ask 34.56 1.07
remove 1001
fill 1002 14.56
fill 1002 20.00
...

Should be possible, I'll do something Smiley
531  Other / Off-topic / Re: Kalyhost, how to get dns working??? on: April 15, 2011, 05:58:26 AM
For info if you want to define a A on the domain itself, just leave "Host" empty.
532  Economy / Marketplace / [BETA] MTGox websocket API, testers wanted on: April 15, 2011, 02:48:21 AM
Hi,

There's a new MTGox websocket API. This API works by subscription to channels, and each channel is represented by an UUID.

You can connect via: ws://websocket.mtgox.com/mtgox

The websocket will subscribe you to some channels automatically:
  • dbf1dee9-4f2e-4a08-8cb7-748919a71b21: trades (each time a trade happens, you get something here)
  • d5f06780-30a8-4a48-a2f8-7ed181b4a13f: the mtgox ticker (lots of updates, with often the same data)
  • 24e67e0d-1cad-4cc0-9e7a-f8523ef460fe: depth information in realtime (price + amount + type... type=1=Ask, type=2=Bid)

Additionally each user has a "own" channel which streams informations about orders (new order, deleted order, etc) and trades only the user's trades).

Each message is a JSON-encoded object, with at least "op" element. The "op" element contains the operation to be done (for outgoing messages), or the type of message (for incoming messages).

Possible outgoing commands:

  • unsubscribe Stop receiving messages from a channel (parameter "channel")

Example incoming data:

Ticker
Code:
{"channel":"d5f06780-30a8-4a48-a2f8-7ed181b4a13f","op":"private","origin":"broadcast","private":"ticker","ticker":{"buy":0.9515,"high":1,"low":0.91,"sell":0.9697,"vol":34349}}
Trade
Code:
{"channel":"dbf1dee9-4f2e-4a08-8cb7-748919a71b21","op":"private","origin":"broadcast","private":"trade","trade":{"amount":2.71,"amount_int":"271000000","date":1310279340,"item":"BTC","price":14.43,"price_currency":"USD","price_int":"1443000","tid":"1310279340877902","trade_type":"bid","type":"trade"}}

Contains:
  • amount: the traded amount in item (BTC), float, deprecated
  • amount_int: same as amount, but in smallest unit
  • date: unix timestamp of trade
  • item: What was this trade about
  • price: price per unit, float, deprecated
  • price_int: price in smallest unit as integer (5 decimals of USD, 3 in case of JPY)
  • price_currency: currency in which trade was completed
  • tid: Trade id (big integer, which is in fact trade timestamp in microseconds)
  • trade_type: Did this trade result from the execution of a bid or a ask?

Depth update
Code:
{"channel":"24e67e0d-1cad-4cc0-9e7a-f8523ef460fe","depth":{"currency":"USD","item":"BTC","price":"14.43","price_int":"1443000","type":1,"type_str":"ask","volume":"-2.71","volume_int":"-271000000"},"op":"private","origin":"broadcast","private":"depth"}

Contains:
  • currency: the currency affected
  • item: the item (BTC)
  • price: price as a float, deprecated
  • price_int: the price at which volume change happened
  • type: 1=ask 2=bid. Deprecated, see type_str
  • type_str: type of order at this depth, either "ask" or "bid"
  • volume: the volume change as float, deprecated
  • volume_int: volume change in smallest unit

(priv) Order update
Code:
{"channel":"(partial key)","op":"private","order_upd":{"amount":1000,"darkStatus":0,"date":1302836027,"oid":"(oid)","price":0.9899,"status":1},"origin":"broadcast","private":"order_upd"}


This is still under tests, and any element of this websocket API may change anytime.
Ideas/comments are welcome Smiley
533  Economy / Marketplace / Re: FOUND: C++/Qt developer for websocket server project (50~1000BTC) on: April 14, 2011, 07:09:41 AM
Found the guy and got the work done, this offer is now closed.
534  Bitcoin / Project Development / Re: Bitcoin.org server admins wanted on: April 14, 2011, 05:31:22 AM
Thanks to all who have offered help. I'm going through the offers and will contact some of you. New volunteers are still welcome.

Oh hi~ btw I can provide both management & hosting (got a few idle machines here that would definitely hold the load).
535  Bitcoin / Project Development / Re: mtgox API on: April 14, 2011, 05:25:38 AM
Hi,

Sorry for not seeing this thread sooner, I see there's a bug here (when ServerName matches the host name, TLS protocol doesn't work anymore), I fixed it for now by not providing a hostname in the vhost (and I'll try to upgrade openssl to see if it fixes the issue)

This needs openssl 0.9.8j or later. On both ends.

Running openssl 1.0.0d here~
536  Bitcoin / Project Development / Re: mtgox API on: April 13, 2011, 05:46:13 AM
Hi,

Sorry for not seeing this thread sooner, I see there's a bug here (when ServerName matches the host name, TLS protocol doesn't work anymore), I fixed it for now by not providing a hostname in the vhost (and I'll try to upgrade openssl to see if it fixes the issue)


Mark
537  Economy / Marketplace / Re: WANTED: C++/Qt developer for websocket server project (50~1000BTC) on: April 12, 2011, 10:36:14 PM
Could you point to some documentation of this Websocket handshake you want to be implemented, because I still not sure what exactly you want to be done?

http://en.wikipedia.org/wiki/WebSockets

Support "most browsers". This means support of both:
538  Economy / Marketplace / Re: WANTED: C++/Qt developer for websocket server project (50~1000BTC) on: April 12, 2011, 10:05:26 PM
Why not just use WebKit?

It's not a websocket server but client. I need the server part.

Why does the server have to be written in C++/Qt?

Because I want to code the server part myself, there are some abstractions I want to make, and there are many other things I'd like to use this (it'd be useful for a *lot* of things)
539  Economy / Marketplace / Re: WANTED: C++/Qt developer for websocket server project (50~1000BTC) on: April 12, 2011, 01:26:42 PM
Um, I'm not sure what more do you want apart from what QtTcpServer class does? Do you want a HTTP server?

As I said, I need a websocket server. That means using QTcpServer, implementing the base of a HTTP server, and adding support for the websocket fuckedup handshake. I was hoping someone would have that already done somewhere. I may end up doing it myself if nobody takes this up.
540  Economy / Marketplace / FOUND: C++/Qt developer for websocket server project (50~1000BTC) on: April 12, 2011, 09:16:32 AM
I'd need someone to write (or find if it already exists, I'm too lazy to filter Qt results from QuickTime results in Google) a little something for me.

Basically, it'd be an async websocket server in Qt. It should not depend on QtGui (only use QCoreApplication/etc), and allow me to write my own websocket handler.

I'd bid between 50 BTC (for a link to something already existing, opensource, and which works fine) to 1000 BTC (if you make it yourself and produce a quality library, opensource or not - if opensource it shouldn't be under GPL, use a real license like BSD, X11 or WTFPL). In between amounts for in between results. First come first served, etc.

Some additionnal details:
  • Each connected socket should be represented by an abstract object, with slots for incoming data, and the ability to send data to the endpoint
  • No form of serialization is required, I'll handle that myself
  • It should use QTcpSocket or similar with signals and never block (in order to scale nicely)
  • My main problem is to implement the WS handshake. Whoever wrote the spec was on pot and the thing is insane. Do a basic framework accepting tcp connections and handling the websocket handshake as implemented in major browsers (and without accepting invalid stuff) and you'll get your BTC (not the max, but not the min)
  • The thing shouldn't crash if client connects and throw random stuff, and timeout clients nicely if they do not handshake

Let me know if you need additional details.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!