Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
6541afc04e
  1. 14
      basilisk/basilisk.c
  2. 1
      gecko/gecko.c
  3. 6
      gecko/gecko_blocks.c

14
basilisk/basilisk.c

@ -269,9 +269,9 @@ void basilisk_p2p(void *_myinfo,void *_addr,char *senderip,uint8_t *data,int32_t
ipbits = (uint32_t)calc_ipbits(senderip);
else ipbits = 0;
len += iguana_rwnum(0,data,sizeof(basilisktag),&basilisktag);
int32_t i; for (i=0; i<datalen-len; i++)
printf("%02x",data[len+i]);
printf(" ->received.%d basilisk_p2p.(%s) from %s tag.%d\n",datalen,type,senderip!=0?senderip:"?",basilisktag);
//int32_t i; for (i=0; i<datalen-len; i++)
// printf("%02x",data[len+i]);
//printf(" ->received.%d basilisk_p2p.(%s) from %s tag.%d\n",datalen,type,senderip!=0?senderip:"?",basilisktag);
basilisk_msgprocess(myinfo,_addr,ipbits,type,basilisktag,&data[len],datalen - len);
if ( ptr != 0 )
free(ptr);
@ -788,9 +788,9 @@ void basilisks_loop(void *arg)
iter++;
if ( (ptr= queue_dequeue(&myinfo->basilisks.submitQ,0)) != 0 )
{
if ( ptr->finished == 0 )
//if ( ptr->finished == 0 )
HASH_ADD(hh,myinfo->basilisks.issued,basilisktag,sizeof(ptr->basilisktag),ptr);
else free(ptr);
//else free(ptr);
continue;
}
if ( (ptr= queue_dequeue(&myinfo->basilisks.resultsQ,0)) != 0 )
@ -1016,7 +1016,7 @@ void basilisk_msgprocess(struct supernet_info *myinfo,void *_addr,uint32_t sende
symbol = "BTCD";
if ( (valsobj= cJSON_Parse((char *)data)) != 0 )
{
printf("MSGVALS.(%s)\n",(char *)data);
//printf("MSGVALS.(%s)\n",(char *)data);
if ( jobj(valsobj,"coin") != 0 )
coin = iguana_coinfind(jstr(valsobj,"coin"));
else if ( jobj(valsobj,"symbol") != 0 )
@ -1074,7 +1074,7 @@ void basilisk_msgprocess(struct supernet_info *myinfo,void *_addr,uint32_t sende
if ( datalen > jsonlen )
{
data += jsonlen, datalen -= jsonlen;
if ( strcmp("BLK",CMD) == 0 )
if ( 0 && strcmp("BLK",CMD) == 0 )
{
for (i=0; i<datalen; i++)
printf("%02x",data[i]);

1
gecko/gecko.c

@ -147,6 +147,7 @@ void *category_subscribe(struct supernet_info *myinfo,bits256 chainhash,bits256
struct gecko_chain *gecko_chain(struct supernet_info *myinfo,char chainname[GECKO_MAXNAMELEN],cJSON *valsobj)
{
char *chainstr,*keystr; bits256 keyhash,chainhash; struct gecko_chain *chain;
chainname[0] = 0;
if ( (chainstr= jstr(valsobj,"chain")) == 0 )
return(0);
if ( (keystr= jstr(valsobj,"key")) != 0 )

6
gecko/gecko_blocks.c

@ -169,7 +169,7 @@ char *gecko_blockarrived(struct supernet_info *myinfo,struct iguana_info *virt,c
{
printf("gecko_blockarrived: duplicate.[%d] txid.%s\n",i,bits256_str(str,txid));
return(clonestr("{\"error\":\"gecko block duplicate txid\"}"));
} else printf("%s is new txid\n",bits256_str(str,txid));
} else printf("%s is new txid ht.%d i.%d\n",bits256_str(str,txid),virt->blocks.hwmchain.height,i);
}
txdata.zblock.RO.allocsize = iguana_ROallocsize(virt);
if ( iguana_blockvalidate(virt,&valid,(struct iguana_block *)&txdata.zblock,1) < 0 )
@ -187,11 +187,13 @@ char *gecko_blockarrived(struct supernet_info *myinfo,struct iguana_info *virt,c
adjacent = -1;
for (i=0; i<virt->chain->bundlesize; i++)
{
char str2[65];
printf("scan back.%d: prev.%s hwm.%s ht.%d\n",i,bits256_str(str,prev->RO.prev_block),bits256_str(str2,virt->blocks.hwmchain.RO.hash2),virt->blocks.hwmchain.height);
if ( (prev= iguana_blockfind("geckoprev",virt,prev->RO.prev_block)) == 0 )
return(clonestr("{\"error\":\"gecko block is orphan\"}"));
if ( i == 0 )
adjacent = prev->height;
//printf("i.%d prevht.%d adjacent.%d hwm.%d\n",i,prev->height,adjacent,virt->blocks.hwmchain.height);
printf("i.%d prevht.%d adjacent.%d hwm.%d\n",i,prev->height,adjacent,virt->blocks.hwmchain.height);
if ( prev->height >= 0 && prev->mainchain != 0 )
{
if ( (adjacent + 1) > virt->blocks.hwmchain.height ) // longest chain wins

Loading…
Cancel
Save