BitShares-Core  5.0.0
BitShares blockchain implementation and command-line interface software
Public Attributes | Static Public Attributes | List of all members
graphene::chain::account_transaction_history_object Class Reference

a node in a linked list of operation_history_objectsAccount history is important for users and wallets even though it is not part of "core validation". Account history is maintained as a linked list stored on disk in a stack. Each account will point to the most recent account history object by ID. When a new operation relativent to that account is processed a new account history object is allcoated at the end of the stack and intialized to point to the prior object. More...

#include <operation_history_object.hpp>

Inheritance diagram for graphene::chain::account_transaction_history_object:
graphene::db::abstract_object< account_transaction_history_object > graphene::db::object

Public Attributes

account_id_type account
 
operation_history_id_type operation_id
 the account this operation applies to More...
 
uint64_t sequence = 0
 
account_transaction_history_id_type next
 the operation position within the given account More...
 
- Public Attributes inherited from graphene::db::object
object_id_type id
 

Static Public Attributes

static constexpr uint8_t space_id = implementation_ids
 
static constexpr uint8_t type_id = impl_account_transaction_history_object_type
 

Additional Inherited Members

- Public Member Functions inherited from graphene::db::abstract_object< account_transaction_history_object >
virtual unique_ptr< objectclone () const
 these methods are implemented for derived classes by inheriting abstract_object<DerivedClass> More...
 
virtual void move_from (object &obj)
 
virtual variant to_variant () const
 
virtual vector< char > pack () const
 
- Public Member Functions inherited from graphene::db::object
 object ()
 
virtual ~object ()
 

Detailed Description

a node in a linked list of operation_history_objects

Account history is important for users and wallets even though it is not part of "core validation". Account history is maintained as a linked list stored on disk in a stack. Each account will point to the most recent account history object by ID. When a new operation relativent to that account is processed a new account history object is allcoated at the end of the stack and intialized to point to the prior object.

This data is never accessed as part of chain validation and therefore can be kept on disk as a memory mapped file. Using a memory mapped file will help the operating system better manage / cache / page files and also accelerates load time.

When the transaction history for a particular account is requested the linked list can be traversed with relatively effecient disk access because of the use of a memory mapped stack.

Definition at line 90 of file operation_history_object.hpp.

Member Data Documentation

account_id_type graphene::chain::account_transaction_history_object::account

Definition at line 95 of file operation_history_object.hpp.

account_transaction_history_id_type graphene::chain::account_transaction_history_object::next

the operation position within the given account

Definition at line 98 of file operation_history_object.hpp.

operation_history_id_type graphene::chain::account_transaction_history_object::operation_id

the account this operation applies to

Definition at line 96 of file operation_history_object.hpp.

uint64_t graphene::chain::account_transaction_history_object::sequence = 0

Definition at line 97 of file operation_history_object.hpp.

constexpr uint8_t graphene::chain::account_transaction_history_object::space_id = implementation_ids
static

Definition at line 93 of file operation_history_object.hpp.

constexpr uint8_t graphene::chain::account_transaction_history_object::type_id = impl_account_transaction_history_object_type
static

Definition at line 94 of file operation_history_object.hpp.


The documentation for this class was generated from the following file: