Changeset View
Changeset View
Standalone View
Standalone View
src/rpc/mining.cpp
Show First 20 Lines • Show All 651 Lines • ▼ Show 20 Lines | static UniValue getblocktemplate(const Config &config, | ||||
// Update nTime | // Update nTime | ||||
UpdateTime(pblock, config.GetChainParams().GetConsensus(), pindexPrev); | UpdateTime(pblock, config.GetChainParams().GetConsensus(), pindexPrev); | ||||
pblock->nNonce = 0; | pblock->nNonce = 0; | ||||
UniValue aCaps(UniValue::VARR); | UniValue aCaps(UniValue::VARR); | ||||
aCaps.push_back("proposal"); | aCaps.push_back("proposal"); | ||||
UniValue transactions(UniValue::VARR); | UniValue transactions(UniValue::VARR); | ||||
transactions.reserve(pblock->vtx.size()); | |||||
int index_in_template = 0; | int index_in_template = 0; | ||||
for (const auto &it : pblock->vtx) { | for (const auto &it : pblock->vtx) { | ||||
const CTransaction &tx = *it; | const CTransaction &tx = *it; | ||||
uint256 txId = tx.GetId(); | uint256 txId = tx.GetId(); | ||||
if (tx.IsCoinBase()) { | if (tx.IsCoinBase()) { | ||||
index_in_template++; | index_in_template++; | ||||
continue; | continue; | ||||
} | } | ||||
UniValue entry(UniValue::VOBJ); | UniValue entry(UniValue::VOBJ); | ||||
entry.pushKV("data", EncodeHexTx(tx)); | entry.reserve(5); | ||||
entry.pushKV("txid", txId.GetHex()); | entry.__pushKV("data", EncodeHexTx(tx)); | ||||
entry.pushKV("hash", tx.GetHash().GetHex()); | entry.__pushKV("txid", txId.GetHex()); | ||||
entry.pushKV("fee", | entry.__pushKV("hash", tx.GetHash().GetHex()); | ||||
pblocktemplate->entries[index_in_template].fees / SATOSHI); | entry.__pushKV("fee", pblocktemplate->entries[index_in_template].fees / | ||||
SATOSHI); | |||||
int64_t nTxSigOps = | int64_t nTxSigOps = | ||||
pblocktemplate->entries[index_in_template].sigOpCount; | pblocktemplate->entries[index_in_template].sigOpCount; | ||||
entry.pushKV("sigops", nTxSigOps); | entry.__pushKV("sigops", nTxSigOps); | ||||
transactions.push_back(entry); | transactions.push_back(entry); | ||||
index_in_template++; | index_in_template++; | ||||
} | } | ||||
UniValue aux(UniValue::VOBJ); | UniValue aux(UniValue::VOBJ); | ||||
aux.pushKV("flags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end())); | aux.pushKV("flags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end())); | ||||
▲ Show 20 Lines • Show All 211 Lines • Show Last 20 Lines |