Browse Source

test

pull/4/head
jl777 8 years ago
parent
commit
8c22eb466f
  1. 2
      src/komodo_globals.h
  2. 5
      src/miner.cpp
  3. 8
      src/pow.cpp

2
src/komodo_globals.h

@ -15,7 +15,7 @@
int COINBASE_MATURITY = 100;
int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY;
int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE;
std::string NOTARY_PUBKEY;
uint8_t NOTARY_PUBKEY33[33];

5
src/miner.cpp

@ -436,7 +436,7 @@ void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int&
// Internal miner
//
#define ROUNDROBIN_DELAY 10
extern int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY;
extern int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE;
extern std::string NOTARY_PUBKEY;
extern uint8_t NOTARY_PUBKEY33[33];
uint32_t Mining_start,Mining_height;
@ -594,6 +594,7 @@ void static BitcoinMiner(CWallet *pwallet)
{
//fprintf(stderr,"%s start mining loop\n",ASSETCHAINS_SYMBOL);
// Hash state
KOMODO_CHOSEN_ONE = 0;
crypto_generichash_blake2b_state state;
EhInitialiseState(n, k, state);
// I = the block header minus nonce and solution.
@ -626,6 +627,7 @@ void static BitcoinMiner(CWallet *pwallet)
{
printf("Round robin diff sleep %d\n",(int32_t)(Mining_start+ROUNDROBIN_DELAY-time(NULL)));
sleep(Mining_start+ROUNDROBIN_DELAY-time(NULL));
KOMODO_CHOSEN_ONE = 1;
}
// Found a solution
SetThreadPriority(THREAD_PRIORITY_NORMAL);
@ -636,6 +638,7 @@ void static BitcoinMiner(CWallet *pwallet)
std::lock_guard<std::mutex> lock{m_cs};
cancelSolver = false;
}
KOMODO_CHOSEN_ONE = 0;
int32_t i; uint256 hash = pblock->GetHash();
for (i=0; i<32; i++)
fprintf(stderr,"%02x",((uint8_t *)&hash)[i]);

8
src/pow.cpp

@ -138,6 +138,14 @@ bool CheckProofOfWork(int32_t height,uint8_t *pubkey33,uint256 hash, unsigned in
flag = 1;
} //else bnTarget /= 8;
}
else if ( height == 0 && KOMODO_CHOSEN_ONE != 0 )
{
bnTarget.SetCompact(KOMODO_MINDIFF_NBITS,&fNegative,&fOverflow);
memcpy(pubkey33,NOTARY_PUBKEY33,33);
special = 1;
notaryid = -1;
printf("KOMODO_CHOSEN_ONE -> MINDIFF\n");
}
// Check range
if (fNegative || bnTarget == 0 || fOverflow || bnTarget > UintToArith256(params.powLimit))
return error("CheckProofOfWork(): nBits below minimum work");

Loading…
Cancel
Save