Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
c15e6f5a25
  1. 2
      iguana/iguana777.h
  2. 4
      iguana/iguana_msg.c
  3. 13
      iguana/iguana_ramchain.c
  4. 3
      iguana/iguana_unspents.c
  5. 2
      iguana/main.c

2
iguana/iguana777.h

@ -446,7 +446,7 @@ struct iguana_bundle
struct queueitem DL; struct iguana_info *coin; struct iguana_bundle *nextbp;
struct iguana_bloom16 bloom; int64_t totaldurations,duplicatedurations; int32_t durationscount,duplicatescount;
uint32_t issuetime,hdrtime,emitfinish,mergefinish,purgetime,queued,startutxo,utxofinish,balancefinish,validated,lastspeculative,dirty,nexttime,currenttime,lastprefetch,lastRT,missingstime,unsticktime,converted;
int32_t numhashes,numrecv,numsaved,numcached,generrs,currentflag,origmissings,numissued;
int32_t numhashes,numrecv,numsaved,numcached,generrs,currentflag,origmissings,numissued,Xvalid;
int32_t minrequests,n,hdrsi,bundleheight,numtxids,numspends,numunspents,numspec,isRT;
double avetime,threshold,metric; uint64_t datasize,estsize;
struct iguana_block *blocks[IGUANA_MAXBUNDLESIZE];

4
iguana/iguana_msg.c

@ -217,7 +217,7 @@ void iguana_gotverack(struct iguana_info *coin,struct iguana_peer *addr)
uint8_t serialized[sizeof(struct iguana_msghdr)];
if ( addr != 0 )
{
printf("gotverack from %s\n",addr->ipaddr);
//printf("gotverack from %s\n",addr->ipaddr);
addr->A.nTime = (uint32_t)time(NULL);
iguana_queue_send(coin,addr,0,serialized,"getaddr",0,0,0);
if ( addr->supernet != 0 )
@ -237,7 +237,7 @@ void iguana_gotaddr(struct iguana_info *coin,struct iguana_peer *addr,struct igu
if ( port != 0 )
sprintf(ipport,"%s:%d",ipaddr,port);
iguana_possible_peer(coin,ipport);
printf("gotaddr.(%s:%d) from (%s)\n",ipaddr,port,addr->ipaddr);
//printf("gotaddr.(%s:%d) from (%s)\n",ipaddr,port,addr->ipaddr);
}
void iguana_gotping(struct iguana_info *coin,struct iguana_peer *addr,uint64_t nonce,uint8_t *data)

13
iguana/iguana_ramchain.c

@ -1334,22 +1334,25 @@ int32_t iguana_Xspendmap(struct iguana_info *coin,struct iguana_ramchain *ramcha
for (iter=0; iter<2; iter++)
{
sprintf(fname,"%s/%s%s/spends/%s.%d",GLOBAL_DBDIR,iter==0?"ro/":"",coin->symbol,bits256_str(str,bp->hashes[0]),bp->bundleheight);
//if ( iguana_peerfname(coin,&hdrsi,dirname,fname,0,bp->hashes[0],zero,bp->n) >= 0 )
{
if ( (ptr= OS_mapfile(fname,&filesize,0)) != 0 )
{
ramchain->Xspendinds = (void *)((long)ptr + sizeof(sha256));
if ( bp->Xvalid == 0 )
vcalc_sha256(0,sha256.bytes,(void *)ramchain->Xspendinds,(int32_t)(filesize - sizeof(sha256)));
if ( memcmp(sha256.bytes,ptr,sizeof(sha256)) == 0 )
if ( bp->Xvalid != 0 || memcmp(sha256.bytes,ptr,sizeof(sha256)) == 0 )
{
ramchain->Xspendptr = ptr;
ramchain->numXspends = (int32_t)((filesize - sizeof(sha256)) / sizeof(*ramchain->Xspendinds));
ramchain->from_roX = (iter == 0);
bp->startutxo = bp->utxofinish = (uint32_t)time(NULL);
if ( bp->Xvalid == 0 )
{
printf("[%d] filesize %ld Xspendptr.%p %p num.%d\n",bp->hdrsi,filesize,ramchain->Xspendptr,ramchain->Xspendinds,ramchain->numXspends);
bp->Xvalid = 1;
}
return(ramchain->numXspends);
//int32_t i; for (i=0; i<ramchain->numXspends; i++)
// printf("(%d u%d) ",ramchain->Xspendinds[i].hdrsi,ramchain->Xspendinds[i].ind);
//printf("filesize %ld Xspendptr.%p %p num.%d\n",ftell(fp),ramchain->Xspendptr,ramchain->Xspendinds,ramchain->numXspends);
//printf("mapped utxo vector[%d] from (%s)\n",ramchain->numXspends,fname);
}
else
@ -1358,7 +1361,6 @@ int32_t iguana_Xspendmap(struct iguana_info *coin,struct iguana_ramchain *ramcha
munmap(ptr,filesize);
ramchain->Xspendinds = 0;
}
} //else if ( iter == 1 ) printf("no Xspendfile.(%s)\n",fname);
}
}
return(ramchain->numXspends);
@ -1484,6 +1486,7 @@ struct iguana_ramchain *_iguana_ramchain_map(struct iguana_info *coin,char *fnam
}
}
//printf("iguana_ramchain_map.(%s) size %ld vs %ld vs filesize.%ld numblocks.%d expanded.%d fpos.%d sum %ld\n",fname,(long)iguana_ramchain_size(RAMCHAIN_ARG,ramchain->numblocks,ramchain->H.data->scriptspace),(long)ramchain->H.data->allocsize,(long)filesize,ramchain->numblocks,expanded,(int32_t)fpos,(long)(fpos+ramchain->H.data->allocsize));
bp->Xvalid = 1;
iguana_Xspendmap(coin,ramchain,bp);
return(ramchain);
} else printf("iguana_ramchain_map.(%s) cant map file\n",fname);

