Pages:
Author

Topic: Round 1 - BOUNTY 10 x .05 BTC to betatest my exchange and provide feedback (Read 2179 times)

legendary
Activity: 1050
Merit: 1000
You are WRONG!
Please feel free to msg me if you would like me to test the exchange!
or just start to test it, indicasteve gives rewards.
member
Activity: 84
Merit: 10
Please feel free to msg me if you would like me to test the exchange!
full member
Activity: 140
Merit: 100
Thanks...I fixed those bugs...  I was missing a validation rule on the instant trade form.

But, I want to re-write parts of the site to optimize the app for the way GAE datastore works.

I would not recommend GAE for something like making an exchange due to the difficulties in writing to a distributed database...but since I'm in for a nickle, I might as well be in for a dime.

It's pretty tricky coding to make transactions work consistently on Big Table because it is distributed across many servers globally.  It's very different than working with MySql where you can simply lock a table and do a transaction.  There is no such thing as table locks on Big Table.  And there is no such thing as querys with joins and you must forget everything you have already learned about relational database management.

There is however a concept of 'entity groups' which are automatically locked when you use them in a transaction.  You 'could' put all your users accounts into the same entity group so that when you perform a transaction, all the accounts are locked until the transaction completes and comitted to Big Table. 

That would seem ok, but there is a huge latency writing to Big Table and you can only do 5-10 writes per second to a single entity group.  After that, your DB puts start to fail and return errors. If you don't implement transactions properly, things gets really nasty when only half of the transaction fails.  This approach obviously does not scale well.

There are solutions to this using methods of rolling back transactions that fail and rolling forward transactions that succeed.   So, before I start round 2, I'm going to be optimizing the site to ensure this thing will scale properly to ensure I don't have to lock the entire user database to make each transaction.

I found a decent article that explains the problem and has some sample code that I will be implementing before I open for testing again. http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine

Cheers!

Steve

 
legendary
Activity: 1050
Merit: 1000
You are WRONG!
Thanks guys...back from my nap.  I'm going to rip this apart and fix it this evening.

The site is down until I fix the form validations and other wonky errors that I have missed.

I should have tested it more myself before asking for your guys help instead of making myself look like a noob making noob mistakes.  But at least your comments are giving me incentive to get to work on it asap.

If I owe any of my testers any btc love, please drop your address on me.  I'll be around a little later.



you don't owe me anything, im doing it because i like to test things and find flaws.
but a little reward is always appreciated. Smiley

thanks for the 0.15btc Smiley
full member
Activity: 140
Merit: 100
Thanks guys...back from my nap.  I'm going to rip this apart and fix it this evening.

The site is down until I fix the form validations and other wonky errors that I have missed.

I should have tested it more myself before asking for your guys help instead of making myself look like a noob making noob mistakes.  But at least your comments are giving me incentive to get to work on it asap.

If I owe any of my testers any btc love, please drop your address on me.  I'll be around a little later.


legendary
Activity: 1050
Merit: 1000
You are WRONG!
On Market Buy USD:

Code:
You requested to Market Buy 1.0 BTC.

You will accept 13.5 USD per BTC.

The fee to place this order is 0.14 USD

Can NOT complete your order! Error: You can not place a buy order higher than 0.0 USD! Please our instant trade system instead!
i already reported that once, its because there is no sells.
hero member
Activity: 854
Merit: 500
On Market Buy USD:

Code:
You requested to Market Buy 1.0 BTC.

You will accept 13.5 USD per BTC.

The fee to place this order is 0.14 USD

Can NOT complete your order! Error: You can not place a buy order higher than 0.0 USD! Please our instant trade system instead!
legendary
Activity: 1050
Merit: 1000
You are WRONG!
my CAD balance is now NaN
and i can apparently place any order i want. Smiley i have infinite amounts of money at my disposal.
legendary
Activity: 1050
Merit: 1000
You are WRONG!
manged to pplace a infinite hige order. at BTC-CAD
ate   Offers to Sell
Quote
1000000.0   1.99966976
4e+60   1.00000000
inf   1.00000000
legendary
Activity: 1050
Merit: 1000
You are WRONG!
1. empty all the orders
2. place 1 large order
3. buy that order!
4. ??:
Quote
You requested to Instant Buy 1.0 BTC.

Transaction - Instant Buy (+) BTC-CAD 1.0 BTC @ 1000000.0 CAD per BTC
Order Total:1000000.0

Your Instant Order was completely Filled!
legendary
Activity: 1288
Merit: 1227
Away on an extended break
Thanks for your input guys.  Its late here so I will have to catch up and square up  in the morning.

Payment sent to johnthedog...thanks!  I was wondering if anyone would notice!  Yes, I haven't bothered at all to make the site SEO friendly yet.  No 'title' on my pages and no favorite.ico just testing the basics.

mizike29...send me an address for payment!  thanks!



Thanks Grin I think you should check for input values too. Managed to get :


Available USD   USD in Market   Pending Withdrawal   Total Equity   Extra   Extra2
114.55   -2.88657986403e-15   0.0   114.55   extra   extra2

in my account summary too. Ain't too good to prevent sql injection attacks and so lol Smiley
full member
Activity: 140
Merit: 100
Hey Kokjo...  thanks for alerting me to the showstopper.  The demo order book emptied and the buy price went to 0 and my chart class took a crap and crashed the app.

