Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
041f6d5e9a
  1. 50
      iguana/iguana_realtime.c
  2. 17
      iguana/iguana_recv.c

50
iguana/iguana_realtime.c

@ -464,6 +464,31 @@ int32_t iguana_realtime_update(struct supernet_info *myinfo,struct iguana_info *
return(flag);
}
void iguana_RTtxid(struct iguana_info *coin,struct iguana_block *block,int64_t polarity,int32_t txi,int32_t txn_count,bits256 txid,int32_t numvouts,int32_t numvins,uint32_t locktime,uint32_t version,uint32_t timestamp)
{
char str[65];
if ( strcmp("BTC",coin->symbol) != 0 )
printf("%s txid.(%s) vouts.%d vins.%d version.%d lock.%u t.%u %lld\n",coin->symbol,bits256_str(str,txid),numvouts,numvins,version,locktime,timestamp,(long long)polarity);
}
void iguana_RTspend(struct iguana_info *coin,struct iguana_block *block,int64_t polarity,bits256 txid,int32_t vini,bits256 prev_hash,int32_t prev_vout)
{
char str[65],str2[65];
if ( strcmp("BTC",coin->symbol) != 0 )
printf("%s vini.%d spend.(%s/v%d) %lld\n",bits256_str(str,txid),vini,bits256_str(str2,prev_hash),prev_vout,(long long)polarity);
}
void iguana_RTunspent(struct iguana_info *coin,struct iguana_block *block,int64_t polarity,char *coinaddr,uint8_t *rmd160,bits256 txid,int32_t vout,int64_t value)
{
int32_t i;
if ( strcmp("BTC",coin->symbol) != 0 )
{
for (i=0; i<20; i++)
printf("%02x",rmd160[i]);
printf(" %s vout.%d %.8f %lld\n",coinaddr,vout,dstr(value),(long long)polarity);
}
}
void iguana_RTreset(struct iguana_info *coin)
{
iguana_utxoaddrs_purge(coin);
@ -527,31 +552,6 @@ void iguana_RTpurge(struct iguana_info *coin,int32_t lastheight)
printf("end RTpurge.%d\n",lastheight);
}
void iguana_RTtxid(struct iguana_info *coin,struct iguana_block *block,int64_t polarity,int32_t txi,int32_t txn_count,bits256 txid,int32_t numvouts,int32_t numvins,uint32_t locktime,uint32_t version,uint32_t timestamp)
{
char str[65];
if ( strcmp("BTC",coin->symbol) != 0 )
printf("%s txid.(%s) vouts.%d vins.%d version.%d lock.%u t.%u %lld\n",coin->symbol,bits256_str(str,txid),numvouts,numvins,version,locktime,timestamp,(long long)polarity);
}
void iguana_RTspend(struct iguana_info *coin,struct iguana_block *block,int64_t polarity,bits256 txid,int32_t vini,bits256 prev_hash,int32_t prev_vout)
{
char str[65],str2[65];
if ( strcmp("BTC",coin->symbol) != 0 )
printf("%s vini.%d spend.(%s/v%d) %lld\n",bits256_str(str,txid),vini,bits256_str(str2,prev_hash),prev_vout,(long long)polarity);
}
void iguana_RTunspent(struct iguana_info *coin,struct iguana_block *block,int64_t polarity,char *coinaddr,uint8_t *rmd160,bits256 txid,int32_t vout,int64_t value)
{
int32_t i;
if ( strcmp("BTC",coin->symbol) != 0 )
{
for (i=0; i<20; i++)
printf("%02x",rmd160[i]);
printf(" %s vout.%d %.8f %lld\n",coinaddr,vout,dstr(value),(long long)polarity);
}
}
void iguana_RTiterate(struct iguana_info *coin,int32_t offset,struct iguana_block *block,int64_t polarity)
{
struct iguana_txblock txdata; uint8_t *serialized; int32_t n,len; uint32_t recvlen = 0;

17
iguana/iguana_recv.c

@ -1213,6 +1213,19 @@ int32_t iguana_blockreq(struct iguana_info *coin,int32_t height,int32_t priority
int32_t iguana_reqblocks(struct iguana_info *coin)
{
int32_t hdrsi,lflag,bundlei,iters=0,flag = 0; bits256 hash2; struct iguana_block *next,*block; struct iguana_bundle *bp;
if ( (block= iguana_blockfind("hwmcheck",coin,coin->blocks.hwmchain.RO.hash2)) == 0 || block->mainchain == 0 || block->height != coin->blocks.hwmchain.height )
{
printf("HWM mismatch ht.%d vs %d\n",block->height,coin->blocks.hwmchain.height);
if ( coin->blocks.hwmchain.height > 0 )
{
if ( (block= iguana_blockfind("hwmcheckb",coin,coin->blocks.hwmchain.RO.prev_block)) != 0 )
{
printf("decrement HWM\n");
iguana_blockzcopy(coin->chain->zcash,(struct iguana_block *)&coin->blocks.hwmchain,block);
return(0);
}
}
}
if ( time(NULL) < coin->lastreqtime+2 )
return(0);
coin->lastreqtime = (uint32_t)time(NULL);
@ -1220,12 +1233,12 @@ int32_t iguana_reqblocks(struct iguana_info *coin)
hdrsi = (coin->blocks.hwmchain.height + 1) / coin->chain->bundlesize;
if ( (bp= coin->bundles[hdrsi]) != 0 )
{
for (bundlei=0; bundlei<coin->chain->bundlesize; bundlei++)
/*for (bundlei=0; bundlei<coin->chain->bundlesize; bundlei++)
if ( (block= bp->blocks[bundlei]) != 0 && bits256_cmp(block->RO.hash2,bp->hashes[bundlei]) != 0 && bits256_nonz(bp->hashes[bundlei]) != 0 )
{
char str[65]; printf("%s [%d] bundlei.%d ht.%d vs expected %d\n",bits256_str(str,bp->hashes[bundlei]),hdrsi,bundlei,block->height,bp->bundleheight+bundlei);
bp->blocks[bundlei] = iguana_blockfind("fixit",coin,bp->hashes[bundlei]);
}
}*/
bundlei = (coin->blocks.hwmchain.height+1) % coin->chain->bundlesize;
if ( (next= bp->blocks[bundlei]) != 0 || (next= iguana_blockfind("reqblocks",coin,bp->hashes[bundlei])) != 0 )
{

Loading…
Cancel
Save