Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
8f202f552d
  1. 2
      iguana/iguana777.h
  2. 9
      iguana/iguana_blocks.c
  3. 2
      iguana/iguana_bundles.c
  4. 2
      iguana/iguana_ramchain.c

2
iguana/iguana777.h

@ -621,7 +621,7 @@ long iguana_ramchain_data(struct iguana_info *coin,struct iguana_peer *addr,stru
int32_t iguana_bundlehash2add(struct iguana_info *coin,struct iguana_block **blockp,struct iguana_bundle *bp,int32_t bundlei,bits256 hash2); int32_t iguana_bundlehash2add(struct iguana_info *coin,struct iguana_block **blockp,struct iguana_bundle *bp,int32_t bundlei,bits256 hash2);
struct iguana_block *iguana_bundleblockadd(struct iguana_info *coin,struct iguana_bundle **bpp,int32_t *bundleip,struct iguana_block *origblock); struct iguana_block *iguana_bundleblockadd(struct iguana_info *coin,struct iguana_bundle **bpp,int32_t *bundleip,struct iguana_block *origblock);
int32_t iguana_chainextend(struct iguana_info *coin,struct iguana_block *newblock); int32_t iguana_chainextend(struct iguana_info *coin,struct iguana_block *newblock);
int32_t iguana_blockvalidate(struct iguana_info *coin,int32_t *validp,struct iguana_block *block); int32_t iguana_blockvalidate(struct iguana_info *coin,int32_t *validp,struct iguana_block *block,int32_t dispflag);
char *iguana_bundledisp(struct iguana_info *coin,struct iguana_bundle *prevbp,struct iguana_bundle *bp,struct iguana_bundle *nextbp,int32_t m); char *iguana_bundledisp(struct iguana_info *coin,struct iguana_bundle *prevbp,struct iguana_bundle *bp,struct iguana_bundle *nextbp,int32_t m);
struct iguana_bundle *iguana_bundlefind(struct iguana_info *coin,struct iguana_bundle **bpp,int32_t *bundleip,bits256 hash2); struct iguana_bundle *iguana_bundlefind(struct iguana_info *coin,struct iguana_bundle **bpp,int32_t *bundleip,bits256 hash2);
//int32_t iguana_chainheight(struct iguana_info *coin,struct iguana_block *origblock); //int32_t iguana_chainheight(struct iguana_info *coin,struct iguana_block *origblock);

9
iguana/iguana_blocks.c

@ -130,7 +130,7 @@ struct iguana_block *iguana_blockptr(struct iguana_info *coin,int32_t height)
return(0); return(0);
} }
int32_t iguana_blockvalidate(struct iguana_info *coin,int32_t *validp,struct iguana_block *block) int32_t iguana_blockvalidate(struct iguana_info *coin,int32_t *validp,struct iguana_block *block,int32_t dispflag)
{ {
bits256 hash2; uint8_t serialized[sizeof(struct iguana_msgblock) + 4096]; bits256 hash2; uint8_t serialized[sizeof(struct iguana_msgblock) + 4096];
*validp = 0; *validp = 0;
@ -140,7 +140,8 @@ int32_t iguana_blockvalidate(struct iguana_info *coin,int32_t *validp,struct igu
char str[65]; char str2[65]; char str[65]; char str2[65];
if ( *validp == 0 ) if ( *validp == 0 )
{ {
printf("iguana_blockvalidate: miscompare (%s) vs (%s)\n",bits256_str(str,hash2),bits256_str(str2,block->RO.hash2)); if ( dispflag != 0 )
printf("iguana_blockvalidate: miscompare (%s) vs (%s)\n",bits256_str(str,hash2),bits256_str(str2,block->RO.hash2));
return(-1); return(-1);
} }
return(0); return(0);
@ -299,7 +300,7 @@ struct iguana_block *_iguana_chainlink(struct iguana_info *coin,struct iguana_bl
return(0); return(0);
} }
//char str[65]; printf("extend? %s.h%d: %.15f vs %.15f ht.%d vs %d\n",bits256_str(str,block->RO.hash2),height,block->PoW,coin->blocks.hwmchain.PoW,height,coin->blocks.hwmchain.height); //char str[65]; printf("extend? %s.h%d: %.15f vs %.15f ht.%d vs %d\n",bits256_str(str,block->RO.hash2),height,block->PoW,coin->blocks.hwmchain.PoW,height,coin->blocks.hwmchain.height);
if ( iguana_blockvalidate(coin,&valid,newblock) < 0 || valid == 0 ) if ( iguana_blockvalidate(coin,&valid,newblock,1) < 0 || valid == 0 )
return(0); return(0);
block->height = height; block->height = height;
block->valid = 1; block->valid = 1;
@ -372,7 +373,7 @@ void iguana_blocksetheights(struct iguana_info *coin,struct iguana_block *block)
int32_t iguana_chainextend(struct iguana_info *coin,struct iguana_block *newblock) int32_t iguana_chainextend(struct iguana_info *coin,struct iguana_block *newblock)
{ {
struct iguana_block *block,*prev; int32_t valid,oldhwm; char str[65]; struct iguana_block *block,*prev; int32_t valid,oldhwm; char str[65];
if ( iguana_blockvalidate(coin,&valid,newblock) < 0 || valid == 0 ) if ( iguana_blockvalidate(coin,&valid,newblock,1) < 0 || valid == 0 )
{ {
printf("chainextend: newblock.%s didnt validate\n",bits256_str(str,newblock->RO.hash2)); printf("chainextend: newblock.%s didnt validate\n",bits256_str(str,newblock->RO.hash2));
return(-1); return(-1);

2
iguana/iguana_bundles.c

@ -615,7 +615,7 @@ void iguana_bundleiters(struct iguana_info *coin,struct iguana_bundle *bp,int32_
if ( (block= bp->blocks[i]) != 0 && block == iguana_blockfind(coin,bp->hashes[i]) ) if ( (block= bp->blocks[i]) != 0 && block == iguana_blockfind(coin,bp->hashes[i]) )
{ {
//printf("(%x:%x) ",(uint32_t)block->RO.hash2.ulongs[3],(uint32_t)bp->hashes[i].ulongs[3]); //printf("(%x:%x) ",(uint32_t)block->RO.hash2.ulongs[3],(uint32_t)bp->hashes[i].ulongs[3]);
if ( iguana_blockvalidate(coin,&valid,block) != 0 || (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) ) if ( iguana_blockvalidate(coin,&valid,block,0) != 0 || (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) )
{ {
//char str[65]; printf(">>>>>>> null prevblock error at ht.%d patch.(%s) and reissue\n",bp->bundleheight+i,bits256_str(str,bp->hashes[i-1])); //char str[65]; printf(">>>>>>> null prevblock error at ht.%d patch.(%s) and reissue\n",bp->bundleheight+i,bits256_str(str,bp->hashes[i-1]));
block->queued = 0; block->queued = 0;

2
iguana/iguana_ramchain.c

@ -1845,7 +1845,7 @@ int32_t iguana_bundlesaveHT(struct iguana_info *coin,struct OS_memspace *mem,str
if ( (block= bp->blocks[i]) != 0 && block == iguana_blockfind(coin,bp->hashes[i]) ) if ( (block= bp->blocks[i]) != 0 && block == iguana_blockfind(coin,bp->hashes[i]) )
{ {
//printf("(%x:%x) ",(uint32_t)block->RO.hash2.ulongs[3],(uint32_t)bp->hashes[i].ulongs[3]); //printf("(%x:%x) ",(uint32_t)block->RO.hash2.ulongs[3],(uint32_t)bp->hashes[i].ulongs[3]);
if ( iguana_blockvalidate(coin,&valid,block) != 0 || (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) ) if ( iguana_blockvalidate(coin,&valid,block,1) != 0 || (bp->bundleheight+i > 0 && bits256_nonz(block->RO.prev_block) == 0) )
{ {
char str[65]; printf("null prevblock error at ht.%d patch.(%s)\n",bp->bundleheight+i,bits256_str(str,bp->hashes[i-1])); char str[65]; printf("null prevblock error at ht.%d patch.(%s)\n",bp->bundleheight+i,bits256_str(str,bp->hashes[i-1]));
block->queued = 0; block->queued = 0;

Loading…
Cancel
Save