@@ -201,8 +201,6 @@ void BTL_GUI::on_resetwallet_clicked()
201
201
// 채굴 시작 버튼
202
202
void BTL_GUI::on_mining_clicked ()
203
203
{
204
-
205
-
206
204
QString mining_count = ui.miningcount ->text ();
207
205
QString cmd = NODE " -generate " + mining_count/* + " 2>&1"*/ ;
208
206
@@ -372,15 +370,116 @@ void BTL_GUI::on_resettx_clicked()
372
370
}
373
371
view_tx_list (transaction, tx_list, tx_amount_group, tx_addr_group, tx_mining_group, tx_txid_group, tx_send_group);
374
372
prev_tx[0 ].save_tx = tx_list;
373
+ }
375
374
376
-
375
+ void BTL_GUI::on_my_mining_button_clicked ()
376
+ {
377
+ Mining_info mining_info[MINING_LIST_COUNT] = { 0 , };
378
+ Mining_info prev_mining_info[MINING_LIST_COUNT] = { 0 , };
379
+
380
+ QLabel *mining_group[MINING_LIST_COUNT] = { ui.mining1 , ui.mining2 ,ui.mining3 ,ui.mining4 , ui.mining5 };
381
+ QLabel *mining_amount_group[MINING_LIST_COUNT] = { ui.mining_amount1 , ui.mining_amount2 ,ui.mining_amount3 ,ui.mining_amount4 , ui.mining_amount5 };
382
+ // QLabel *tx_mining_group[TX_LIST_COUNT] = { ui.tx_mining, ui.tx_mining_2 ,ui.tx_mining_3,ui.tx_mining_4, ui.tx_mining_5, ui.tx_mining_6, ui.tx_mining_7 };
383
+ // QLabel *tx_txid_group[TX_LIST_COUNT] = { ui.tx_id, ui.tx_id_2 ,ui.tx_id_3,ui.tx_id_4, ui.tx_id_5, ui.tx_id_6, ui.tx_id_7 };
384
+ // QLabel *tx_send_group[TX_LIST_COUNT] = { ui.tx_send, ui.tx_send_2 ,ui.tx_send_3,ui.tx_send_4, ui.tx_send_5, ui.tx_send_6, ui.tx_send_7 };
385
+
386
+ prev_mining_info[0 ].save_mining = init_mining_list (prev_mining_info, mining_group, mining_amount_group);
387
+
388
+ int compare_count = 0 ;
389
+ int mining_start_p = 0 ;
390
+ int mining_list = 0 ;
391
+ int mining_count = 0 ;
392
+
393
+ QString cmd;
394
+ QString result;
395
+ QJsonDocument doc;
396
+ QJsonObject mining_obj;
397
+ QJsonArray mining_array;
398
+ QJsonArray mining_array2;
399
+
400
+ // 수신 일때, 송신자의 주소를 알기 위한 vin의 정보
401
+ // QJsonObject vin_obj;
402
+ // QJsonArray vin_array;
403
+ // int vin_n;
404
+ // QString vin_txid;
405
+
406
+ bool iscontinue = true ;
407
+ while (iscontinue)
408
+ {
409
+ cmd = NODE " listtransactions \" *\" " + QString::number (MINING_LIST_COUNT) + " " + QString::number (mining_start_p);
410
+ result = CmdExe (cmd);
411
+ if (result == " [\r\n ]" )
412
+ break ;
413
+ doc = QJsonDocument::fromJson (result.toUtf8 ());
414
+ mining_array = doc.array ();
415
+ mining_count = mining_array.size ();
416
+
417
+ for (int i = mining_count - 1 ; i >= 0 ; i--)
418
+ {
419
+ mining_obj = mining_array[i].toObject ();
420
+ mining_info[mining_list].category = mining_obj.value (" category" ).toString ();
421
+ if (mining_info[mining_list].category == " immature" || mining_info[mining_list].category == " generate" )
422
+ {
423
+ if (mining_info[mining_list].category == " immature" ) mining_info[mining_list].category == " immature" ;
424
+ else mining_info[mining_list].category == " generate" ;
425
+
426
+ mining_info[mining_list].amount = fabs (mining_obj.value (" amount" ).toDouble ());
427
+ mining_info[mining_list].blockhash = mining_obj.value (" blockhash" ).toString ();
428
+
429
+ int time_int = mining_obj.value (" time" ).toInt ();
430
+ time_t epch = time_int + 32400 ;
431
+ char *current_time = asctime (gmtime (&epch));
432
+ mining_info[mining_list].time = current_time;
433
+
434
+ // if (t x_obj.value("confirmations").toInt() == 0)
435
+ // transaction[tx_list].check_mining = "Mining Wait....";
436
+ // else
437
+ // transaction[tx_list].check_mining = "Mining Success!";
438
+
439
+ // 이전 최근 목록과 같으면.. 이후 TX copy
440
+ if (mining_info[mining_list].blockhash == prev_mining_info[compare_count].blockhash && mining_info[mining_list].time == prev_mining_info[compare_count].time )
441
+ {
442
+ if (mining_info[mining_list].category != prev_mining_info[compare_count].category ) compare_count++;
443
+ else
444
+ {
445
+ int count = 0 ;
446
+ for (int j = mining_list; j < mining_list + prev_mining_info[0 ].save_mining - compare_count; j++)
447
+ {
448
+ mining_info[j].blockhash = prev_mining_info[j - mining_list + compare_count].blockhash ;
449
+ mining_info[j].category = prev_mining_info[j - mining_list + compare_count].category ;
450
+ mining_info[j].amount = prev_mining_info[j - mining_list + compare_count].amount ;
451
+ mining_info[j].time = prev_mining_info[j - mining_list + compare_count].time ;
452
+ // mining_info[j].check_mining = prev_mining_info[j - mining_list + compare_count].check_mining;
453
+ if (j == MINING_LIST_COUNT - 1 )
454
+ {
455
+ mining_list++;
456
+ break ;
457
+ }
458
+ count++;
459
+ }
460
+ mining_list = mining_list + count;
461
+ iscontinue = false ;
462
+ break ;
463
+ }
464
+ }
465
+ // if (tx_list == 0) transaction[0].tx_obj = tx_obj;
466
+ mining_list++;
467
+ }
468
+ if (mining_list == MINING_LIST_COUNT)
469
+ {
470
+ iscontinue = false ;
471
+ break ;
472
+ }
473
+ }
474
+ mining_start_p += TX_SCAN_COUNT;
475
+ }
476
+ view_mining_list (mining_info, mining_list, mining_group, mining_amount_group);
477
+ prev_mining_info[0 ].save_mining = mining_list;
377
478
}
378
479
379
480
// 대시보드 리셋
380
481
void BTL_GUI::on_resetinfo_clicked ()
381
482
{
382
-
383
-
384
483
QString cmd = NODE " getblockcount" ; // 블록 갯수
385
484
QString getblockcount = CmdExe (cmd);
386
485
cmd = NODE " getconnectioncount" ; // Node 수
@@ -405,7 +504,7 @@ void BTL_GUI::on_resetinfo_clicked()
405
504
QString blockhash[BLOCK_LIST_COUNT];
406
505
QString prev_blockhash[BLOCK_LIST_COUNT];
407
506
408
- init_blockhash_list (prev_blockhash, blocklist, block_group);
507
+ // init_blockhash_list(prev_blockhash, blocklist, block_group);
409
508
410
509
if (blockcount != 0 )
411
510
{
@@ -428,12 +527,9 @@ void BTL_GUI::on_resetinfo_clicked()
428
527
block_group[i]->setText (blockhash[i]);
429
528
blocknum_group[i]->setText (QString::number (blockcount - i));
430
529
}
431
-
432
530
ui.blockcount ->setText (getblockcount);
433
531
ui.usercount ->setText (getconnectioncount);
434
532
}
435
-
436
-
437
533
}
438
534
439
535
void BTL_GUI::on_block1_clicked ()
0 commit comments