virtual void startInput( const uint8_t *p ) { if(dump) { printf( " input[%" PRIu64 "] = {\n\n", nbInputs++ ); static uint256_t gNullHash; LOAD(uint256_t, upTXHash, p); LOAD(uint32_t, upOutputIndex, p); LOAD_VARINT(inputScriptSize, p); showScript(p, inputScriptSize, 0, " "); isGenTX = (0==memcmp(gNullHash.v, upTXHash.v, sizeof(gNullHash))); if(isGenTX) { uint64_t reward = getBaseReward(currBlock); printf(" generation transaction\n"); printf(" based on block height, reward = %.8f\n", satoshisToNormaForm(reward)); printf(" hex dump of coinbase follows:\n\n"); canonicalHexDump(p, inputScriptSize, " "); valueIn += reward; } } }
// Called when a TX input is encountered virtual void startInput( const uint8_t *p ) { printf( "%sinput%d = {\n", spaces, (int)inputId ); push(); static uint256_t gNullHash; LOAD(uint256_t, upTXHash, p); LOAD(uint32_t, upOutputIndex, p); LOAD_VARINT(inputScriptSize, p); printf("%sscript = '\n", spaces); pop(); showScript(p, inputScriptSize, 0, (const char *)spaces); push(); printf("%s'\n", spaces); p += inputScriptSize; LOAD(uint32_t, sequence, p); printf("%snsequence = %" PRIu32 "\n",spaces, sequence); isCoinBase = (0==memcmp(gNullHash.v, upTXHash.v, sizeof(gNullHash))); if(isCoinBase) { uint64_t value = getBaseReward(currBlock); printf("%sisCoinBase = true\n", spaces); printf( "%svalue = %" PRIu64 " # %.08f\n", spaces, value, satoshisToNormaForm(value) ); printf("%scoinBase = '\n", spaces); push(); canonicalHexDump( p, inputScriptSize, (const char *)spaces ); pop(); printf("%s'\n", spaces); } }
virtual void startInput( const uint8_t *p ) { if (active) { static uint256_t gNullHash; LOAD(uint256_t, upTXHash, p); if (0==memcmp(gNullHash.v, upTXHash.v, sizeof(gNullHash))) { genTx = 1; uint64_t reward = getBaseReward(blkID); totalTxInput += reward; } else { genTx = 0; } } }