Bitcoin Forum
November 09, 2024, 04:39:49 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Australian Bitcoin Exchange (alpha) -- please help test API!  (Read 2414 times)
pixelglow (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
July 15, 2011, 12:53:28 PM
Last edit: July 21, 2011, 10:04:47 AM by pixelglow
 #1

What is it?

I'm working on a new Australian bitcoin exchange, on both the business and technical ends. There will be a spiffy new website front-end that talks to a back-end via a RESTful JSON API. I'm aiming for fast transfer turnaround, an architecture that makes sense for robust and secure service, and a super interactive and easy-to-use front end.

Currently I've only got part of the back-end ready for testing.

How can you help?

I need some testers who are comfortable with using curl and friends on the command-line to give the test web service a good bashing. In particular, I need to know whether the accounts, adding/withdrawing funds, orders and trades work the way you expect. You don't have to be an Australian, but it would help since this market is for you. You'll also need some testnet bitcoins handy (which you can get from the faucet).

How do I start?

The test exchange is currently hosted in an AWS micro instance here: ec2-50-16-82-86.compute-1.amazonaws.com. Each new account starts with 5000 AUD (fake of course) and 0 BTC, but you can add or withdraw testnet bitcoins to the account. The fees are set at arbitrary percentages as well.

Public API
These are actions you can take without authenticating. Since this is a RESTful API, use the curl -X option to set the method (POST, GET etc.) and use the URL listed.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/
  • POST: To create a new account for yourself, POST your account details as a JSON object e.g. {"name":"charlesxavier", "password":"professorx","email":"charles@xmen.com","withdrawBitcoinAddress":"AABBCCDDEE","withdrawDirectCreditBSB":"000-000","withdrawDirectCreditAccount":"0001","withdrawDirectCreditTitle":"C. Xavier"}. If there any errors, you should get an error message telling you what went wrong, otherwise it will reply with a 201 Created response and the Location: header tells you where the account was created.

http://ec2-50-16-82-86.compute-1.amazonaws.com/trade/
  • GET: This lists all the trades up to a week old in the system and should conform to BitcoinCharts.

http://ec2-50-16-82-86.compute-1.amazonaws.com/order/
  • GET: This lists entire order book and should conform to BitcoinCharts.

Account API
These are actions you can only take when authenticated. Use Basic authentication with the name and password you gave when you registered the account above.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/
  • GET: retrieve your account details, including details added by the system. Use your own account name above of course.
  • PUT: change account details (not yet implemented).
  • DELETE: delete the account (not yet implemented).

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/addBitcoin/
  • GET: list any bitcoins you have added into your account. Use the addBitcoinAddress given when you retrieve your account details to add bitcoins to your account. Note we're testing with testnet bitcoins only and will wait for 6 confirmations before entering the system.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/withdrawBitcoin/
  • GET: list any bitcoins you have withdrawn from your account.
  • POST: to withdraw bitcoins, POST the details as a JSON object e.g. {"btcAmount":10}. This uses the withdrawBitcoinAddress given when you set up your account details to withdraw bitcoins. Note we're testing with testnet bitcoins only. If successful you'll get a 201 Created response with Location: header set to where the withdrawal is.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/withdrawBitcoin/23/
  • GET: retrieve details of a particular withdrawal.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/bid/
  • GET: list any outstanding bids you have made in the system.
  • POST: to create a new bid, POST the bid details as a JSON object e.g. {"amount":100, "bidPrice":10.0}. If successful you should get a 201 Created response with Location of the created bid.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/bid/23/
  • GET: retrieve the details of a particular bid.
  • DELETE: withdraw the bid (not yet implemented).

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/bid/23/trade/
  • GET: list any trades that were made against your particular bid.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/bid/23/trade/45/
  • GET: retrieve the details of a particular bid trade.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/ask/
  • GET: list any outstanding asks you have made in the system.
  • POST: to create a new ask, POST the bid details as a JSON object e.g. {"amount":100, "askPrice":10.0}. If successful you should get a 201 Created response with Location of the created ask.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/ask/23/
  • GET: retrieve the details of a particular ask.
  • DELETE: withdraw the ask (not yet implemented).

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/ask/23/trade/
  • GET: list any trades that were made against your particular ask.

http://ec2-50-16-82-86.compute-1.amazonaws.com/account/charlesxavier/ask/23/trade/45/
  • GET: retrieve the details of a particular ask trade.

Thanks for all your help and feedback!


pixelglow (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
July 15, 2011, 01:11:27 PM
 #2

Oh and if you want to donate real bitcoins to the cause, my address is: 1KPsqA8eRzTAeZXyWuL2NxdgYxv5PW8HVb
RJau
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
July 15, 2011, 01:49:53 PM
 #3

Australia represent Smiley Nice work.

Not having a go at all, I'm not a trader, but whats the point of having BitCoin exchanges setup for different countries/regions?

Are you going to offer localized options to deposit funds? If so Smiley Cant wait to use that part.
adrian33
Member
**
Offline Offline

Activity: 118
Merit: 10


View Profile
July 15, 2011, 02:11:12 PM
 #4

I wonder if you open-sourced the project you'd be able to collect more donations. Hope it works out for you.

pixelglow (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
July 15, 2011, 02:34:47 PM
 #5

Are you going to offer localized options to deposit funds? If so Smiley Cant wait to use that part.

Yes, exactly. Most of the international exchanges have significant deposit fees and/or long deposit times. By siting this purely in Australia, I hope to overcome these issues.
pixelglow (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
July 20, 2011, 08:27:40 AM
 #6

I wonder if you open-sourced the project you'd be able to collect more donations.

I'm a big fan of open development, but not always open source. In open development, you release early and often and take people's feedback all the time. In open source, you expose your source which may not result in a commercially viable enterprise, and you often don't get many contributions until the project is big enough and/or the code is easy enough to get into.

I intend to make some money through minimal fees. Hey I gotta feed the wife and kids.

Is there any interest out there in open-sourcing or even licensing this? Is this different enough from Intersango etc.?
haydent
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile
July 21, 2011, 09:58:32 AM
Last edit: July 22, 2011, 06:05:08 AM by haydent
 #7

heres a php interface i just whipped up: not complete yet and really just for testing.

http://dev.hthring.com/abcx/

2x Gigabyte 6950 OC @ 920/450 w/ ati tray tools (1 shader modded) - 760Mhs on ozco.in 0% fee aus pool
btc: 1HS5Brzcsh7XkJn566XYbvfpa2JuBRBdss
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!