I nerfed the charts for now and will fix the bug before the next round of trials...but I really hope the price of BTC wont hit 0!
legendary
Activity: 1050
Merit: 1000
You are WRONG!
I might be fucked anyway...it's late at night and I still can't sleep so I went looking for some stats and found this: http://www.statcan.gc.ca/pub/85-005-x/2011001/article/11454-eng.htm

Most recent Statistics Canada report on money laundering.  .. it's an interesting read indeed.

One quote caught my interest:
"According to the Criminal Code, money laundering, also referred to as laundering proceeds of crime, occurs when an individual or group uses, transfers, sends, delivers, transports, transmits, alters, disposes of or otherwise deals with, any property or proceeds of any property that was obtained as a result of criminal activity. This is done with the intent to conceal or convert illegal assets into legitimate funds."

That kinda sux.

However, I am determined to continue on with BitSwaps and hope to assist making bitcoins available to more people.

I must however affirm that myself nor BitSwaps has any intent to participate in illegal activities and we strictly adhere to the guidelines as set out by fintrac: http://www.fintrac-canafe.gc.ca/reporting-declaration/Info/rptEFT-eng.asp
that means keep a log! and give it to the right people when they ask Smiley
say bad guy stole 100btc.
he then exchange them for 1400 usd, on your exchange.
and transfered them out. if you have a log that can trace him and his funds, then you will be fine.

as long as you have the log about who he is, and how he did transfered his funds out, you will be safe.
there are some safe harboring laws, im not a master of Canadian law, but there always is.
full member
Activity: 140
Merit: 100
I might be fucked anyway...it's late at night and I still can't sleep so I went looking for some stats and found this: http://www.statcan.gc.ca/pub/85-005-x/2011001/article/11454-eng.htm

Most recent Statistics Canada report on money laundering.  .. it's an interesting read indeed.

One quote caught my interest:
"According to the Criminal Code, money laundering, also referred to as laundering proceeds of crime, occurs when an individual or group uses, transfers, sends, delivers, transports, transmits, alters, disposes of or otherwise deals with, any property or proceeds of any property that was obtained as a result of criminal activity. This is done with the intent to conceal or convert illegal assets into legitimate funds."

That kinda sux.

However, I am determined to continue on with BitSwaps and hope to assist making bitcoins available to more people.

I must however affirm that myself nor BitSwaps has any intent to participate in illegal activities and we strictly adhere to the guidelines as set out by fintrac: http://www.fintrac-canafe.gc.ca/reporting-declaration/Info/rptEFT-eng.asp
legendary
Activity: 1050
Merit: 1000
You are WRONG!
look i made it crash!
i sold to myself! Cheesy
there must be some kind of reward now! Smiley
Quote
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 700, in __call__
    handler.get(*groups)
  File "/base/data/home/apps/s~bitswaps/1.352184177366039757/bitswaps.py", line 409, in get
    self.response.out.write(Make5minchart("BTC-CAD"))
  File "/base/data/home/apps/s~bitswaps/1.352184177366039757/bitswaps.py", line 201, in Make5minchart
    datasell+=str(result.btccadsell*4)+","
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
legendary
Activity: 1050
Merit: 1000
You are WRONG!
Quote
You requested to Market Buy 10.0 BTC.

You will accept 12.0 CAD per BTC.

The fee to place this order is 1.20 CAD

Can NOT complete your order! Error: You can not place a buy order higher than 0.0 CAD! Please our instant trade system instead!
seems that i cannot place a bid, when there is no asks.
legendary
Activity: 1050
Merit: 1000
You are WRONG!
there is also a bug in your fee handling, when instant sell.
Quote
Time   Type   Amount   USD Balance   CAD Balance   BTC Balance
1312018664   Instant Sell (+)   7.24 USD   11.02   144.44   0.43
1312018664   Instant Sell (-)   -0.43 BTC   3.78   144.44   6.82787160144e-15
legendary
Activity: 1050
Merit: 1000
You are WRONG!
Upon looking at the transaction history and my code, the error occurred when you tried to withdraw BTC.

The 'PendingWithdrawl' class wasn't tested properly by myself and a bug got through that allowed an absurd small remainder to remain upon the calculation of the withdrawal fee.

I've sent a bonus .05 BTC for your insightful input and bug catching abilities!.

thanks! Cheesy
full member
Activity: 140
Merit: 100
Thanks for your input guys.  Its late here so I will have to catch up and square up  in the morning.

Payment sent to johnthedog...thanks!  I was wondering if anyone would notice!  Yes, I haven't bothered at all to make the site SEO friendly yet.  No 'title' on my pages and no favorite.ico just testing the basics.

mizike29...send me an address for payment!  thanks!

legendary
Activity: 1288
Merit: 1227
Away on an extended break
'You requested to Instant Buy 1e-28 BTC.

Transaction - Instant Buy (+) BTC-CAD 1e-28 BTC @ 13.57 CAD per BTC
Order Total:0.0

Your Instant Order was completely Filled!'

You should implement rounding more elegantly.
*EDIT: Before i forget, change the title on the browsers too. Having the google icon and the url as the title aren't that convincing from a consumer viewpoint.
Pages:
Jump to: