|
|
@ -1238,7 +1238,6 @@ void Main::on_blocks_currentItemChanged() |
|
|
|
auto h = h256((byte const*)hba.data(), h256::ConstructFromPointer); |
|
|
|
auto details = ethereum()->blockChain().details(h); |
|
|
|
auto blockData = ethereum()->blockChain().block(h); |
|
|
|
auto blockReceipts = ethereum()->blockChain().receipts(h); |
|
|
|
auto block = RLP(blockData); |
|
|
|
BlockInfo info(blockData); |
|
|
|
|
|
|
@ -1259,17 +1258,10 @@ void Main::on_blocks_currentItemChanged() |
|
|
|
s << "<br/>Coinbase: <b>" << pretty(info.coinbaseAddress).toHtmlEscaped().toStdString() << "</b> " << info.coinbaseAddress; |
|
|
|
s << "<br/>Nonce: <b>" << info.nonce << "</b>"; |
|
|
|
s << "<br/>Parent: <b>" << info.parentHash << "</b>"; |
|
|
|
s << "<br/>Bloom: <b>" << details.bloom << "</b>"; |
|
|
|
// s << "<br/>Bloom: <b>" << details.bloom << "</b>";
|
|
|
|
s << "<br/>Log Bloom: <b>" << info.logBloom << "</b>"; |
|
|
|
s << "<br/>Transactions: <b>" << block[1].itemCount() << "</b> @<b>" << info.transactionsRoot << "</b>"; |
|
|
|
s << "<br/>Receipts: @<b>" << info.receiptsRoot << "</b>:"; |
|
|
|
for (unsigned i = 0; i < blockReceipts.receipts.size(); ++i) |
|
|
|
{ |
|
|
|
s << "<div>TX: " << toHex(block[1][i].data()) << "</div>"; |
|
|
|
s << "<div>Receipt: " << toHex(blockReceipts.receipts[i].rlp()) << "</div>"; |
|
|
|
auto r = blockReceipts.receipts[i].rlp(); |
|
|
|
s << "<div>RLP: " << toString(RLP(r)) << "</div>"; |
|
|
|
} |
|
|
|
s << "<br/>Uncles: <b>" << block[2].itemCount() << "</b> @<b>" << info.sha3Uncles << "</b>"; |
|
|
|
for (auto u: block[2]) |
|
|
|
{ |
|
|
@ -1292,6 +1284,7 @@ void Main::on_blocks_currentItemChanged() |
|
|
|
Transaction tx(block[1][txi].data()); |
|
|
|
auto ss = tx.safeSender(); |
|
|
|
h256 th = sha3(rlpList(ss, tx.nonce())); |
|
|
|
auto receipt = ethereum()->blockChain().receipts(h).receipts[txi]; |
|
|
|
s << "<h3>" << th << "</h3>"; |
|
|
|
s << "<h4>" << h << "[<b>" << txi << "</b>]</h4>"; |
|
|
|
s << "<br/>From: <b>" << pretty(ss).toHtmlEscaped().toStdString() << "</b> " << ss; |
|
|
@ -1307,6 +1300,10 @@ void Main::on_blocks_currentItemChanged() |
|
|
|
s << "<br/>R: <b>" << hex << nouppercase << tx.signature().r << "</b>"; |
|
|
|
s << "<br/>S: <b>" << hex << nouppercase << tx.signature().s << "</b>"; |
|
|
|
s << "<br/>Msg: <b>" << tx.sha3(eth::WithoutSignature) << "</b>"; |
|
|
|
s << "<div>Hex: <span style=\"font-family: Monospace,Lucida Console,Courier,Courier New,sans-serif; font-size: small\">" << toHex(block[1][txi].data()) << "</span></div>"; |
|
|
|
auto r = receipt.rlp(); |
|
|
|
s << "<div>Receipt: " << toString(RLP(r)) << "</div>"; |
|
|
|
s << "<div>Receipt-Hex: <span style=\"font-family: Monospace,Lucida Console,Courier,Courier New,sans-serif; font-size: small\">" << toHex(receipt.rlp()) << "</span></div>"; |
|
|
|
if (tx.isCreation()) |
|
|
|
{ |
|
|
|
if (tx.data().size()) |
|
|
|