|
April 29, 2013, 01:23:10 PM |
|
I think the toughest part is the transaction logic against your database. I primarily use MS SQL and for something like this most of the time goes into the transaction code so that either all steps of the transaction succeed, or the whole thing fails and no change is made. I do alot of work verifying that the changes my code makes to the DB are actually the ones i expected to happen. In a current project i am doing against MtGox API, i make trades and then cross check all of the values in my wallet, transaction log and each element of the mtgox completed order record to make sure that the order completely executed (sometimes there are multiple actual transactions that happen to fulfill one mtGox order, and they return the results of each individual transaction). Being able to PROVE that your system does exactly what it's supposed to do every time while preventing any undesirable changes to the DB via bad data, unexpected values or values out of the range of your normal expected values is very important.
|