blockchain , sdchain cpp sdk and demo

Dependencies:   EthernetInterface mbed-rtos mbed uniqueCPUID

Fork of bcsdk by SDchain C Plus Plus Team

Committer:
webmaster
Date:
Wed Aug 08 09:51:32 2018 +0800
Revision:
18:ec6cd7cfe3f8
Parent:
15:7ec76c840343
rm demo files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsteiert 0:28bc7ce77e20 1 #include "mbed.h"
gsteiert 0:28bc7ce77e20 2 #include "EthernetInterface.h"
MrAI 11:6d9cefb14158 3 //#include "SDFileSystem.h"
gsteiert 0:28bc7ce77e20 4 #include <stdio.h>
webmaster 9:d7468574ef8f 5 #include "uniqueCPUID.h"
webmaster 15:7ec76c840343 6 #include <sstream> // header of stringsteam
webmaster 8:f2a567ee3a46 7
webmaster 8:f2a567ee3a46 8 #include <iostream>
webmaster 8:f2a567ee3a46 9 #include <string>
webmaster 8:f2a567ee3a46 10 #include "UnitTest.h"
webmaster 8:f2a567ee3a46 11 //#include "BlockChain.h"
webmaster 8:f2a567ee3a46 12 #include "MockHsm.h"
webmaster 10:aabd720e632c 13 #include "Asset.h"
webmaster 10:aabd720e632c 14 #include "Transaction.h"
webmaster 10:aabd720e632c 15 #include "Account.h"
webmaster 10:aabd720e632c 16 #include "Key.h"
MrAI 12:1b24ea479a59 17 #include "Payment.h"
MrAI 12:1b24ea479a59 18 #include "ServerInfo.h"
MrAI 12:1b24ea479a59 19 #include "Order.h"
webmaster 8:f2a567ee3a46 20
webmaster 8:f2a567ee3a46 21 using namespace std;
gsteiert 0:28bc7ce77e20 22
gsteiert 0:28bc7ce77e20 23 #define HTTPD_SERVER_PORT 80
gsteiert 0:28bc7ce77e20 24 #define HTTPD_MAX_REQ_LENGTH 1023
gsteiert 0:28bc7ce77e20 25 #define HTTPD_MAX_HDR_LENGTH 255
gsteiert 0:28bc7ce77e20 26 #define HTTPD_MAX_FNAME_LENGTH 127
gsteiert 3:4f71a37a1ed2 27 #define HTTPD_MAX_DNAME_LENGTH 127
gsteiert 3:4f71a37a1ed2 28
webmaster 10:aabd720e632c 29 #define DEBUG_LOG 1
webmaster 10:aabd720e632c 30
webmaster 8:f2a567ee3a46 31 const char* ECHO_SERVER_ADDRESS = "192.168.31.185";
webmaster 8:f2a567ee3a46 32 const int ECHO_SERVER_PORT = 10003;
webmaster 8:f2a567ee3a46 33
gsteiert 3:4f71a37a1ed2 34 Serial uart(USBTX, USBRX);
gsteiert 0:28bc7ce77e20 35
gsteiert 6:ca17ce165ebc 36 //SDFileSystem sd(p5, p6, p7, p8, "sd"); // LPC1768 MBD2PMD
gsteiert 5:27b09a0f3fb6 37 //SDFileSystem sd(P0_18, P0_17, P0_15, P0_16, "sd"); // Seeeduino Arch Pro SPI2SD
MrAI 11:6d9cefb14158 38 //SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); // K64F
gsteiert 3:4f71a37a1ed2 39
gsteiert 0:28bc7ce77e20 40 EthernetInterface eth;
gsteiert 0:28bc7ce77e20 41 TCPSocketServer server;
gsteiert 0:28bc7ce77e20 42 TCPSocketConnection client;
webmaster 8:f2a567ee3a46 43 TCPSocketConnection my_client;
gsteiert 0:28bc7ce77e20 44
gsteiert 0:28bc7ce77e20 45 char buffer[HTTPD_MAX_REQ_LENGTH+1];
gsteiert 0:28bc7ce77e20 46 char httpHeader[HTTPD_MAX_HDR_LENGTH+1];
gsteiert 3:4f71a37a1ed2 47 char fileName[HTTPD_MAX_FNAME_LENGTH+1];
gsteiert 3:4f71a37a1ed2 48 char dirName[HTTPD_MAX_DNAME_LENGTH+1];
gsteiert 0:28bc7ce77e20 49 char *uristr;
gsteiert 0:28bc7ce77e20 50 char *eou;
gsteiert 0:28bc7ce77e20 51 char *qrystr;
gsteiert 0:28bc7ce77e20 52
gsteiert 0:28bc7ce77e20 53 FILE *fp;
gsteiert 0:28bc7ce77e20 54 int rdCnt;
gsteiert 0:28bc7ce77e20 55
webmaster 8:f2a567ee3a46 56 // function declation
webmaster 8:f2a567ee3a46 57 int test_socket_client(void);
webmaster 8:f2a567ee3a46 58 int socket_init();
webmaster 8:f2a567ee3a46 59 int socket_fini();
webmaster 8:f2a567ee3a46 60
webmaster 10:aabd720e632c 61
webmaster 9:d7468574ef8f 62 void test_uuid()
webmaster 9:d7468574ef8f 63 {
webmaster 9:d7468574ef8f 64 char pUUID[128] = {0};
webmaster 9:d7468574ef8f 65 getUniqueIDAsStr(pUUID);
webmaster 9:d7468574ef8f 66 printf("CPUID = %s \n",pUUID);
webmaster 9:d7468574ef8f 67 //printUniqueId(uart);
webmaster 9:d7468574ef8f 68 }
webmaster 8:f2a567ee3a46 69
webmaster 10:aabd720e632c 70 int test_MockHsm()
webmaster 10:aabd720e632c 71 {
webmaster 10:aabd720e632c 72 MockHsm mh;
webmaster 10:aabd720e632c 73 mh.setAlias("t_key_6");
webmaster 10:aabd720e632c 74 cout<<mh.getAlias()<<endl;
webmaster 10:aabd720e632c 75 cout<<mh.createKey()<<endl;
webmaster 10:aabd720e632c 76 cout<< mh.listKeys() <<endl;
webmaster 10:aabd720e632c 77 return 0;
webmaster 10:aabd720e632c 78 }
webmaster 10:aabd720e632c 79
webmaster 10:aabd720e632c 80 int test_Asset()
webmaster 10:aabd720e632c 81 {
webmaster 10:aabd720e632c 82 Asset asset;
webmaster 10:aabd720e632c 83 asset.setAlias("t_asset_6");
webmaster 10:aabd720e632c 84
webmaster 10:aabd720e632c 85 cout<< asset.createAsset() << endl;
webmaster 10:aabd720e632c 86 cout<< asset.listAssets() << endl;
webmaster 10:aabd720e632c 87
webmaster 10:aabd720e632c 88
webmaster 10:aabd720e632c 89 return 0;
webmaster 10:aabd720e632c 90 }
webmaster 10:aabd720e632c 91
webmaster 10:aabd720e632c 92 int test_Account()
webmaster 10:aabd720e632c 93 {
webmaster 10:aabd720e632c 94 Key key;
webmaster 10:aabd720e632c 95 key.setAlias("t_key");
webmaster 10:aabd720e632c 96 key.listKeys();
webmaster 10:aabd720e632c 97
webmaster 10:aabd720e632c 98 Account act(key);
webmaster 10:aabd720e632c 99 act.setAlias("t_acc_8");
webmaster 10:aabd720e632c 100 act.createAccount();
webmaster 10:aabd720e632c 101 act.listAccounts();
webmaster 10:aabd720e632c 102
webmaster 10:aabd720e632c 103 return 0;
webmaster 10:aabd720e632c 104 }
webmaster 10:aabd720e632c 105
webmaster 10:aabd720e632c 106 int test_transaction(string type)
webmaster 10:aabd720e632c 107 {
webmaster 10:aabd720e632c 108 Transaction ts;
webmaster 10:aabd720e632c 109 //cout << ts.buildTransaction() << endl;
webmaster 10:aabd720e632c 110 ts.buildTransaction(type);
webmaster 10:aabd720e632c 111 ts.signTransaction();
webmaster 10:aabd720e632c 112 ts.submitTransaction();
webmaster 10:aabd720e632c 113 ts.listTransactions();
webmaster 10:aabd720e632c 114 return 0;
webmaster 10:aabd720e632c 115 }
webmaster 10:aabd720e632c 116
webmaster 10:aabd720e632c 117 int test_transaction()
webmaster 10:aabd720e632c 118 {
webmaster 10:aabd720e632c 119 vector<Actions> vActions;
webmaster 10:aabd720e632c 120 Actions act;
webmaster 10:aabd720e632c 121 MbedJSONValue reference_data;
webmaster 10:aabd720e632c 122
webmaster 10:aabd720e632c 123 act.accounts_alias = "t_acc_1";
webmaster 10:aabd720e632c 124 act.amount = 51;
webmaster 10:aabd720e632c 125 act.asset_alias = "t_asset";
webmaster 10:aabd720e632c 126 act.reference_data = reference_data;
webmaster 10:aabd720e632c 127 act.type = "spend_account";
webmaster 10:aabd720e632c 128 vActions.push_back(act);
webmaster 10:aabd720e632c 129
webmaster 10:aabd720e632c 130 Actions act1 = {"t_acc_2", "t_asset", 49, reference_data, "spend_account" };
webmaster 10:aabd720e632c 131 Actions act2 = {"tom", "t_asset", 80, reference_data, "control_account"};
webmaster 10:aabd720e632c 132 Actions act3 = {"Jerry", "t_asset", 20, reference_data, "control_account"};
webmaster 10:aabd720e632c 133
webmaster 10:aabd720e632c 134 vActions.push_back(act1);
webmaster 10:aabd720e632c 135 vActions.push_back(act2);
webmaster 10:aabd720e632c 136 vActions.push_back(act3);
webmaster 10:aabd720e632c 137 printf("=============2========\r\n");
webmaster 10:aabd720e632c 138 Transaction ts;
webmaster 10:aabd720e632c 139 ts.buildTransaction(vActions);
webmaster 10:aabd720e632c 140 ts.signTransaction();
webmaster 10:aabd720e632c 141 ts.submitTransaction();
webmaster 10:aabd720e632c 142 ts.listTransactions();
webmaster 10:aabd720e632c 143
webmaster 10:aabd720e632c 144 return 0;
webmaster 10:aabd720e632c 145 }
webmaster 10:aabd720e632c 146
webmaster 10:aabd720e632c 147
webmaster 15:7ec76c840343 148 // cover int to string
webmaster 15:7ec76c840343 149 void int2str(const int &int_temp,string &string_temp)
webmaster 15:7ec76c840343 150 {
webmaster 15:7ec76c840343 151 stringstream stream;
webmaster 15:7ec76c840343 152 stream<<int_temp;
webmaster 15:7ec76c840343 153 string_temp=stream.str(); //此处也可以用 stream>>string_temp
webmaster 15:7ec76c840343 154 }
MrAI 12:1b24ea479a59 155
webmaster 15:7ec76c840343 156 // cover string to int
webmaster 15:7ec76c840343 157 void str2int(int &int_temp,const string &string_temp)
webmaster 15:7ec76c840343 158 {
webmaster 15:7ec76c840343 159 stringstream stream(string_temp);
webmaster 15:7ec76c840343 160 stream>>int_temp;
webmaster 15:7ec76c840343 161 }
webmaster 15:7ec76c840343 162
webmaster 15:7ec76c840343 163 // cover string to long
webmaster 15:7ec76c840343 164 void str2long(long &long_temp,const string &string_temp)
webmaster 15:7ec76c840343 165 {
webmaster 15:7ec76c840343 166 stringstream stream(string_temp);
webmaster 15:7ec76c840343 167 stream>>long_temp;
webmaster 15:7ec76c840343 168 }
webmaster 15:7ec76c840343 169
webmaster 15:7ec76c840343 170
webmaster 15:7ec76c840343 171 long sd_account()
MrAI 12:1b24ea479a59 172 {
MrAI 12:1b24ea479a59 173 string balance = "";
MrAI 12:1b24ea479a59 174 Account act;
MrAI 12:1b24ea479a59 175 balance = act.getBalance();
MrAI 12:1b24ea479a59 176 cout << "Extract json content from http message:"<<balance.c_str() << endl;
MrAI 12:1b24ea479a59 177 if (balance.empty())
MrAI 12:1b24ea479a59 178 {
MrAI 12:1b24ea479a59 179 return -1;
MrAI 12:1b24ea479a59 180 }
MrAI 12:1b24ea479a59 181 // decode content json
MrAI 12:1b24ea479a59 182 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 183 //string err = parse(objJson, balance.c_str());
MrAI 12:1b24ea479a59 184 //int iLedger = objJson["ledger"].get<int>();
MrAI 12:1b24ea479a59 185 //bool bSuccess = objJson["success"].get<bool>();
MrAI 12:1b24ea479a59 186 //int iCurrenciesNum = objJson["balances"].size();
MrAI 12:1b24ea479a59 187 /*for (int i = 0;i < iCurrenciesNum; i++)
MrAI 12:1b24ea479a59 188 {
MrAI 12:1b24ea479a59 189 string value = objJson["balances"][i]["value"].get<string>();
MrAI 12:1b24ea479a59 190 string currency = objJson["balances"][i]["currency"].get<string>();
MrAI 12:1b24ea479a59 191 string counterparty = objJson["balances"][i]["counterparty"].get<string>();
MrAI 12:1b24ea479a59 192 cout << i << ":" << currency << "--" << value << "--" << counterparty << endl;
MrAI 12:1b24ea479a59 193 }*/
MrAI 12:1b24ea479a59 194 string err = act.getParseMbedJson(objJson, balance.c_str());
MrAI 12:1b24ea479a59 195 int iLedger = act.getLedger(objJson);
MrAI 12:1b24ea479a59 196 bool bSuccess = act.getRequestRet(objJson);
MrAI 12:1b24ea479a59 197 int iCurrenciesNum = act.getBalanceSize(objJson,"balances");
MrAI 13:e77c7ae3a285 198 char pLedger[16] = {0};
MrAI 13:e77c7ae3a285 199 sprintf(pLedger, "%d", iLedger);
MrAI 13:e77c7ae3a285 200 cout<<"Ledger is :"<<pLedger<<endl;
webmaster 15:7ec76c840343 201 long sda = 0;
MrAI 12:1b24ea479a59 202 for (int i = 0; i < iCurrenciesNum; i++)
MrAI 12:1b24ea479a59 203 {
MrAI 12:1b24ea479a59 204 string value = act.getBalanceArray(objJson, "balances", i, "value");
MrAI 12:1b24ea479a59 205 string currency = act.getBalanceArray(objJson, "balances", i, "currency");
MrAI 12:1b24ea479a59 206 string counterparty = act.getBalanceArray(objJson, "balances", i, "counterparty");
MrAI 12:1b24ea479a59 207 cout << "The " << i <<" record:" << endl << "value:" << value << endl << "currency:"<<currency<<endl
MrAI 12:1b24ea479a59 208 << "counterparty:" << counterparty << endl;
webmaster 15:7ec76c840343 209 if("SDA" == currency) str2long(sda,value);
MrAI 12:1b24ea479a59 210 }
webmaster 15:7ec76c840343 211 return sda;
MrAI 12:1b24ea479a59 212 }
MrAI 12:1b24ea479a59 213
MrAI 12:1b24ea479a59 214 int sd_wallet()
MrAI 12:1b24ea479a59 215 {
MrAI 14:59412fcf8fa2 216
MrAI 12:1b24ea479a59 217 string strJson = "";
MrAI 14:59412fcf8fa2 218 cout<<"sd_wallet func"<<endl;
MrAI 12:1b24ea479a59 219 Account act;
MrAI 14:59412fcf8fa2 220 cout<<"act.getWallet()...begin"<<endl;
MrAI 12:1b24ea479a59 221 strJson = act.getWallet ();
MrAI 14:59412fcf8fa2 222 cout<<"act.getWallet()...end"<<endl;
MrAI 12:1b24ea479a59 223 cout << "Extract json content from http message:"<<strJson.c_str() << endl;
MrAI 12:1b24ea479a59 224 if (strJson.empty())
MrAI 12:1b24ea479a59 225 {
MrAI 12:1b24ea479a59 226 return -1;
MrAI 12:1b24ea479a59 227 }
MrAI 12:1b24ea479a59 228 // decode content json
MrAI 12:1b24ea479a59 229 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 230 // string err = parse(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 231 // bool bSuccess = objJson["success"].get<bool>();
MrAI 12:1b24ea479a59 232 // if (bSuccess)
MrAI 12:1b24ea479a59 233 // {
MrAI 12:1b24ea479a59 234 // string address = objJson["wallet"]["address"].get<string>();
MrAI 12:1b24ea479a59 235 // string secret = objJson["wallet"]["secret"].get<string>();
MrAI 12:1b24ea479a59 236 // cout << "wallet:" << address << "--" << secret << endl;
MrAI 12:1b24ea479a59 237 // }
MrAI 12:1b24ea479a59 238 string err = act.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 239 bool bSuccess = act.getRequestRet(objJson);
MrAI 12:1b24ea479a59 240 if (bSuccess)
MrAI 12:1b24ea479a59 241 {
MrAI 12:1b24ea479a59 242 string address1 = act.getKeyValue(objJson, "wallet", "address");
MrAI 12:1b24ea479a59 243 string secret1 = act.getKeyValue(objJson, "wallet", "secret");
MrAI 12:1b24ea479a59 244 cout << "address:" << address1 << endl << "secret:" << secret1 << endl;
MrAI 12:1b24ea479a59 245 }
MrAI 12:1b24ea479a59 246
MrAI 12:1b24ea479a59 247 return 0;
MrAI 12:1b24ea479a59 248 }
MrAI 12:1b24ea479a59 249
MrAI 12:1b24ea479a59 250 int sd_postpayment()//支付请求
MrAI 12:1b24ea479a59 251 {
MrAI 12:1b24ea479a59 252 string strJson = "";
MrAI 12:1b24ea479a59 253 Payment pay;
MrAI 12:1b24ea479a59 254 MbedJSONValue mbJson;
MrAI 12:1b24ea479a59 255 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 256 string secret = "sh7dqVn8mhg6BqGfAQyaYVUwK2zkR";
MrAI 12:1b24ea479a59 257 string src_acc = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 258 string dst_acc = "69Hu8QsnEZUP4f3AVYSW7rkpLVm6DAEq9y";
MrAI 12:1b24ea479a59 259 string amount = "20";
MrAI 12:1b24ea479a59 260 string MemoType = "memos";
MrAI 12:1b24ea479a59 261 string MemoData = "memos";
MrAI 12:1b24ea479a59 262 string strWallet = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 263 string strUrl = "/v1/accounts/payments/";
MrAI 12:1b24ea479a59 264 pay.SetJsonBody(mbJson, secret, src_acc, dst_acc, amount, MemoType, MemoData);
MrAI 12:1b24ea479a59 265 strJson = pay.PostPayment(mbJson, strUrl, strWallet,"");
MrAI 12:1b24ea479a59 266 if (strJson.empty())
MrAI 12:1b24ea479a59 267 {
MrAI 12:1b24ea479a59 268 return -1;
MrAI 12:1b24ea479a59 269 }
MrAI 12:1b24ea479a59 270 string err = pay.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 271 bool bSuccess = pay.getRequestRet(objJson);
MrAI 12:1b24ea479a59 272 if (bSuccess)
MrAI 12:1b24ea479a59 273 {
MrAI 12:1b24ea479a59 274 string hash = pay.getKeyValue(objJson, "hash");
MrAI 12:1b24ea479a59 275 string status_url = pay.getKeyValue(objJson, "status_url");
MrAI 12:1b24ea479a59 276 cout << "hash:" << hash << endl;
MrAI 12:1b24ea479a59 277 cout << "status_url:" << status_url << endl;
MrAI 12:1b24ea479a59 278 }
MrAI 12:1b24ea479a59 279 return 0;
MrAI 12:1b24ea479a59 280 }
MrAI 12:1b24ea479a59 281
MrAI 12:1b24ea479a59 282 int sd_getpaymentinfo()
MrAI 12:1b24ea479a59 283 {
MrAI 12:1b24ea479a59 284 Payment pay;
MrAI 12:1b24ea479a59 285 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 286 string strJson = "";
MrAI 12:1b24ea479a59 287 string strWallet = "69Hu8QsnEZUP4f3AVYSW7rkpLVm6DAEq9y";
MrAI 12:1b24ea479a59 288 string strUrl = "/v1/accounts/payments/";
MrAI 12:1b24ea479a59 289 string strHash = "EF252979355F2666486F69E9C96D137265214DE65B14E1136ECCDCE84F09AD11";
MrAI 12:1b24ea479a59 290 strJson = pay.GetPaymentInfo(strUrl, strWallet, strHash);
MrAI 12:1b24ea479a59 291 if (strJson.empty())
MrAI 12:1b24ea479a59 292 {
MrAI 12:1b24ea479a59 293 return -1;
MrAI 12:1b24ea479a59 294 }
MrAI 12:1b24ea479a59 295 string err = pay.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 296 bool bSuccess = pay.getRequestRet(objJson);
MrAI 12:1b24ea479a59 297 if (bSuccess)
MrAI 12:1b24ea479a59 298 {
MrAI 12:1b24ea479a59 299 string hash = pay.getKeyValue(objJson, "hash");
MrAI 12:1b24ea479a59 300 string ledger = pay.getKeyValue(objJson, "ledger");
MrAI 12:1b24ea479a59 301 string state = pay.getKeyValue(objJson, "state");
MrAI 12:1b24ea479a59 302 string source_account = pay.getKeyValue(objJson, "source_account");
MrAI 12:1b24ea479a59 303 string dst_account = pay.getKeyValue(objJson, "destination_account");
MrAI 12:1b24ea479a59 304 string amount_cur = pay.getKeyValue(objJson, "amount", "currency");
MrAI 12:1b24ea479a59 305 string value = pay.getKeyValue(objJson, "amount", "value");
MrAI 12:1b24ea479a59 306 string amount_issuer = pay.getKeyValue(objJson, "amount", "issuer");
MrAI 12:1b24ea479a59 307 string currency = pay.getKeyValue(objJson, "currency");
MrAI 12:1b24ea479a59 308 string issuer = pay.getKeyValue(objJson, "issuer");
MrAI 12:1b24ea479a59 309 string direction = pay.getKeyValue(objJson, "direction");
MrAI 12:1b24ea479a59 310 string timestamp = pay.getKeyValue(objJson, "timestamp");
MrAI 12:1b24ea479a59 311 string fee = pay.getKeyValue(objJson, "fee");
MrAI 13:e77c7ae3a285 312 cout << "hash:" << hash <<endl<<"ledger:" << ledger <<endl<< " state:" << state
MrAI 13:e77c7ae3a285 313 <<endl<< " source_account:" << source_account <<endl<< " dst_account:" << dst_account
MrAI 13:e77c7ae3a285 314 <<endl<< " amount_cur:" << amount_cur <<endl<< " value:" << value <<endl<< " amount_issuer:" << amount_issuer
MrAI 13:e77c7ae3a285 315 <<endl<< " currency:" << currency <<endl<< " issuer" << issuer <<endl<< " direction" << direction
MrAI 13:e77c7ae3a285 316 <<endl<< " timestamp:" << timestamp <<endl<< " fee" << fee <<endl;
MrAI 12:1b24ea479a59 317 int iCurrenciesNum = pay.getBalanceSize(objJson, "memos");
MrAI 12:1b24ea479a59 318 for (int i = 0; i < iCurrenciesNum; i++)
MrAI 12:1b24ea479a59 319 {
MrAI 12:1b24ea479a59 320 string memo_type = pay.getBalanceArray(objJson, "memos", i, "memo_type");
MrAI 12:1b24ea479a59 321 string memo_data = pay.getBalanceArray(objJson, "memos", i, "memo_data");
MrAI 12:1b24ea479a59 322 cout << i << ":" << memo_type << "--" << memo_data << endl;
MrAI 12:1b24ea479a59 323 }
MrAI 12:1b24ea479a59 324
MrAI 12:1b24ea479a59 325 }
MrAI 12:1b24ea479a59 326 return 0;
MrAI 12:1b24ea479a59 327 }
MrAI 12:1b24ea479a59 328
MrAI 12:1b24ea479a59 329 int sd_gettransactions()
MrAI 12:1b24ea479a59 330 {
MrAI 12:1b24ea479a59 331 Payment pay;
MrAI 12:1b24ea479a59 332 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 333 string strJson = "";
MrAI 12:1b24ea479a59 334 string strHash = "EF252979355F2666486F69E9C96D137265214DE65B14E1136ECCDCE84F09AD11";
MrAI 12:1b24ea479a59 335 string strUrl = "/v1/transactions/";
MrAI 12:1b24ea479a59 336 strJson = pay.GetPaymentInfo(strUrl,"", strHash);
MrAI 12:1b24ea479a59 337 if (strJson.empty())
MrAI 12:1b24ea479a59 338 {
MrAI 12:1b24ea479a59 339 return -1;
MrAI 12:1b24ea479a59 340 }
MrAI 12:1b24ea479a59 341 string err = pay.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 342 bool bSuccess = pay.getRequestRet(objJson);
MrAI 12:1b24ea479a59 343 if (bSuccess)
MrAI 12:1b24ea479a59 344 {
MrAI 12:1b24ea479a59 345 string TransactionType = pay.getKeyValue(objJson, "transaction", "TransactionType");
MrAI 12:1b24ea479a59 346 int Flags = pay.getKeyValueInt(objJson, "transaction", "Flags");
MrAI 12:1b24ea479a59 347 int Sequence = pay.getKeyValueInt(objJson, "transaction", "Sequence");
MrAI 12:1b24ea479a59 348 int LastLedgerSequence = pay.getKeyValueInt(objJson, "transaction", "LastLedgerSequence");
MrAI 12:1b24ea479a59 349 string Amount = pay.getKeyValue(objJson, "transaction", "Amount");
MrAI 12:1b24ea479a59 350 string Fee = pay.getKeyValue(objJson, "transaction", "Fee");
MrAI 12:1b24ea479a59 351 string SigningPubKey = pay.getKeyValue(objJson, "transaction", "SigningPubKey");
MrAI 12:1b24ea479a59 352 string TxnSignature = pay.getKeyValue(objJson, "transaction", "TxnSignature");
MrAI 12:1b24ea479a59 353 string Account = pay.getKeyValue(objJson, "transaction", "Account");
MrAI 12:1b24ea479a59 354 string Destination = pay.getKeyValue(objJson, "transaction", "Destination");
MrAI 12:1b24ea479a59 355 int iCurrenciesNum = pay.getBalanceSize(objJson,"transaction","Memos");
MrAI 12:1b24ea479a59 356 // for (int i = 0; i < iCurrenciesNum; i++)
MrAI 12:1b24ea479a59 357 // {
MrAI 12:1b24ea479a59 358 // string MemoType = pay.getBalanceArray(objJson, "transaction", "Memos", "Memo", i, "MemoType");
MrAI 12:1b24ea479a59 359 // string MemoData = pay.getBalanceArray(objJson, "transaction", "Memos", "Memo", i, "MemoData");
MrAI 12:1b24ea479a59 360 // string parsed_memo_type = pay.getBalanceArray(objJson, "transaction", "Memos", "Memo", i, "parsed_memo_type");
MrAI 12:1b24ea479a59 361 // cout << i << ":" << MemoType << "--" << MemoData << "--" << parsed_memo_type << endl;
MrAI 12:1b24ea479a59 362 // }
MrAI 12:1b24ea479a59 363 int date = pay.getKeyValueInt(objJson, "transaction", "date");
MrAI 12:1b24ea479a59 364 string hash = pay.getKeyValue(objJson, "transaction", "hash");
MrAI 12:1b24ea479a59 365 int inLedger = pay.getKeyValueInt(objJson, "transaction", "inLedger");
MrAI 12:1b24ea479a59 366 int ledger_index = pay.getKeyValueInt(objJson, "transaction", "ledger_index");
MrAI 12:1b24ea479a59 367 bool validated = pay.getKeyValueBool(objJson, "transaction", "validated");
MrAI 13:e77c7ae3a285 368 cout<<"TransactionType:"<<TransactionType<<endl<<"Amount:"<<Amount<<endl<<"Fee:"<<Fee<<endl
MrAI 13:e77c7ae3a285 369 <<"SigningPubKey:"<<SigningPubKey<<endl<<"TxnSignature:"<<TxnSignature<<endl
MrAI 13:e77c7ae3a285 370 <<"Account:"<<Account<<endl<<"Destination:"<<Destination<<endl;
MrAI 12:1b24ea479a59 371 }
MrAI 12:1b24ea479a59 372 return 0;
MrAI 12:1b24ea479a59 373 }
MrAI 12:1b24ea479a59 374
MrAI 12:1b24ea479a59 375 int sd_getpaymenthistory()
MrAI 12:1b24ea479a59 376 {
MrAI 12:1b24ea479a59 377 Payment pay;
MrAI 12:1b24ea479a59 378 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 379 MbedJSONValue mbJson;
MrAI 12:1b24ea479a59 380 string strJson = "";
MrAI 12:1b24ea479a59 381 string strUrl = "/v1/accounts/payments/";
MrAI 12:1b24ea479a59 382 string strWallet = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 383 string src_acc = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 384 string dst_acc = "69Hu8QsnEZUP4f3AVYSW7rkpLVm6DAEq9y";
MrAI 12:1b24ea479a59 385 string direction = "incoming";
MrAI 12:1b24ea479a59 386 int start_ledger = 1;
MrAI 12:1b24ea479a59 387 int end_ledger = 10000;
MrAI 12:1b24ea479a59 388 int per_page = 10;
MrAI 12:1b24ea479a59 389 int page = 1;
MrAI 12:1b24ea479a59 390 pay.SetJsonBody(mbJson, src_acc, dst_acc, direction, start_ledger, end_ledger, per_page, page);
MrAI 12:1b24ea479a59 391 strJson = pay.PostPayment(mbJson, strUrl, strWallet, "");
MrAI 12:1b24ea479a59 392 if (strJson.empty())
MrAI 12:1b24ea479a59 393 {
MrAI 12:1b24ea479a59 394 return -1;
MrAI 12:1b24ea479a59 395 }
MrAI 12:1b24ea479a59 396 string err = pay.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 397 bool bSuccess = pay.getRequestRet(objJson);
MrAI 12:1b24ea479a59 398 if (bSuccess)
MrAI 12:1b24ea479a59 399 {
MrAI 12:1b24ea479a59 400 int iCurrenciesNum = pay.getBalanceSize(objJson,"payments");
MrAI 12:1b24ea479a59 401 for (int i = 0; i < iCurrenciesNum; i++)
MrAI 12:1b24ea479a59 402 {
MrAI 12:1b24ea479a59 403 string hash = pay.getBalanceArray(objJson, "payments", i, "hash");
MrAI 12:1b24ea479a59 404 string ledger = pay.getBalanceArray(objJson, "payments", i, "ledger");
MrAI 12:1b24ea479a59 405 string source_account = pay.getBalanceArray(objJson, "payments", i, "source_account");
MrAI 12:1b24ea479a59 406 string destination_account = pay.getBalanceArray(objJson, "payments", i, "destination_account");
MrAI 12:1b24ea479a59 407 string currency = pay.getBalanceArray(objJson, "payments", "amount", i,currency);
MrAI 12:1b24ea479a59 408 string value = pay.getBalanceArray(objJson, "payments", "amount", i, value);
MrAI 12:1b24ea479a59 409 string issuer = pay.getBalanceArray(objJson, "payments", "amount", i, issuer);
MrAI 12:1b24ea479a59 410 string direction = pay.getBalanceArray(objJson, "payments", i, "direction");
MrAI 12:1b24ea479a59 411 string timestamp = pay.getBalanceArray(objJson, "payments", i, "timestamp");
MrAI 12:1b24ea479a59 412 string fee = pay.getBalanceArray(objJson, "payments", i, "fee");
MrAI 12:1b24ea479a59 413 int iCurrenciesNum = pay.getBalanceSize(objJson, "transaction", "Memos");
MrAI 12:1b24ea479a59 414 for (int j = 0; j < iCurrenciesNum; j++)
MrAI 12:1b24ea479a59 415 {
MrAI 12:1b24ea479a59 416 string memo_type = pay.getBalanceArray(objJson, "transaction", "memos", i, "memo_type");
MrAI 12:1b24ea479a59 417 string memo_data = pay.getBalanceArray(objJson, "transaction", "memos", i, "memo_data");
MrAI 12:1b24ea479a59 418 cout << i << ":" << memo_type << "--" << memo_data << endl;
MrAI 12:1b24ea479a59 419 }
MrAI 13:e77c7ae3a285 420 cout<<"hash:"<<hash<<endl<<"ledger:"<<ledger<<endl<<"source_account:"<<source_account<<endl
MrAI 13:e77c7ae3a285 421 <<"destination_account:"<<destination_account<<endl<<"currency:"<<currency<<endl<<"timestamp:"
MrAI 13:e77c7ae3a285 422 <<timestamp<<endl;
MrAI 12:1b24ea479a59 423 }
MrAI 12:1b24ea479a59 424 }
MrAI 12:1b24ea479a59 425 return 0;
MrAI 12:1b24ea479a59 426 }
MrAI 12:1b24ea479a59 427
MrAI 12:1b24ea479a59 428 int sd_getdefaultfee()
MrAI 12:1b24ea479a59 429 {
MrAI 12:1b24ea479a59 430 ServerInfo serInfo;
MrAI 12:1b24ea479a59 431 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 432 string strJson = "";
MrAI 12:1b24ea479a59 433 string strUrl = "/v1/transaction-fee";
MrAI 12:1b24ea479a59 434 strJson = serInfo.GetPaymentInfo(strUrl, "", "");
MrAI 12:1b24ea479a59 435 if (strJson.empty())
MrAI 12:1b24ea479a59 436 {
MrAI 12:1b24ea479a59 437 return -1;
MrAI 12:1b24ea479a59 438 }
MrAI 12:1b24ea479a59 439 string err = serInfo.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 440 bool bSuccess = serInfo.getRequestRet(objJson);
MrAI 12:1b24ea479a59 441 if (bSuccess)
MrAI 12:1b24ea479a59 442 {
MrAI 12:1b24ea479a59 443 string fee = serInfo.getKeyValue(objJson, "fee");
MrAI 12:1b24ea479a59 444 cout << "fee:" << fee << endl;
MrAI 12:1b24ea479a59 445 }
MrAI 12:1b24ea479a59 446 return 0;
MrAI 12:1b24ea479a59 447 }
MrAI 12:1b24ea479a59 448
MrAI 12:1b24ea479a59 449 int sd_getserverinfo()
MrAI 12:1b24ea479a59 450 {
MrAI 12:1b24ea479a59 451 ServerInfo serInfo;
MrAI 12:1b24ea479a59 452 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 453 string strJson = "";
MrAI 12:1b24ea479a59 454 string strUrl = "/v1/server";
MrAI 12:1b24ea479a59 455 strJson = serInfo.GetPaymentInfo(strUrl, "", "");
MrAI 12:1b24ea479a59 456 if (strJson.empty())
MrAI 12:1b24ea479a59 457 {
MrAI 12:1b24ea479a59 458 return -1;
MrAI 12:1b24ea479a59 459 }
MrAI 12:1b24ea479a59 460 string err = serInfo.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 461 bool bSuccess = serInfo.getRequestRet(objJson);
MrAI 12:1b24ea479a59 462 if (bSuccess)
MrAI 12:1b24ea479a59 463 {
MrAI 12:1b24ea479a59 464 string complete_ledgers = serInfo.getKeyValue(objJson, "sdchaind_server_status", "complete_ledgers");
MrAI 12:1b24ea479a59 465 string server_state = serInfo.getKeyValue(objJson, "sdchaind_server_status", "server_state");
MrAI 12:1b24ea479a59 466 int reserve_base_sda = serInfo.getKeyValueInt(objJson, "sdchaind_server_status", "reserve_base_sda");
MrAI 13:e77c7ae3a285 467 cout << "complete_ledgers:" << complete_ledgers <<endl<< "server_state:" << server_state<<endl << "reserve_base_sda:" << reserve_base_sda << endl;
MrAI 12:1b24ea479a59 468 }
MrAI 12:1b24ea479a59 469 return 0;
MrAI 12:1b24ea479a59 470 }
MrAI 12:1b24ea479a59 471
MrAI 12:1b24ea479a59 472 int sd_getserverconnected()
MrAI 12:1b24ea479a59 473 {
MrAI 12:1b24ea479a59 474 ServerInfo serInfo;
MrAI 12:1b24ea479a59 475 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 476 string strJson = "";
MrAI 12:1b24ea479a59 477 string strUrl = "/v1/server/connected";
MrAI 12:1b24ea479a59 478 strJson = serInfo.GetPaymentInfo(strUrl, "", "");
MrAI 12:1b24ea479a59 479 if (strJson.empty())
MrAI 12:1b24ea479a59 480 {
MrAI 12:1b24ea479a59 481 return -1;
MrAI 12:1b24ea479a59 482 }
MrAI 12:1b24ea479a59 483 string err = serInfo.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 484 bool bSuccess = serInfo.getRequestRet(objJson);
MrAI 12:1b24ea479a59 485 if (bSuccess)
MrAI 12:1b24ea479a59 486 {
MrAI 12:1b24ea479a59 487 bool connected = serInfo.getKeyValueBool(objJson, "connected");
MrAI 13:e77c7ae3a285 488 if(connected)
MrAI 13:e77c7ae3a285 489 {cout<<"server is running"<<endl;}
MrAI 13:e77c7ae3a285 490 else
MrAI 13:e77c7ae3a285 491 {cout<<"server stopped"<<endl;}
MrAI 12:1b24ea479a59 492 }
MrAI 12:1b24ea479a59 493 return 0;
MrAI 12:1b24ea479a59 494 }
MrAI 12:1b24ea479a59 495
MrAI 12:1b24ea479a59 496 int sd_queryorderlist()
MrAI 12:1b24ea479a59 497 {
MrAI 12:1b24ea479a59 498 Order orderInfo;
MrAI 12:1b24ea479a59 499 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 500 string strJson = "";
MrAI 12:1b24ea479a59 501 string strUrl = "/v1/accounts/orders/";
MrAI 12:1b24ea479a59 502 string strWallet = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 503 strJson = orderInfo.GetPaymentInfo(strUrl, strWallet, "");
MrAI 12:1b24ea479a59 504 if (strJson.empty())
MrAI 12:1b24ea479a59 505 {
MrAI 12:1b24ea479a59 506 return -1;
MrAI 12:1b24ea479a59 507 }
MrAI 12:1b24ea479a59 508 string err = orderInfo.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 509 bool bSuccess = orderInfo.getRequestRet(objJson);
MrAI 12:1b24ea479a59 510 if (bSuccess)
MrAI 12:1b24ea479a59 511 {
MrAI 12:1b24ea479a59 512 int ledger = objJson["ledger"].get<int>();
MrAI 12:1b24ea479a59 513 bool validated = orderInfo.getKeyValueBool(objJson, "validated");
MrAI 12:1b24ea479a59 514 int iCurrenciesNum = orderInfo.getBalanceSize(objJson, "orders");
MrAI 12:1b24ea479a59 515 for (int i = 0; i < iCurrenciesNum; i++)
MrAI 12:1b24ea479a59 516 {
MrAI 12:1b24ea479a59 517 string type = orderInfo.getBalanceArray(objJson, "orders", i, "type");
MrAI 12:1b24ea479a59 518 string currency_gets = orderInfo.getBalanceArray(objJson, "orders","taker_gets",i,"currency");
MrAI 12:1b24ea479a59 519 string value_gets = orderInfo.getBalanceArray(objJson, "orders", "taker_gets", i, "value");
MrAI 12:1b24ea479a59 520 string counterparty_gets = orderInfo.getBalanceArray(objJson, "orders", "taker_gets", i, "counterparty");
MrAI 12:1b24ea479a59 521 string currency_pays = orderInfo.getBalanceArray(objJson, "orders", "taker_pays", i, "currency");
MrAI 12:1b24ea479a59 522 string value_pays = orderInfo.getBalanceArray(objJson, "orders", "taker_pays", i, "value");
MrAI 12:1b24ea479a59 523 string counterparty_pays = orderInfo.getBalanceArray(objJson, "orders", "taker_pays", i, "counterparty");
MrAI 13:e77c7ae3a285 524 cout << "type:" << type <<endl<< "currency_gets:" << currency_gets <<endl<< "value_gets:" << value_gets<<endl
MrAI 13:e77c7ae3a285 525 << "counterparty_gets:" << counterparty_gets <<endl<< "currency_pays:" << currency_pays<<endl
MrAI 13:e77c7ae3a285 526 << "value_pays:" << value_pays <<endl<< "counterparty_pays:" << counterparty_pays << endl;
MrAI 12:1b24ea479a59 527 }
MrAI 13:e77c7ae3a285 528 cout << "ledger:" << ledger <<endl<< "validated:" << validated << endl;
MrAI 12:1b24ea479a59 529 }
MrAI 12:1b24ea479a59 530 return 0;
MrAI 12:1b24ea479a59 531 }
MrAI 12:1b24ea479a59 532
MrAI 12:1b24ea479a59 533 int sd_commitorder()
MrAI 12:1b24ea479a59 534 {
MrAI 12:1b24ea479a59 535 Order orderCommit;
MrAI 12:1b24ea479a59 536 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 537 MbedJSONValue mbJson;
MrAI 12:1b24ea479a59 538 string strJson = "";
MrAI 12:1b24ea479a59 539 string strUrl = "/v1/accounts/orders/";
MrAI 12:1b24ea479a59 540 string strWallet = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 541 string secret = "sh7dqVn8mhg6BqGfAQyaYVUwK2zkR";
MrAI 12:1b24ea479a59 542 orderCommit.SetJsonBody(mbJson, secret, "buy", "SDA", "", "4", "CNY", "6UPd52jHtu1d88nc3S3WeroACFQpKfybhU", "22");
MrAI 12:1b24ea479a59 543 strJson = orderCommit.PostPayment(mbJson, strUrl, strWallet, "");
MrAI 12:1b24ea479a59 544 if (strJson.empty())
MrAI 12:1b24ea479a59 545 {
MrAI 12:1b24ea479a59 546 return -1;
MrAI 12:1b24ea479a59 547 }
MrAI 12:1b24ea479a59 548 string err = orderCommit.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 549 bool bSuccess = orderCommit.getRequestRet(objJson);
MrAI 12:1b24ea479a59 550 if (bSuccess)
MrAI 12:1b24ea479a59 551 {
MrAI 12:1b24ea479a59 552 string account = orderCommit.getKeyValue(objJson, "order", "account");
MrAI 12:1b24ea479a59 553 string currency_g = orderCommit.getKeyValue(objJson, "taker_gets", "currency");
MrAI 12:1b24ea479a59 554 string value_g = orderCommit.getKeyValue(objJson, "taker_gets", "value");
MrAI 12:1b24ea479a59 555 string counterparty_g = orderCommit.getKeyValue(objJson, "taker_gets", "counterparty");
MrAI 12:1b24ea479a59 556 string currency_p = orderCommit.getKeyValue(objJson, "taker_pays", "currency");
MrAI 12:1b24ea479a59 557 string value_p = orderCommit.getKeyValue(objJson, "taker_pays", "value");
MrAI 12:1b24ea479a59 558 string counterparty_p = orderCommit.getKeyValue(objJson, "taker_pays", "counterparty");
MrAI 12:1b24ea479a59 559 string fee = orderCommit.getKeyValue(objJson, "order", "fee");
MrAI 12:1b24ea479a59 560 string type = orderCommit.getKeyValue(objJson, "order", "type");
MrAI 12:1b24ea479a59 561 int sequence = orderCommit.getKeyValueInt(objJson, "order","sequence");
MrAI 12:1b24ea479a59 562 string hash = orderCommit.getKeyValue(objJson, "hash");
MrAI 12:1b24ea479a59 563 int ledger = orderCommit.getLedger(objJson);
MrAI 12:1b24ea479a59 564 string state = orderCommit.getKeyValue(objJson, "state");
MrAI 13:e77c7ae3a285 565 cout<<"account:"<<account<<endl<<"fee:"<<fee<<endl<<"hash:"<<hash<<endl<<"state:"<<state<<endl;
MrAI 12:1b24ea479a59 566 }
MrAI 12:1b24ea479a59 567 return 0;
MrAI 12:1b24ea479a59 568 }
MrAI 12:1b24ea479a59 569
MrAI 12:1b24ea479a59 570 int sd_deleteorder()
MrAI 12:1b24ea479a59 571 {
MrAI 12:1b24ea479a59 572 Order orderCommit;
MrAI 12:1b24ea479a59 573 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 574 MbedJSONValue mbJson;
MrAI 12:1b24ea479a59 575 MbedJSONValue val;
MrAI 12:1b24ea479a59 576 string strJson = "";
MrAI 12:1b24ea479a59 577 string strUrl = "/v1/accounts/orders/";
MrAI 12:1b24ea479a59 578 string strWallet = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 579 string strNum = "1234";
MrAI 12:1b24ea479a59 580 val["secret"] = "sh7dqVn8mhg6BqGfAQyaYVUwK2zkR";
MrAI 12:1b24ea479a59 581 strJson = orderCommit.PostOrder(val, strUrl, strWallet, strNum);
MrAI 12:1b24ea479a59 582 if (strJson.empty())
MrAI 12:1b24ea479a59 583 {
MrAI 12:1b24ea479a59 584 return -1;
MrAI 12:1b24ea479a59 585 }
MrAI 12:1b24ea479a59 586 string err = orderCommit.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 587 bool bSuccess = orderCommit.getRequestRet(objJson);
MrAI 12:1b24ea479a59 588 if (bSuccess)
MrAI 12:1b24ea479a59 589 {
MrAI 12:1b24ea479a59 590 string account = orderCommit.getKeyValue(objJson, "order", "account");
MrAI 12:1b24ea479a59 591 string fee = orderCommit.getKeyValue(objJson, "order", "fee");
MrAI 12:1b24ea479a59 592 string offer_sequence = orderCommit.getKeyValue(objJson, "order", "offer_sequence");
MrAI 12:1b24ea479a59 593 string sequence = orderCommit.getKeyValue(objJson, "order", "sequence");
MrAI 12:1b24ea479a59 594 string hash = orderCommit.getKeyValue(objJson, "hash");
MrAI 12:1b24ea479a59 595 string ledger = orderCommit.getKeyValue(objJson, "ledger");
MrAI 12:1b24ea479a59 596 string state = orderCommit.getKeyValue(objJson, "state");
MrAI 13:e77c7ae3a285 597 cout << "account:" << account <<endl<< "fee:" << fee <<endl<< "offer_sequence:" << offer_sequence<<endl
MrAI 13:e77c7ae3a285 598 << "sequence:" << sequence <<endl<< "hash:" << hash <<endl<<"ledger:" << ledger <<endl<< "state:" << state << endl;
MrAI 12:1b24ea479a59 599 }
MrAI 12:1b24ea479a59 600 return 0;
MrAI 12:1b24ea479a59 601 }
MrAI 12:1b24ea479a59 602
MrAI 12:1b24ea479a59 603 int sd_queryorderdetailed()
MrAI 12:1b24ea479a59 604 {
MrAI 12:1b24ea479a59 605 cout << "call sd_queryorderdetailed begin" << endl;
MrAI 12:1b24ea479a59 606 Order orderInfo;
MrAI 12:1b24ea479a59 607 MbedJSONValue objJson;
MrAI 12:1b24ea479a59 608 string strJson = "";
MrAI 12:1b24ea479a59 609 string strUrl = " /v1/accounts/orders/";
MrAI 12:1b24ea479a59 610 string strWallet = "6ByxwCh2Lqwwr3pk6mh4GBb4bsqFz2zAKY";
MrAI 12:1b24ea479a59 611 string hash = "EF252979355F2666486F69E9C96D137265214DE65B14E1136ECCDCE84F09AD11";
MrAI 12:1b24ea479a59 612 strJson = orderInfo.GetPaymentInfo(strUrl, strWallet,hash);
MrAI 12:1b24ea479a59 613 if (strJson.empty())
MrAI 12:1b24ea479a59 614 {
MrAI 12:1b24ea479a59 615 cout << "call sd_queryorderdetailed exception quit" << endl;
MrAI 12:1b24ea479a59 616 return -1;
MrAI 12:1b24ea479a59 617 }
MrAI 12:1b24ea479a59 618 string err = orderInfo.getParseMbedJson(objJson, strJson.c_str());
MrAI 12:1b24ea479a59 619 bool bSuccess = orderInfo.getRequestRet(objJson);
MrAI 12:1b24ea479a59 620 if (bSuccess)
MrAI 12:1b24ea479a59 621 {
MrAI 12:1b24ea479a59 622 string hash = orderInfo.getKeyValue(objJson, "hash");
MrAI 12:1b24ea479a59 623 int ledger = objJson["ledger"].get<int>();
MrAI 12:1b24ea479a59 624 int iBalanceNum = orderInfo.getBalanceSize(objJson, "balance_changes");
MrAI 12:1b24ea479a59 625 for (int i = 0; i < iBalanceNum; i++)
MrAI 12:1b24ea479a59 626 {
MrAI 12:1b24ea479a59 627 string counterparty = orderInfo.getBalanceArray(objJson, "balance_changes", i, "counterparty");
MrAI 13:e77c7ae3a285 628 cout<<"counterparty:"<<counterparty<<endl;
MrAI 12:1b24ea479a59 629 }
MrAI 12:1b24ea479a59 630 int iOrderChangesNum = orderInfo.getBalanceSize(objJson, "order_changes");
MrAI 12:1b24ea479a59 631 for (int j = 0; j < iOrderChangesNum; j++)
MrAI 12:1b24ea479a59 632 {
MrAI 12:1b24ea479a59 633 string currency_gets = orderInfo.getBalanceArray(objJson, "order_changes", "taker_gets", j, "currency");
MrAI 13:e77c7ae3a285 634 cout<<"currency_gets:"<<currency_gets<<endl;
MrAI 12:1b24ea479a59 635 }
MrAI 13:e77c7ae3a285 636 cout<<"hash:"<<hash<<endl;
MrAI 12:1b24ea479a59 637
MrAI 12:1b24ea479a59 638 }
MrAI 12:1b24ea479a59 639 cout << "call sd_queryorderdetailed end" << endl;
MrAI 12:1b24ea479a59 640 return 0;
MrAI 12:1b24ea479a59 641 }
webmaster 10:aabd720e632c 642
webmaster 8:f2a567ee3a46 643
webmaster 8:f2a567ee3a46 644 int socket_init()
webmaster 8:f2a567ee3a46 645 {
webmaster 8:f2a567ee3a46 646 int ret = 0;
webmaster 8:f2a567ee3a46 647 // EthernetInterface eth;
webmaster 8:f2a567ee3a46 648 printf("Initializing Ethernet\n");
webmaster 8:f2a567ee3a46 649 ret = eth.init(); //Use DHCP
webmaster 8:f2a567ee3a46 650 //eth.init("192.168.31.186", "255.255.255.0", "192.168.31.1"); //Use static ip
webmaster 8:f2a567ee3a46 651 printf("Connecting\n");
webmaster 8:f2a567ee3a46 652 ret = eth.connect();
webmaster 8:f2a567ee3a46 653 printf("IP Address is %s\n", eth.getIPAddress());
webmaster 8:f2a567ee3a46 654
webmaster 8:f2a567ee3a46 655 return ret;
webmaster 8:f2a567ee3a46 656 }
webmaster 8:f2a567ee3a46 657
webmaster 8:f2a567ee3a46 658 int socket_fini()
webmaster 8:f2a567ee3a46 659 {
webmaster 8:f2a567ee3a46 660 return eth.disconnect();
webmaster 8:f2a567ee3a46 661 }
webmaster 8:f2a567ee3a46 662
webmaster 8:f2a567ee3a46 663 int test_socket_client(void)
webmaster 8:f2a567ee3a46 664 {
webmaster 8:f2a567ee3a46 665 TCPSocketConnection socket;
webmaster 8:f2a567ee3a46 666 while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
webmaster 8:f2a567ee3a46 667 printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
webmaster 8:f2a567ee3a46 668 wait(1);
webmaster 8:f2a567ee3a46 669 }
webmaster 8:f2a567ee3a46 670 printf("Connected to Server at %s\n",ECHO_SERVER_ADDRESS);
webmaster 8:f2a567ee3a46 671
webmaster 8:f2a567ee3a46 672 // Send message to server
webmaster 8:f2a567ee3a46 673 char hello[] = "Hello World";
webmaster 8:f2a567ee3a46 674 printf("Sending message to Server : '%s' \n",hello);
webmaster 8:f2a567ee3a46 675 socket.send_all(hello, sizeof(hello) - 1);
webmaster 8:f2a567ee3a46 676
webmaster 8:f2a567ee3a46 677 // Receive message from server
webmaster 8:f2a567ee3a46 678 char buf[256];
webmaster 8:f2a567ee3a46 679 int n = socket.receive(buf, 256);
webmaster 8:f2a567ee3a46 680 buf[n] = '\0';
webmaster 8:f2a567ee3a46 681 printf("Received message from server: '%s'\n", buf);
webmaster 8:f2a567ee3a46 682
webmaster 8:f2a567ee3a46 683 // Clean up
webmaster 8:f2a567ee3a46 684 socket.close();
webmaster 8:f2a567ee3a46 685
webmaster 8:f2a567ee3a46 686 return 0;
webmaster 8:f2a567ee3a46 687 }
webmaster 8:f2a567ee3a46 688
MrAI 11:6d9cefb14158 689 /*
gsteiert 0:28bc7ce77e20 690 void get_file(char* uri)
gsteiert 0:28bc7ce77e20 691 {
gsteiert 3:4f71a37a1ed2 692 uart.printf("get_file %s\n", uri);
gsteiert 0:28bc7ce77e20 693 char *lstchr = strrchr(uri, NULL) -1;
gsteiert 0:28bc7ce77e20 694 if ('/' == *lstchr) {
gsteiert 3:4f71a37a1ed2 695 uart.printf("Open directory /sd%s\n", uri);
gsteiert 0:28bc7ce77e20 696 *lstchr = 0;
gsteiert 3:4f71a37a1ed2 697 sprintf(fileName, "/sd%s", uri);
gsteiert 3:4f71a37a1ed2 698 DIR *d = opendir(fileName);
gsteiert 0:28bc7ce77e20 699 if (d != NULL) {
gsteiert 0:28bc7ce77e20 700 sprintf(httpHeader,"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: Close\r\n\r\n");
gsteiert 0:28bc7ce77e20 701 client.send(httpHeader,strlen(httpHeader));
gsteiert 3:4f71a37a1ed2 702 sprintf(httpHeader,"<html><head><title>Directory Listing</title></head><body><h1>%s Directory Listing</h1><ul>", uri);
gsteiert 0:28bc7ce77e20 703 client.send(httpHeader,strlen(httpHeader));
gsteiert 0:28bc7ce77e20 704 struct dirent *p;
gsteiert 0:28bc7ce77e20 705 while((p = readdir(d)) != NULL) {
gsteiert 3:4f71a37a1ed2 706 sprintf(dirName, "%s/%s", fileName, p->d_name);
gsteiert 3:4f71a37a1ed2 707 uart.printf("%s\n", dirName);
gsteiert 3:4f71a37a1ed2 708 DIR *subDir = opendir(dirName);
gsteiert 3:4f71a37a1ed2 709 if (subDir != NULL) {
gsteiert 3:4f71a37a1ed2 710 sprintf(httpHeader,"<li><a href=\"./%s/\">%s/</a></li>", p->d_name, p->d_name);
gsteiert 3:4f71a37a1ed2 711 } else {
gsteiert 3:4f71a37a1ed2 712 sprintf(httpHeader,"<li><a href=\"./%s\">%s</a></li>", p->d_name, p->d_name);
gsteiert 3:4f71a37a1ed2 713 }
gsteiert 0:28bc7ce77e20 714 client.send(httpHeader,strlen(httpHeader));
gsteiert 0:28bc7ce77e20 715 }
gsteiert 0:28bc7ce77e20 716 }
gsteiert 0:28bc7ce77e20 717 closedir(d);
gsteiert 3:4f71a37a1ed2 718 uart.printf("Directory closed\n");
gsteiert 0:28bc7ce77e20 719 sprintf(httpHeader,"</ul></body></html>");
gsteiert 0:28bc7ce77e20 720 client.send(httpHeader,strlen(httpHeader));
gsteiert 0:28bc7ce77e20 721 } else {
gsteiert 3:4f71a37a1ed2 722 sprintf(fileName, "/sd%s", uri);
gsteiert 3:4f71a37a1ed2 723 fp = fopen(fileName, "r");
gsteiert 0:28bc7ce77e20 724 if (fp == NULL) {
gsteiert 7:04744a9ce2b9 725 uart.printf("File not found\n");
gsteiert 0:28bc7ce77e20 726 sprintf(httpHeader,"HTTP/1.1 404 Not Found \r\nContent-Type: text\r\nConnection: Close\r\n\r\n");
gsteiert 0:28bc7ce77e20 727 client.send(httpHeader,strlen(httpHeader));
gsteiert 0:28bc7ce77e20 728 client.send(uri,strlen(uri));
gsteiert 0:28bc7ce77e20 729 } else {
gsteiert 7:04744a9ce2b9 730 uart.printf("Sending: header");
gsteiert 0:28bc7ce77e20 731 sprintf(httpHeader,"HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnection: Close\r\n\r\n");
gsteiert 0:28bc7ce77e20 732 client.send(httpHeader,strlen(httpHeader));
gsteiert 7:04744a9ce2b9 733 uart.printf(" file");
gsteiert 0:28bc7ce77e20 734 while ((rdCnt = fread(buffer, sizeof( char ), 1024, fp)) == 1024) {
gsteiert 0:28bc7ce77e20 735 client.send(buffer, rdCnt);
gsteiert 7:04744a9ce2b9 736 uart.printf(".");
gsteiert 0:28bc7ce77e20 737 }
gsteiert 0:28bc7ce77e20 738 client.send(buffer, rdCnt);
gsteiert 0:28bc7ce77e20 739 fclose(fp);
gsteiert 7:04744a9ce2b9 740 uart.printf("done\n");
gsteiert 0:28bc7ce77e20 741 }
gsteiert 0:28bc7ce77e20 742 }
gsteiert 0:28bc7ce77e20 743 }
gsteiert 0:28bc7ce77e20 744
webmaster 8:f2a567ee3a46 745 int main_1 (void)
gsteiert 0:28bc7ce77e20 746 {
gsteiert 3:4f71a37a1ed2 747 // Serial Interface eth;
gsteiert 3:4f71a37a1ed2 748 uart.baud(115200);
gsteiert 5:27b09a0f3fb6 749 uart.printf("Initializing\n");
gsteiert 3:4f71a37a1ed2 750
gsteiert 3:4f71a37a1ed2 751 // Check File System
gsteiert 5:27b09a0f3fb6 752 uart.printf("Checking File System\n");
gsteiert 3:4f71a37a1ed2 753 DIR *d = opendir("/sd/");
gsteiert 3:4f71a37a1ed2 754 if (d != NULL) {
gsteiert 3:4f71a37a1ed2 755 uart.printf("SD Card Present\n");
gsteiert 3:4f71a37a1ed2 756 } else {
gsteiert 3:4f71a37a1ed2 757 uart.printf("SD Card Root Directory Not Found\n");
gsteiert 3:4f71a37a1ed2 758 }
gsteiert 3:4f71a37a1ed2 759
gsteiert 0:28bc7ce77e20 760 // EthernetInterface eth;
gsteiert 5:27b09a0f3fb6 761 uart.printf("Initializing Ethernet\n");
webmaster 8:f2a567ee3a46 762 //eth.init(); //Use DHCP
webmaster 8:f2a567ee3a46 763 eth.init("192.168.31.186", "255.255.255.0", "192.168.31.1"); //Use
gsteiert 5:27b09a0f3fb6 764 uart.printf("Connecting\n");
gsteiert 0:28bc7ce77e20 765 eth.connect();
gsteiert 3:4f71a37a1ed2 766 uart.printf("IP Address is %s\n", eth.getIPAddress());
webmaster 8:f2a567ee3a46 767
webmaster 8:f2a567ee3a46 768 //test socket client
webmaster 8:f2a567ee3a46 769 //my_client.connect("192.168.31.185",10003);
webmaster 8:f2a567ee3a46 770 //my_client.send_all("hello world",11);
webmaster 8:f2a567ee3a46 771
webmaster 8:f2a567ee3a46 772 TCPSocketConnection socket;
webmaster 8:f2a567ee3a46 773 while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
webmaster 8:f2a567ee3a46 774 uart.printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
webmaster 8:f2a567ee3a46 775 wait(1);
webmaster 8:f2a567ee3a46 776 }
webmaster 8:f2a567ee3a46 777 uart.printf("Connected to Server at %s\n",ECHO_SERVER_ADDRESS);
webmaster 8:f2a567ee3a46 778
webmaster 8:f2a567ee3a46 779 // Send message to server
webmaster 8:f2a567ee3a46 780 char hello[] = "Hello World";
webmaster 8:f2a567ee3a46 781 uart.printf("Sending message to Server : '%s' \n",hello);
webmaster 8:f2a567ee3a46 782 socket.send_all(hello, sizeof(hello) - 1);
webmaster 8:f2a567ee3a46 783
webmaster 8:f2a567ee3a46 784 // Receive message from server
webmaster 8:f2a567ee3a46 785 char buf[256];
webmaster 8:f2a567ee3a46 786 int n = socket.receive(buf, 256);
webmaster 8:f2a567ee3a46 787 buf[n] = '\0';
webmaster 8:f2a567ee3a46 788 uart.printf("Received message from server: '%s'\n", buf);
webmaster 8:f2a567ee3a46 789
webmaster 8:f2a567ee3a46 790 // Clean up
webmaster 8:f2a567ee3a46 791 socket.close();
webmaster 8:f2a567ee3a46 792 ////////////////////////////////////////////////////////////////////////////
gsteiert 0:28bc7ce77e20 793
gsteiert 0:28bc7ce77e20 794 // TCPSocketServer server;
gsteiert 0:28bc7ce77e20 795 server.bind(HTTPD_SERVER_PORT);
gsteiert 0:28bc7ce77e20 796 server.listen();
gsteiert 5:27b09a0f3fb6 797 uart.printf("Server Listening\n");
gsteiert 0:28bc7ce77e20 798
gsteiert 0:28bc7ce77e20 799 while (true) {
gsteiert 3:4f71a37a1ed2 800 uart.printf("\nWait for new connection...\r\n");
gsteiert 0:28bc7ce77e20 801 server.accept(client);
gsteiert 0:28bc7ce77e20 802 client.set_blocking(false, 1500); // Timeout after (1.5)s
webmaster 8:f2a567ee3a46 803
webmaster 8:f2a567ee3a46 804 my_client.send_all("hello world",11);
gsteiert 0:28bc7ce77e20 805
gsteiert 3:4f71a37a1ed2 806 uart.printf("Connection from: %s\r\n", client.get_address());
gsteiert 0:28bc7ce77e20 807 while (true) {
gsteiert 0:28bc7ce77e20 808 int n = client.receive(buffer, sizeof(buffer));
gsteiert 0:28bc7ce77e20 809 if (n <= 0) break;
gsteiert 3:4f71a37a1ed2 810 uart.printf("Recieved Data: %d\r\n\r\n%.*s\r\n",n,n,buffer);
gsteiert 0:28bc7ce77e20 811 if (n >= 1024) {
gsteiert 0:28bc7ce77e20 812 sprintf(httpHeader,"HTTP/1.1 413 Request Entity Too Large \r\nContent-Type: text\r\nConnection: Close\r\n\r\n");
gsteiert 0:28bc7ce77e20 813 client.send(httpHeader,strlen(httpHeader));
gsteiert 0:28bc7ce77e20 814 client.send(buffer,n);
gsteiert 0:28bc7ce77e20 815 break;
gsteiert 0:28bc7ce77e20 816 } else {
gsteiert 0:28bc7ce77e20 817 buffer[n]=0;
gsteiert 0:28bc7ce77e20 818 }
gsteiert 0:28bc7ce77e20 819 if (!strncmp(buffer, "GET ", 4)) {
gsteiert 0:28bc7ce77e20 820 uristr = buffer + 4;
gsteiert 0:28bc7ce77e20 821 eou = strstr(uristr, " ");
gsteiert 0:28bc7ce77e20 822 if (eou == NULL) {
gsteiert 0:28bc7ce77e20 823 sprintf(httpHeader,"HTTP/1.1 400 Bad Request \r\nContent-Type: text\r\nConnection: Close\r\n\r\n");
gsteiert 0:28bc7ce77e20 824 client.send(httpHeader,strlen(httpHeader));
gsteiert 0:28bc7ce77e20 825 client.send(buffer,n);
gsteiert 0:28bc7ce77e20 826 } else {
gsteiert 0:28bc7ce77e20 827 *eou = 0;
gsteiert 3:4f71a37a1ed2 828 get_file(uristr);
gsteiert 0:28bc7ce77e20 829 }
gsteiert 0:28bc7ce77e20 830 }
gsteiert 0:28bc7ce77e20 831 }
gsteiert 0:28bc7ce77e20 832
gsteiert 0:28bc7ce77e20 833 client.close();
gsteiert 0:28bc7ce77e20 834 }
gsteiert 0:28bc7ce77e20 835 }
MrAI 11:6d9cefb14158 836 */
webmaster 8:f2a567ee3a46 837
webmaster 8:f2a567ee3a46 838 int main_2() {
webmaster 8:f2a567ee3a46 839 // Serial Interface eth;
webmaster 8:f2a567ee3a46 840 uart.baud(115200);
webmaster 8:f2a567ee3a46 841 uart.printf("Initializing\n");
webmaster 8:f2a567ee3a46 842
webmaster 8:f2a567ee3a46 843 EthernetInterface eth;
webmaster 8:f2a567ee3a46 844 eth.init(); //Use DHCP
webmaster 8:f2a567ee3a46 845 eth.connect();
webmaster 8:f2a567ee3a46 846 printf("\nClient IP Address is %s\n", eth.getIPAddress());
webmaster 8:f2a567ee3a46 847
webmaster 8:f2a567ee3a46 848 // Connect to Server
webmaster 8:f2a567ee3a46 849 TCPSocketConnection socket;
webmaster 8:f2a567ee3a46 850 while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
webmaster 8:f2a567ee3a46 851 printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
webmaster 8:f2a567ee3a46 852 wait(1);
webmaster 8:f2a567ee3a46 853 }
webmaster 8:f2a567ee3a46 854 printf("Connected to Server at %s\n",ECHO_SERVER_ADDRESS);
webmaster 8:f2a567ee3a46 855
webmaster 8:f2a567ee3a46 856 // Send message to server
webmaster 8:f2a567ee3a46 857 char hello[] = "Hello World";
webmaster 8:f2a567ee3a46 858 printf("Sending message to Server : '%s' \n",hello);
webmaster 8:f2a567ee3a46 859 socket.send_all(hello, sizeof(hello) - 1);
webmaster 8:f2a567ee3a46 860
webmaster 8:f2a567ee3a46 861 // Receive message from server
webmaster 8:f2a567ee3a46 862 char buf[256];
webmaster 8:f2a567ee3a46 863 int n = socket.receive(buf, 256);
webmaster 8:f2a567ee3a46 864 buf[n] = '\0';
webmaster 8:f2a567ee3a46 865 printf("Received message from server: '%s'\n", buf);
webmaster 8:f2a567ee3a46 866
webmaster 8:f2a567ee3a46 867 // Clean up
webmaster 8:f2a567ee3a46 868 socket.close();
webmaster 8:f2a567ee3a46 869 eth.disconnect();
webmaster 8:f2a567ee3a46 870
webmaster 8:f2a567ee3a46 871 while(true) {}
webmaster 15:7ec76c840343 872 }
webmaster 15:7ec76c840343 873
webmaster 15:7ec76c840343 874 DigitalOut myled1(LED1);
webmaster 15:7ec76c840343 875 DigitalOut myled2(LED2);
webmaster 15:7ec76c840343 876 DigitalOut myled3(LED3);
webmaster 15:7ec76c840343 877
webmaster 15:7ec76c840343 878 int main(void)
webmaster 15:7ec76c840343 879 {
webmaster 15:7ec76c840343 880 printf("main start\n");
webmaster 15:7ec76c840343 881
webmaster 15:7ec76c840343 882 // test_uuid();
webmaster 15:7ec76c840343 883
webmaster 15:7ec76c840343 884
webmaster 15:7ec76c840343 885 socket_init();
webmaster 15:7ec76c840343 886
webmaster 15:7ec76c840343 887 // cout<<"**************************GET NEW WALLET****************************"<<endl;
webmaster 15:7ec76c840343 888 // sd_wallet();
webmaster 15:7ec76c840343 889 // wait(2);
webmaster 15:7ec76c840343 890 cout<<"**************************GET ACCOUNT BALANCE************************"<<endl;
webmaster 15:7ec76c840343 891 while(1)
webmaster 15:7ec76c840343 892 {
webmaster 15:7ec76c840343 893 long balance = sd_account();
webmaster 15:7ec76c840343 894 wait(2);
webmaster 15:7ec76c840343 895 if(balance > 2000000)
webmaster 15:7ec76c840343 896 {
webmaster 15:7ec76c840343 897 myled1 = 1;
webmaster 15:7ec76c840343 898 myled2 = 0;
webmaster 15:7ec76c840343 899 myled3 = 0;
webmaster 15:7ec76c840343 900 }
webmaster 15:7ec76c840343 901 else
webmaster 15:7ec76c840343 902 {
webmaster 15:7ec76c840343 903 myled1 = 0;
webmaster 15:7ec76c840343 904 myled2 = 1;
webmaster 15:7ec76c840343 905 myled3 = 0;
webmaster 15:7ec76c840343 906 }
webmaster 15:7ec76c840343 907 }
webmaster 15:7ec76c840343 908
webmaster 15:7ec76c840343 909 /*
webmaster 15:7ec76c840343 910 cout<<"*************************POST PAYMENT REQUEST********************"<<endl;
webmaster 15:7ec76c840343 911 sd_postpayment();
webmaster 15:7ec76c840343 912 wait(2);
webmaster 15:7ec76c840343 913 cout<<"*************************GET PAYMENT INFO****************"<<endl;
webmaster 15:7ec76c840343 914 sd_getpaymentinfo();
webmaster 15:7ec76c840343 915 wait(2);
webmaster 15:7ec76c840343 916 cout<<"*************************GET TRANSACTIONS INFO***********"<<endl;
webmaster 15:7ec76c840343 917 sd_gettransactions();
webmaster 15:7ec76c840343 918 wait(2);
webmaster 15:7ec76c840343 919 cout<<"*************************GET PAYMENT HISTORY*****************"<<endl;
webmaster 15:7ec76c840343 920 sd_getpaymenthistory();
webmaster 15:7ec76c840343 921 wait(2);
webmaster 15:7ec76c840343 922 cout<<"*************************GET DEFAULT FEE**********************"<<endl;
webmaster 15:7ec76c840343 923 sd_getdefaultfee();
webmaster 15:7ec76c840343 924 wait(2);
webmaster 15:7ec76c840343 925 cout<<"*************************GET SERVER INFO******************"<<endl;
webmaster 15:7ec76c840343 926 sd_getserverinfo();
webmaster 15:7ec76c840343 927 wait(2);
webmaster 15:7ec76c840343 928 cout<<"*************************GET SERVER CONNECTED******************"<<endl;
webmaster 15:7ec76c840343 929 sd_getserverconnected();
webmaster 15:7ec76c840343 930 wait(2);
webmaster 15:7ec76c840343 931 cout<<"*************************GET ORDER LIST********************"<<endl;
webmaster 15:7ec76c840343 932 sd_queryorderlist();
webmaster 15:7ec76c840343 933 wait(2);
webmaster 15:7ec76c840343 934 cout<<"*************************POST ORDER INFO********************"<<endl;
webmaster 15:7ec76c840343 935 sd_commitorder();
webmaster 15:7ec76c840343 936 wait(2);
webmaster 15:7ec76c840343 937 cout<<"*************************DELETE ORDER INFO********************"<<endl;
webmaster 15:7ec76c840343 938 sd_deleteorder();
webmaster 15:7ec76c840343 939 wait(2);
webmaster 15:7ec76c840343 940 cout<<"*************************GET ORDER DETAILED*******************"<<endl;
webmaster 15:7ec76c840343 941 sd_queryorderdetailed();
webmaster 15:7ec76c840343 942
webmaster 15:7ec76c840343 943 */
webmaster 15:7ec76c840343 944
webmaster 15:7ec76c840343 945 //char isContinue = 'y';
webmaster 15:7ec76c840343 946 // do
webmaster 15:7ec76c840343 947 //{
webmaster 15:7ec76c840343 948 //tring type = "spend_account";
webmaster 15:7ec76c840343 949 //string type = "issue";
webmaster 15:7ec76c840343 950 //test_transaction(type);
webmaster 15:7ec76c840343 951 //est_transaction();
webmaster 15:7ec76c840343 952 //rintf("=============5========\n");
webmaster 15:7ec76c840343 953 // }while(1);
webmaster 15:7ec76c840343 954 //}while (isContinue = getch() != 'q');
webmaster 15:7ec76c840343 955
webmaster 15:7ec76c840343 956
webmaster 15:7ec76c840343 957 //test_socket_client();
webmaster 15:7ec76c840343 958
webmaster 15:7ec76c840343 959 socket_fini();
webmaster 15:7ec76c840343 960
webmaster 15:7ec76c840343 961 printf("main end\n");
webmaster 15:7ec76c840343 962 return 0;
webmaster 8:f2a567ee3a46 963 }