Browse Source

Merge pull request #274 from jl777/dev

Dev
win-cross
jl777 8 years ago
committed by GitHub
parent
commit
a94fadce3a
  1. 18
      iguana/dpow/dpow_network.c
  2. 24
      iguana/kmd_lookup.h
  3. 3
      iguana/main.c

18
iguana/dpow/dpow_network.c

@ -287,13 +287,13 @@ char *_dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *key,int32
{ {
timeout = 1000; timeout = 1000;
nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_SNDTIMEO,&timeout,sizeof(timeout)); nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_SNDTIMEO,&timeout,sizeof(timeout));
timeout = 500; //timeout = 1500;
nn_setsockopt(reqsock,NN_TCP,NN_RECONNECT_IVL,&timeout,sizeof(timeout)); //nn_setsockopt(reqsock,NN_TCP,NN_RECONNECT_IVL,&timeout,sizeof(timeout));
timeout = 1000; timeout = 3000;
nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_RCVTIMEO,&timeout,sizeof(timeout)); nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_RCVTIMEO,&timeout,sizeof(timeout));
prio = 1; //prio = 1;
nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_SNDPRIO,&prio,sizeof(prio)); //nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_SNDPRIO,&prio,sizeof(prio));
nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_RCVPRIO,&prio,sizeof(prio)); //nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_RCVPRIO,&prio,sizeof(prio));
for (i=0; i<sizeof(myinfo->dexseed_ipaddrs)/sizeof(*myinfo->dexseed_ipaddrs); i++) for (i=0; i<sizeof(myinfo->dexseed_ipaddrs)/sizeof(*myinfo->dexseed_ipaddrs); i++)
{ {
if ( nn_connect(reqsock,nanomsg_tcpname(0,str,myinfo->dexseed_ipaddrs[i],REP_SOCK)) < 0 ) if ( nn_connect(reqsock,nanomsg_tcpname(0,str,myinfo->dexseed_ipaddrs[i],REP_SOCK)) < 0 )
@ -303,9 +303,9 @@ char *_dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *key,int32
break; break;
} }
} }
prio = 8; //prio = 8;
nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_SNDPRIO,&prio,sizeof(prio)); //nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_SNDPRIO,&prio,sizeof(prio));
nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_RCVPRIO,&prio,sizeof(prio)); //nn_setsockopt(reqsock,NN_SOL_SOCKET,NN_RCVPRIO,&prio,sizeof(prio));
} }
if ( reqsock >= 0 ) if ( reqsock >= 0 )
{ {

24
iguana/kmd_lookup.h

@ -203,7 +203,7 @@ FILE *kmd_txidinit(struct iguana_info *coin)
{ {
if ( (tx= kmd_transactionalloc(T.txid,T.height,T.timestamp,T.numvouts,T.numvins)) != 0 ) if ( (tx= kmd_transactionalloc(T.txid,T.height,T.timestamp,T.numvouts,T.numvins)) != 0 )
{ {
//printf("INIT %s.[%d] vins.[%d] ht.%d %u\n",bits256_str(str,T.txid),T.numvouts,T.numvins,T.height,T.timestamp); //char str[65]; printf("INIT %s.[%d] vins.[%d] ht.%d %u\n",bits256_str(str,T.txid),T.numvouts,T.numvins,T.height,T.timestamp);
if ( (ptr= kmd_transactionadd(coin,tx,T.numvouts,T.numvins)) != 0 ) if ( (ptr= kmd_transactionadd(coin,tx,T.numvouts,T.numvins)) != 0 )
{ {
if ( ptr != kmd_transaction(coin,tx->txid) ) if ( ptr != kmd_transaction(coin,tx->txid) )
@ -392,9 +392,24 @@ cJSON *kmd_gettxin(struct iguana_info *coin,bits256 txid,int32_t vout)
cJSON *kmd_listaddress(struct supernet_info *myinfo,struct iguana_info *coin,char *coinaddr,int32_t mode,cJSON *array) cJSON *kmd_listaddress(struct supernet_info *myinfo,struct iguana_info *coin,char *coinaddr,int32_t mode,cJSON *array)
{ {
struct kmd_addresshh *addr; struct kmd_transactionhh *ptr=0,*spent,*prev=0; uint8_t type_rmd160[21]; int32_t i; struct kmd_addresshh *addr; struct kmd_transactionhh *ptr=0,*spent,*prev=0; uint8_t type_rmd160[21]; int32_t i; char *retstr; cJSON *retjson;
if ( array == 0 ) if ( array == 0 )
array = cJSON_CreateArray(); array = cJSON_CreateArray();
printf("%s listaddress.(%s)\n",coin->symbol,coinaddr);
if ( (retstr= bitcoinrpc_validateaddress(myinfo,coin,0,0,coinaddr)) != 0 )
{
if ( (retjson= cJSON_Parse(retstr)) != 0 )
{
if ( jobj(retjson,"error") != 0 && is_cJSON_False(jobj(retjson,"error")) == 0 )
{
printf("%s\n",retstr);
free(retstr);
return(retjson);
}
free_json(retjson);
}
free(retstr);
}
/*if ( time(NULL) > coin->kmd_lasttime+30 ) /*if ( time(NULL) > coin->kmd_lasttime+30 )
{ {
coin->kmd_lasttime = (uint32_t)time(NULL); coin->kmd_lasttime = (uint32_t)time(NULL);
@ -626,8 +641,8 @@ int32_t _kmd_bitcoinscan(struct iguana_info *coin)
while ( loadheight < height-lag ) while ( loadheight < height-lag )
{ {
flag = 0; flag = 0;
if ( (loadheight % 10000) == 0 ) //if ( (loadheight % 10000) == 0 )
printf("loading ht.%d\n",loadheight);//,jprint(kmd_getbalance(coin,"*"),1)); printf("loading %s ht.%d vs height.%d - lag.%d kmdheight.%d\n",coin->symbol,loadheight,height,lag,coin->kmd_height);//,jprint(kmd_getbalance(coin,"*"),1));
if ( (blockjson= kmd_blockjson(&h,coin->symbol,coin->chain->serverport,coin->chain->userpass,0,loadheight)) != 0 ) if ( (blockjson= kmd_blockjson(&h,coin->symbol,coin->chain->serverport,coin->chain->userpass,0,loadheight)) != 0 )
{ {
if ( (txids= jarray(&numtxids,blockjson,"tx")) != 0 ) if ( (txids= jarray(&numtxids,blockjson,"tx")) != 0 )
@ -748,6 +763,7 @@ void kmd_bitcoinscan()
{ {
//if ( strcmp("KMD",coin->symbol) == 0 ) //if ( strcmp("KMD",coin->symbol) == 0 )
_kmd_bitcoinscan(coin); _kmd_bitcoinscan(coin);
usleep(250000);
} }
} }
} }

3
iguana/main.c

@ -485,7 +485,10 @@ void mainloop(struct supernet_info *myinfo)
usleep(30000); usleep(30000);
} }
if ( myinfo->DEXEXPLORER != 0 ) if ( myinfo->DEXEXPLORER != 0 )
{
kmd_bitcoinscan(); kmd_bitcoinscan();
usleep(100000);
}
//pangea_queues(SuperNET_MYINFO(0)); //pangea_queues(SuperNET_MYINFO(0));
//if ( flag == 0 ) //if ( flag == 0 )
// usleep(100000 + isRT*100000 + (numpeers == 0)*1000000); // usleep(100000 + isRT*100000 + (numpeers == 0)*1000000);

Loading…
Cancel
Save