Module: XRBP::NodeStore

Defined in:
lib/xrbp/nodestore/db.rb,
lib/xrbp/nodestore/fees.rb,
lib/xrbp/nodestore/uint.rb,
lib/xrbp/nodestore/sqldb.rb,
lib/xrbp/nodestore/format.rb,
lib/xrbp/nodestore/ledger.rb,
lib/xrbp/nodestore/parser.rb,
lib/xrbp/nodestore/amendments.rb,
lib/xrbp/nodestore/backends/nudb.rb,
lib/xrbp/nodestore/protocol/rate.rb,
lib/xrbp/nodestore/sle/st_amount.rb,
lib/xrbp/nodestore/sle/st_object.rb,
lib/xrbp/nodestore/protocol/issue.rb,
lib/xrbp/nodestore/sle/st_account.rb,
lib/xrbp/nodestore/backends/rocksdb.rb,
lib/xrbp/nodestore/protocol/indexes.rb,
lib/xrbp/nodestore/protocol/quality.rb,
lib/xrbp/nodestore/protocol/currency.rb,
lib/xrbp/nodestore/sle/st_ledger_entry.rb,
lib/xrbp/nodestore/backends/decompressor.rb,
lib/xrbp/nodestore/sle/st_amount_arithmatic.rb,
lib/xrbp/nodestore/sle/st_amount_comparison.rb,
lib/xrbp/nodestore/sle/st_amount_conversion.rb

Overview

The NodeStore is the Key/Value DB which rippled persistent stores ledger data. Implemented via a backend configured at run time, the NodeStore is used to store the tree-like structures that consistute the XRP ledger.

The Keys and Values stored in the NodeStore are custom binary encodings of tree-node IDs and data. See this module and the others in this directory for specifics on how keys & values are stored and extracted.

Defined Under Namespace

Modules: Amendments, Backends, Format, Indexes, Parser Classes: DB, Fees, Issue, Ledger, Quality, Rate, SQLDB, STAccount, STAmount, STLedgerEntry, STObject

Constant Summary collapse

QUALITY_ONE =

Ripple specific constant used for parsing qualities and other things github.com/ripple/rippled/blob/develop/src/ripple/protocol/Quality.h#L107

1000000000
SLE =

class STLedgerEntry

STLedgerEntry

Class Method Summary collapse

Class Method Details

.no_currencyObject


7
8
9
# File 'lib/xrbp/nodestore/protocol/currency.rb', line 7

def self.no_currency
  @no_currency ||= 1
end

.no_issueObject


36
37
38
39
# File 'lib/xrbp/nodestore/protocol/issue.rb', line 36

def self.no_issue
  @no_issue ||=  Issue.new(NodeStore.no_currency,
                           Crypto.)
end

.uint256Object


3
4
5
# File 'lib/xrbp/nodestore/uint.rb', line 3

def self.uint256
  Array.new(32) { 0 }.pack("C*")
end

.xrp_currencyObject


3
4
5
# File 'lib/xrbp/nodestore/protocol/currency.rb', line 3

def self.xrp_currency
  @xrp_currency ||= 0
end

.xrp_issueObject

class Issue


31
32
33
34
# File 'lib/xrbp/nodestore/protocol/issue.rb', line 31

def self.xrp_issue
  @xrp_issue ||= Issue.new(NodeStore.xrp_currency,
                           Crypto.)
end