Browse Source

API add 'Network Difficulty' to 'coin'

Kano 13 years ago
parent
commit
0eafc8b9fe
4 changed files with 7 additions and 1 deletions
  1. 3 1
      API-README
  2. 1 0
      api.c
  3. 2 0
      cgminer.c
  4. 1 0
      miner.h

+ 3 - 1
API-README

@@ -306,7 +306,8 @@ The list of requests - a (*) means it requires privileged access - and replies a
                               Hash Method=sha256/scrypt,
                               Hash Method=sha256/scrypt,
                               Current Block Time=N.N, <- 0 means none
                               Current Block Time=N.N, <- 0 means none
                               Current Block Hash=XXXX..., <- blank if none
                               Current Block Hash=XXXX..., <- blank if none
-                              LP=true/false| <- LP is in use on at least 1 pool
+                              LP=true/false, <- LP is in use on at least 1 pool
+                              Network Difficulty=NN.NN|
 
 
  debug|setting (*)
  debug|setting (*)
                DEBUG          Debug settings
                DEBUG          Debug settings
@@ -430,6 +431,7 @@ Added API commands:
 Modified API commands:
 Modified API commands:
  'devs' 'gpu' and 'pga' - add 'Last Valid Work'
  'devs' 'gpu' and 'pga' - add 'Last Valid Work'
  'config' - add 'Hotplug'
  'config' - add 'Hotplug'
+ 'coin' - add 'Network Difficulty'
 
 
 ----------
 ----------
 
 

+ 1 - 0
api.c

@@ -3210,6 +3210,7 @@ static void minecoin(struct io_data *io_data, __maybe_unused SOCKETTYPE c, __may
 	mutex_unlock(&ch_lock);
 	mutex_unlock(&ch_lock);
 
 
 	root = api_add_bool(root, "LP", &have_longpoll, false);
 	root = api_add_bool(root, "LP", &have_longpoll, false);
+	root = api_add_diff(root, "Network Difficulty", &current_diff, true);
 
 
 	root = print_data(root, buf, isjson, false);
 	root = print_data(root, buf, isjson, false);
 	io_add(io_data, buf);
 	io_add(io_data, buf);

+ 2 - 0
cgminer.c

@@ -232,6 +232,7 @@ static char datestamp[40];
 static char blocktime[32];
 static char blocktime[32];
 struct timeval block_timeval;
 struct timeval block_timeval;
 static char best_share[8] = "0";
 static char best_share[8] = "0";
+double current_diff;
 static char block_diff[8];
 static char block_diff[8];
 uint64_t best_diff = 0;
 uint64_t best_diff = 0;
 
 
@@ -3607,6 +3608,7 @@ static void set_blockdiff(const struct work *work)
 
 
 	diff64 = diffone / d64;
 	diff64 = diffone / d64;
 	suffix_string(diff64, block_diff, 0);
 	suffix_string(diff64, block_diff, 0);
+	current_diff = (double)diffone / (double)d64;
 }
 }
 
 
 static bool test_work_current(struct work *work)
 static bool test_work_current(struct work *work)

+ 1 - 0
miner.h

@@ -844,6 +844,7 @@ extern const int opt_cutofftemp;
 extern int opt_log_interval;
 extern int opt_log_interval;
 extern unsigned long long global_hashrate;
 extern unsigned long long global_hashrate;
 extern char *current_fullhash;
 extern char *current_fullhash;
+extern double current_diff;
 extern uint64_t best_diff;
 extern uint64_t best_diff;
 extern struct timeval block_timeval;
 extern struct timeval block_timeval;