Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
601883dd45
  1. 1
      iguana/iguana777.c
  2. 10
      iguana/iguana_init.c
  3. 2
      iguana/iguana_realtime.c
  4. 6
      iguana/iguana_recv.c
  5. 19
      iguana/iguana_spendvectors.c
  6. 3
      iguana/iguana_unspents.c
  7. 4
      iguana/m_LP
  8. 4
      iguana/m_unix
  9. 6
      includes/iguana_funcs.h

1
iguana/iguana777.c

@ -665,7 +665,6 @@ void iguana_callcoinstart(struct supernet_info *myinfo,struct iguana_info *coin)
memset(zero.bytes,0,sizeof(zero));
if ( (bp= iguana_bundlecreate(coin,&bundlei,0,*(bits256 *)coin->chain->genesis_hashdata,zero,1)) != 0 )
bp->bundleheight = 0;
iguana_datachain_scan(myinfo,coin,CRYPTO777_RMD160);
}
void iguana_coinloop(void *arg)

10
iguana/iguana_init.c

@ -227,7 +227,7 @@ int32_t iguana_bundleinitmap(struct iguana_info *coin,struct iguana_bundle *bp,i
if ( coin->current != 0 && coin->current->hdrsi+1 == bp->hdrsi )
coin->current = bp;
bp->emitfinish = (uint32_t)time(NULL) + 1;
//printf("[%d %u] ",bp->hdrsi,bp->emitfinish);
printf("[%d].%p ",bp->hdrsi,bp->ramchain.H.data);
return(0);
}
else
@ -243,7 +243,7 @@ int32_t iguana_bundleinitmap(struct iguana_info *coin,struct iguana_bundle *bp,i
}
}
void iguana_parseline(struct iguana_info *coin,int32_t iter,FILE *fp)
void iguana_parseline(struct supernet_info *myinfo,struct iguana_info *coin,int32_t iter,FILE *fp)
{
int32_t j,k,m,c,flag,bundlei,lastheight,height = -1; char checkstr[1024],line[1024];
struct iguana_peer *addr; struct iguana_bundle *bp; bits256 allhash,hash2,hash1,zero,lastbundle;
@ -367,7 +367,7 @@ void iguana_parseline(struct iguana_info *coin,int32_t iter,FILE *fp)
if ( iter == 1 && bits256_nonz(lastbundle) != 0 )
{
printf("%s parseline ht.%d\n",coin->symbol,lastheight);
iguana_initfinal(coin,lastbundle);
iguana_initfinal(myinfo,coin,lastbundle);
}
}
@ -377,7 +377,7 @@ long iguana_bundlesload(struct supernet_info *myinfo,struct iguana_info *coin)
sprintf(fname,"%s/%s_%s.txt",GLOBAL_CONFSDIR,coin->symbol,(iter == 0) ? "peers" : "hdrs"), OS_compatible_path(fname);
if ( (fp= fopen(fname,"r")) != 0 )
{
iguana_parseline(coin,iter,fp);
iguana_parseline(myinfo,coin,iter,fp);
printf("done parsefile.%d (%s) size.%ld\n",iter,fname,fpos);
fpos = ftell(fp);
fclose(fp);
@ -616,7 +616,7 @@ struct iguana_info *iguana_coinstart(struct iguana_info *coin,int32_t initialhei
if ( coin->virtualchain == 0 || iter > 0 )
{
printf("parsefile.%d %s\n",iter,fname);
iguana_parseline(coin,iter,fp);
iguana_parseline(myinfo,coin,iter,fp);
printf("done parsefile.%d (%s) size.%ld\n",iter,fname,fpos);
}
fpos = ftell(fp);

2
iguana/iguana_realtime.c

@ -426,7 +426,7 @@ int32_t iguana_realtime_update(struct supernet_info *myinfo,struct iguana_info *
if ( coin->RTdatabad < 0 )
{
memset(lastbundle.bytes,0,sizeof(lastbundle));
iguana_initfinal(coin,lastbundle);
iguana_initfinal(myinfo,coin,lastbundle);
}
coin->RTdatabad = 0;
//memset(bp->hashes,0,sizeof(bp->hashes));

6
iguana/iguana_recv.c

@ -1421,6 +1421,12 @@ int32_t iguana_reqhdrs(struct iguana_info *coin)
coin->numpendings++;
init_hexbytes_noT(hashstr,bp->hashes[0].bytes,sizeof(bits256));
queue_enqueue("hdrsQ",&coin->hdrsQ,queueitem(hashstr),1);
if ( bp == coin->current )
{
printf("issue HWM HDRS %d\n",coin->blocks.hwmchain.height);
init_hexbytes_noT(hashstr,coin->blocks.hwmchain.RO.hash2.bytes,sizeof(bits256));
queue_enqueue("hdrsQ",&coin->hdrsQ,queueitem(hashstr),1);
}
//printf("hdrsi.%d reqHDR.(%s) numhashes.%d\n",bp->hdrsi,hashstr,bp->numhashes);
if ( 1 )
{

19
iguana/iguana_spendvectors.c

@ -607,7 +607,7 @@ void iguana_truncatebalances(struct iguana_info *coin)
coin->balanceswritten = 0;
}
int32_t iguana_volatilesinit(struct iguana_info *coin)
int32_t iguana_volatilesinit(struct supernet_info *myinfo,struct iguana_info *coin)
{
bits256 balancehash,allbundles; struct iguana_utxo *Uptr; struct iguana_account *Aptr;
struct sha256_vstate vstate,bstate; int32_t i,from_ro,numpkinds,numunspents; struct iguana_bundle *bp; struct iguana_block *block;
@ -721,10 +721,19 @@ int32_t iguana_volatilesinit(struct iguana_info *coin)
//printf("end volatilesinit\n");
if ( iguana_fastfindinit(coin) == 0 )//&& coin->PREFETCHLAG >= 0 )
iguana_fastfindcreate(coin);
/*for (j=0; j<coin->bundlescount; j++)
if ( (bp= coin->bundles[j]) != 0 )
{
iguana_volatilesalloc(coin,&bp->ramchain,1);
iguana_volatilesmap(coin,&bp->ramchain);
}
iguana_update_balances(coin);*/
iguana_datachain_scan(myinfo,coin,CRYPTO777_RMD160);
//iguana_utxoaddr_gen(myinfo,coin,(coin->bundlescount - 1) * coin->chain->bundlesize);*/
return(coin->bundlescount);
}
void iguana_initfinal(struct iguana_info *coin,bits256 lastbundle)
void iguana_initfinal(struct supernet_info *myinfo,struct iguana_info *coin,bits256 lastbundle)
{
int32_t i,hdrsi,bundlei,height; struct iguana_bundle *bp; bits256 hash2; struct iguana_block *block; char hashstr[65];
if ( bits256_nonz(lastbundle) > 0 )
@ -762,7 +771,7 @@ void iguana_initfinal(struct iguana_info *coin,bits256 lastbundle)
}
printf("i.%d bundlescount.%d\n",i,coin->bundlescount);
if ( coin->balanceswritten > 1 )
coin->balanceswritten = iguana_volatilesinit(coin);
coin->balanceswritten = iguana_volatilesinit(myinfo,coin);
if ( coin->balanceswritten > 1 )
{
//for (i=0; i<coin->balanceswritten; i++)
@ -786,7 +795,7 @@ void iguana_initfinal(struct iguana_info *coin,bits256 lastbundle)
printf("iguana_bundlesQ %d to %d\n",coin->balanceswritten,coin->bundlescount);
}
if ( (coin->origbalanceswritten= coin->balanceswritten) > 0 )
iguana_volatilesinit(coin);
iguana_volatilesinit(myinfo,coin);
iguana_savehdrs(coin);
iguana_fastlink(coin,coin->balanceswritten * coin->chain->bundlesize - 1);
iguana_walkchain(coin,0);
@ -946,7 +955,7 @@ int32_t iguana_balanceflush(struct supernet_info *myinfo,struct iguana_info *coi
}
exit(-1);
}
coin->balanceswritten = iguana_volatilesinit(coin);
coin->balanceswritten = iguana_volatilesinit(myinfo,coin);
//printf("flush free\n");
iguana_RTramchainfree(coin,bp);
return(coin->balanceswritten);

3
iguana/iguana_unspents.c

@ -353,6 +353,8 @@ int32_t iguana_datachain_scan(struct supernet_info *myinfo,struct iguana_info *c
{
if ( (bp= coin->bundles[i]) != 0 )
{
//iguana_volatilesalloc(coin,&bp->ramchain,1);
//iguana_volatilesmap(coin,&bp->ramchain);
ramchain = 0;
if ( iguana_pkhashfind(coin,&ramchain,&deposits,&lastunspentind,&p,rmd160,i,i) != 0 )
{
@ -379,6 +381,7 @@ int32_t iguana_datachain_scan(struct supernet_info *myinfo,struct iguana_info *c
}
}
}
//iguana_utxoaddr_gen(myinfo,coin,(coin->bundlescount - 1) * coin->chain->bundlesize);
return(num);
}

4
iguana/m_LP

@ -2,6 +2,6 @@
rm ../agents/iguana *.o
git pull
cd secp256k1; ./m_unix; cd ..
gcc -g -Wno-deprecated -c -O2 -DLIQUIDITY_PROVIDER=1 *.c ../basilisk/basilisk.c ../gecko/gecko.c ../datachain/datachain.c
gcc -g -Wno-deprecated -c -DLIQUIDITY_PROVIDER=1 main.c iguana777.c iguana_bundles.c ../basilisk/basilisk.c
gcc -g -Wnoaggressive-loop-optimizations -Wno-deprecated -c -O2 -DLIQUIDITY_PROVIDER=1 *.c ../basilisk/basilisk.c ../gecko/gecko.c ../datachain/datachain.c
gcc -g -Wnoaggressive-loop-optimizations -Wno-deprecated -c -DLIQUIDITY_PROVIDER=1 main.c iguana777.c iguana_bundles.c ../basilisk/basilisk.c
gcc -g -o ../agents/iguana *.o ../agents/libcrypto777.a -lcurl -lssl -lcrypto -lpthread -lz -lm

4
iguana/m_unix

@ -3,6 +3,6 @@ rm ../agents/iguana *.o
git pull
cd secp256k1; ./m_unix; cd ..
cd ../crypto777; ./m_unix; cd ../iguana
gcc -g -Wno-deprecated -c *.c ../basilisk/basilisk.c ../gecko/gecko.c ../datachain/datachain.c
gcc -g -Wno-deprecated -c main.c iguana777.c iguana_bundles.c ../basilisk/basilisk.c
gcc -g -Wnoaggressive-loop-optimizations -Wno-deprecated -c *.c ../basilisk/basilisk.c ../gecko/gecko.c ../datachain/datachain.c
gcc -g -Wnoaggressive-loop-optimizations -Wno-deprecated -c main.c iguana777.c iguana_bundles.c ../basilisk/basilisk.c
gcc -g -o ../agents/iguana *.o ../agents/libcrypto777.a -lpthread -lm

6
includes/iguana_funcs.h

@ -112,7 +112,7 @@ int32_t iguana_savehdrs(struct iguana_info *coin);
// hdrs
struct iguana_bundle *iguana_bundlecreate(struct iguana_info *coin,int32_t *bundleip,int32_t bundleheight,bits256 bundlehash2,bits256 allhash,int32_t issueflag);
struct iguana_block *iguana_updatehdrs(struct iguana_info *coin,int32_t *newhwmp,struct iguana_block *block,bits256 prevhash2,bits256 hash2);
void iguana_parseline(struct iguana_info *coin,int32_t iter,FILE *fp);
void iguana_parseline(struct supernet_info *myinfo,struct iguana_info *coin,int32_t iter,FILE *fp);
void iguana_gotheadersM(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_zblock *zblocks,int32_t n);
void iguana_emittxdata(struct iguana_info *coin,struct iguana_bundle *bp);
int32_t iguana_pollQsPT(struct iguana_info *coin,struct iguana_peer *addr);
@ -345,8 +345,8 @@ int32_t iguana_ramchain_prefetch(struct iguana_info *coin,struct iguana_ramchain
int32_t iguana_realtime_update(struct supernet_info *myinfo,struct iguana_info *coin);
int32_t iguana_volatilesmap(struct iguana_info *coin,struct iguana_ramchain *ramchain);
void iguana_volatilespurge(struct iguana_info *coin,struct iguana_ramchain *ramchain);
int32_t iguana_volatilesinit(struct iguana_info *coin);
void iguana_initfinal(struct iguana_info *coin,bits256 lastbundle);
int32_t iguana_volatilesinit(struct supernet_info *myinfo,struct iguana_info *coin);
void iguana_initfinal(struct supernet_info *myinfo,struct iguana_info *coin,bits256 lastbundle);
int64_t iguana_ramchainopen(char *fname,struct iguana_info *coin,struct iguana_ramchain *ramchain,struct OS_memspace *mem,struct OS_memspace *hashmem,int32_t bundleheight,bits256 hash2);
int32_t iguana_ramchain_free(struct iguana_info *coin,struct iguana_ramchain *ramchain,int32_t deleteflag);
void iguana_blocksetcounters(struct iguana_info *coin,struct iguana_block *block,struct iguana_ramchain * ramchain);

Loading…
Cancel
Save