mirror of
https://github.com/monero-project/monero.git
synced 2025-07-25 10:15:21 -04:00
v8: per byte fee, pad bulletproofs, fixed 11 ring size
This commit is contained in:
parent
869b3bf824
commit
5ffb2ff9b7
55 changed files with 1241 additions and 878 deletions
|
@ -76,6 +76,7 @@ namespace {
|
|||
<< "difficulty: " << boost::lexical_cast<std::string>(header.difficulty) << std::endl
|
||||
<< "POW hash: " << header.pow_hash << std::endl
|
||||
<< "block size: " << header.block_size << std::endl
|
||||
<< "block weight: " << header.block_weight << std::endl
|
||||
<< "num txes: " << header.num_txes << std::endl
|
||||
<< "reward: " << cryptonote::print_money(header.reward);
|
||||
}
|
||||
|
@ -558,7 +559,7 @@ bool t_rpc_command_executor::print_blockchain_info(uint64_t start_block_index, u
|
|||
std::cout << std::endl;
|
||||
std::cout
|
||||
<< "height: " << header.height << ", timestamp: " << header.timestamp
|
||||
<< ", size: " << header.block_size << ", transactions: " << header.num_txes << std::endl
|
||||
<< ", size: " << header.block_size << ", weight: " << header.block_weight << ", transactions: " << header.num_txes << std::endl
|
||||
<< "major version: " << (unsigned)header.major_version << ", minor version: " << (unsigned)header.minor_version << std::endl
|
||||
<< "block id: " << header.hash << ", previous block id: " << header.prev_hash << std::endl
|
||||
<< "difficulty: " << header.difficulty << ", nonce " << header.nonce << ", reward " << cryptonote::print_money(header.reward) << std::endl;
|
||||
|
@ -857,8 +858,9 @@ bool t_rpc_command_executor::print_transaction_pool_long() {
|
|||
tools::msg_writer() << "id: " << tx_info.id_hash << std::endl
|
||||
<< tx_info.tx_json << std::endl
|
||||
<< "blob_size: " << tx_info.blob_size << std::endl
|
||||
<< "weight: " << tx_info.weight << std::endl
|
||||
<< "fee: " << cryptonote::print_money(tx_info.fee) << std::endl
|
||||
<< "fee/byte: " << cryptonote::print_money(tx_info.fee / (double)tx_info.blob_size) << std::endl
|
||||
<< "fee/byte: " << cryptonote::print_money(tx_info.fee / (double)tx_info.weight) << std::endl
|
||||
<< "receive_time: " << tx_info.receive_time << " (" << get_human_time_ago(tx_info.receive_time, now) << ")" << std::endl
|
||||
<< "relayed: " << [&](const cryptonote::tx_info &tx_info)->std::string { if (!tx_info.relayed) return "no"; return boost::lexical_cast<std::string>(tx_info.last_relayed_time) + " (" + get_human_time_ago(tx_info.last_relayed_time, now) + ")"; } (tx_info) << std::endl
|
||||
<< "do_not_relay: " << (tx_info.do_not_relay ? 'T' : 'F') << std::endl
|
||||
|
@ -940,8 +942,9 @@ bool t_rpc_command_executor::print_transaction_pool_short() {
|
|||
{
|
||||
tools::msg_writer() << "id: " << tx_info.id_hash << std::endl
|
||||
<< "blob_size: " << tx_info.blob_size << std::endl
|
||||
<< "weight: " << tx_info.weight << std::endl
|
||||
<< "fee: " << cryptonote::print_money(tx_info.fee) << std::endl
|
||||
<< "fee/byte: " << cryptonote::print_money(tx_info.fee / (double)tx_info.blob_size) << std::endl
|
||||
<< "fee/byte: " << cryptonote::print_money(tx_info.fee / (double)tx_info.weight) << std::endl
|
||||
<< "receive_time: " << tx_info.receive_time << " (" << get_human_time_ago(tx_info.receive_time, now) << ")" << std::endl
|
||||
<< "relayed: " << [&](const cryptonote::tx_info &tx_info)->std::string { if (!tx_info.relayed) return "no"; return boost::lexical_cast<std::string>(tx_info.last_relayed_time) + " (" + get_human_time_ago(tx_info.last_relayed_time, now) + ")"; } (tx_info) << std::endl
|
||||
<< "do_not_relay: " << (tx_info.do_not_relay ? 'T' : 'F') << std::endl
|
||||
|
@ -996,7 +999,7 @@ bool t_rpc_command_executor::print_transaction_pool_stats() {
|
|||
size_t avg_bytes = n_transactions ? res.pool_stats.bytes_total / n_transactions : 0;
|
||||
|
||||
std::string backlog_message;
|
||||
const uint64_t full_reward_zone = ires.block_size_limit / 2;
|
||||
const uint64_t full_reward_zone = ires.block_weight_limit / 2;
|
||||
if (res.pool_stats.bytes_total <= full_reward_zone)
|
||||
{
|
||||
backlog_message = "no backlog";
|
||||
|
@ -1701,8 +1704,8 @@ bool t_rpc_command_executor::print_blockchain_dynamic_stats(uint64_t nblocks)
|
|||
cryptonote::COMMAND_RPC_GET_INFO::response ires;
|
||||
cryptonote::COMMAND_RPC_GET_BLOCK_HEADERS_RANGE::request bhreq;
|
||||
cryptonote::COMMAND_RPC_GET_BLOCK_HEADERS_RANGE::response bhres;
|
||||
cryptonote::COMMAND_RPC_GET_PER_KB_FEE_ESTIMATE::request fereq;
|
||||
cryptonote::COMMAND_RPC_GET_PER_KB_FEE_ESTIMATE::response feres;
|
||||
cryptonote::COMMAND_RPC_GET_BASE_FEE_ESTIMATE::request fereq;
|
||||
cryptonote::COMMAND_RPC_GET_BASE_FEE_ESTIMATE::response feres;
|
||||
epee::json_rpc::error error_resp;
|
||||
|
||||
std::string fail_message = "Problem fetching info";
|
||||
|
@ -1726,7 +1729,7 @@ bool t_rpc_command_executor::print_blockchain_dynamic_stats(uint64_t nblocks)
|
|||
tools::fail_msg_writer() << make_error(fail_message, ires.status);
|
||||
return true;
|
||||
}
|
||||
if (!m_rpc_server->on_get_per_kb_fee_estimate(fereq, feres, error_resp) || feres.status != CORE_RPC_STATUS_OK)
|
||||
if (!m_rpc_server->on_get_base_fee_estimate(fereq, feres, error_resp) || feres.status != CORE_RPC_STATUS_OK)
|
||||
{
|
||||
tools::fail_msg_writer() << make_error(fail_message, feres.status);
|
||||
return true;
|
||||
|
@ -1762,8 +1765,8 @@ bool t_rpc_command_executor::print_blockchain_dynamic_stats(uint64_t nblocks)
|
|||
double avgdiff = 0;
|
||||
double avgnumtxes = 0;
|
||||
double avgreward = 0;
|
||||
std::vector<uint64_t> sizes;
|
||||
sizes.reserve(nblocks);
|
||||
std::vector<uint64_t> weights;
|
||||
weights.reserve(nblocks);
|
||||
uint64_t earliest = std::numeric_limits<uint64_t>::max(), latest = 0;
|
||||
std::vector<unsigned> major_versions(256, 0), minor_versions(256, 0);
|
||||
for (const auto &bhr: bhres.headers)
|
||||
|
@ -1771,7 +1774,7 @@ bool t_rpc_command_executor::print_blockchain_dynamic_stats(uint64_t nblocks)
|
|||
avgdiff += bhr.difficulty;
|
||||
avgnumtxes += bhr.num_txes;
|
||||
avgreward += bhr.reward;
|
||||
sizes.push_back(bhr.block_size);
|
||||
weights.push_back(bhr.block_weight);
|
||||
static_assert(sizeof(bhr.major_version) == 1, "major_version expected to be uint8_t");
|
||||
static_assert(sizeof(bhr.minor_version) == 1, "major_version expected to be uint8_t");
|
||||
major_versions[(unsigned)bhr.major_version]++;
|
||||
|
@ -1782,9 +1785,9 @@ bool t_rpc_command_executor::print_blockchain_dynamic_stats(uint64_t nblocks)
|
|||
avgdiff /= nblocks;
|
||||
avgnumtxes /= nblocks;
|
||||
avgreward /= nblocks;
|
||||
uint64_t median_block_size = epee::misc_utils::median(sizes);
|
||||
uint64_t median_block_weight = epee::misc_utils::median(weights);
|
||||
tools::msg_writer() << "Last " << nblocks << ": avg. diff " << (uint64_t)avgdiff << ", " << (latest - earliest) / nblocks << " avg sec/block, avg num txes " << avgnumtxes
|
||||
<< ", avg. reward " << cryptonote::print_money(avgreward) << ", median block size " << median_block_size;
|
||||
<< ", avg. reward " << cryptonote::print_money(avgreward) << ", median block weight " << median_block_weight;
|
||||
|
||||
unsigned int max_major = 256, max_minor = 256;
|
||||
while (max_major > 0 && !major_versions[--max_major]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue