19 std::shared_ptr<scorum::plugin::block_info::block_info_plugin>
get_plugin();
39 const std::vector<block_info>& _block_info =
get_plugin()->_block_info;
42 FC_ASSERT(args.
count <= 10000);
44 for (uint32_t block_num = args.
start_block_num; block_num < n; block_num++)
45 result.emplace_back(_block_info[block_num]);
51 const std::vector<block_info>& _block_info =
get_plugin()->_block_info;
55 FC_ASSERT(args.
count <= 10000);
57 uint64_t total_size = 0;
58 for (uint32_t block_num = args.
start_block_num; block_num < n; block_num++)
60 uint64_t new_size = total_size + _block_info[block_num].block_size;
61 if ((new_size > 8 * 1024 * 1024) && (block_num != args.
start_block_num))
63 total_size = new_size;
64 result.emplace_back();
66 result.back().info = _block_info[block_num];
75 my = std::make_shared<detail::block_info_api_impl>(ctx.
app);
80 std::vector<block_info> result;
81 my->get_block_info(args, result);
87 std::vector<block_with_info> result;
88 my->get_blocks_with_info(args, result);
std::shared_ptr< abstract_plugin > get_plugin(const std::string &name) const
tracks the blockchain state in an extensible manner
optional< signed_block > fetch_block_by_number(uint32_t num) const
block_info_api(const scorum::app::api_context &ctx)
block_info_api_impl(scorum::app::application &_app)
std::shared_ptr< scorum::plugin::block_info::block_info_plugin > get_plugin()
scorum::app::application & app
void get_blocks_with_info(const get_block_info_args &args, std::vector< block_with_info > &result)
void get_block_info(const get_block_info_args &args, std::vector< block_info > &result)
std::vector< block_info > get_block_info(get_block_info_args args)
std::vector< block_with_info > get_blocks_with_info(get_block_info_args args)