3
iguana/iguana_unspents.c

@ -1034,6 +1034,7 @@ int32_t iguana_spendvectorsave(struct iguana_info *coin,struct iguana_bundle *bp
retval = 0;
fsize = ftell(fp);
fclose(fp), fp = 0;
bp->Xvalid = 0;
if ( iguana_Xspendmap(coin,ramchain,bp) < 0 )
printf("error mapping Xspendmap.(%s)\n",fname);
else
@ -1361,6 +1362,7 @@ void iguana_truncatebalances(struct iguana_info *coin)
if ( (bp= coin->bundles[i]) != 0 )
{
bp->balancefinish = 0;
bp->Xvalid = 0;
iguana_volatilespurge(coin,&bp->ramchain);
}
}
@ -1428,6 +1430,7 @@ int32_t iguana_volatilesinit(struct iguana_info *coin)
{
if ( filecrc == 0 )
{
fprintf(stderr,".");
vupdate_sha256(balancehash.bytes,&vstate,(void *)Aptr,sizeof(*Aptr) * numpkinds);
vupdate_sha256(balancehash.bytes,&vstate,(void *)Uptr,sizeof(*Uptr) * numunspents);
vupdate_sha256(allbundles.bytes,&bstate,(void *)bp->hashes,sizeof(bp->hashes[0]) * bp->n);

2
iguana/main.c

@ -1142,7 +1142,7 @@ void iguana_appletests(struct supernet_info *myinfo)
exit(-1);
}
sleep(1);*/
if ( 1 && (str= SuperNET_JSON(myinfo,cJSON_Parse("{\"prefetchlag\":13,\"agent\":\"iguana\",\"method\":\"addcoin\",\"startpend\":500,\"endpend\":500,\"services\":128,\"maxpeers\":64,\"newcoin\":\"BTCD\",\"active\":1,\"numhelpers\":4,\"poll\":1}"),0,myinfo->rpcport)) != 0 )
if ( 1 && (str= SuperNET_JSON(myinfo,cJSON_Parse("{\"prefetchlag\":13,\"agent\":\"iguana\",\"method\":\"addcoin\",\"startpend\":500,\"endpend\":500,\"services\":128,\"maxpeers\":64,\"newcoin\":\"BTC\",\"active\":1,\"numhelpers\":4,\"poll\":1}"),0,myinfo->rpcport)) != 0 )
{
free(str);
if ( 0 && (str= SuperNET_JSON(myinfo,cJSON_Parse("{\"userhome\":\"/Users/jimbolaptop/Library/Application Support\",\"agent\":\"iguana\",\"method\":\"addcoin\",\"services\":1024,\"maxpeers\":256,\"newcoin\":\"BTCD\",\"active\":1}"),0,myinfo->rpcport)) != 0 )

Loading…
Cancel
Save