| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
Migrate from DB version 0 to version 1 on startup
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | | |
drop obsolete remove_output()
fix get_output_key(global), fix crash in blockchain_dump
|
| | | |
| | |
| | |
| | | |
Try to rationalize the variable names, document usage.
|
| | | |
| | |
| | |
| | | |
Helps when they're called repeatedly in one txn
|
| | | |
| | |
| | |
| | | |
Saves another ~150MB or so on the full blockchain
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also bumped DB VERSION to 1
Another significant speedup and space savings:
Get rid of global_output_indices, remove indirection from output to keys
This is the change warptangent described on irc but never got to finish.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Saves another 90MB on 200000 block import.
Had to bring back compare_uint64 for this, but it's safe since
this table is always 64-bit aligned.
|
| | | |
| | |
| | |
| | | |
Small space savings, no measurable speedup
|
| | | |
| | |
| | |
| | | |
Only a small savings...
|
| | | | |
|
| | | |
| | |
| | |
| | | |
m_tx_outputs doesn't need to be changed, as it's no longer dup list.
|
| | | |
| | |
| | |
| | | |
This is possible on those using a tx index as a key.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This speeds up wallet refresh by directly retrieving a tx's amount output indices.
It removes the indirection and walking the amount output duplicate list
for every amount in each requested tx.
"tx_outputs" is used by:
Amount output indices are needed for wallet refresh.
Global output indices are needed for removing a tx.
Both amount output indices and global output indices are now stored in
an array of 64-bit unsigned ints:
tx_outputs[<tx_hash>] -> [ <a1_oi, a1_gi, a2_oi, a2_gi, ...> ]
Previously it was:
tx_outputs[<tx_hash>] -> duplicate list of <a1_gi, a2_gi, a3_gi, ...>
The amount output list had to be walked for every amount in order to
find each amount's output index, by comparing the amount's global output
index with each one in the duplicate list until a match was found.
See also d045dfa7ce0bf131681193c97560da26f9f37900
|
| |/ /
| |
| |
| |
| |
| | |
It sets the max number of threads to use for a parallel job.
This is different that the number of total threads, since monero
binaries typically start a lot of them.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a list of existing output amounts along with the number
of outputs of that amount in the blockchain.
The daemon command takes:
- no parameters: all outputs with at least 3 instances
- one parameter: all outputs with at least that many instances
- two parameters: all outputs within that many instances
The default starts at 3 to avoid massive spamming of all dust
outputs in the blockchain, and is the current minimum mixin
requirement.
An optional vector of amounts may be passed, to request
histogram only for those outputs.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bfd4a28 Update BlockchainDB documentation (Thomas Winget)
797357e Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget)
c835215 remove defunct code from cryptonote::core (Thomas Winget)
50dba6d cryptonote::core doxygen documentation (Thomas Winget)
8ac329d doxygen documentation for difficulty functions (Thomas Winget)
540a76c Move checkpoint functions into checkpoints class (Thomas Winget)
1b0c98e doxygen documentation for checkpoints.{h,cpp} (Thomas Winget)
89c24ac Remove unnecessary or defunct code (Thomas Winget)
ab0ed14 doxygen include private and static members (Thomas Winget)
3a48449 Updated documentation for blockchain.* (Thomas Winget)
|
| | |
| |
| |
| |
| | |
This reverts commit 7fa63a82a1c3a0243f6757c1689855ed3ca61695, reversing
changes made to cb6be986c36b78eddb4b7f16e9ad440af8567dc4.
|
| | |
| |
| |
| |
| | |
BlockchainDB is now Doxygen-compliant and its documentation is
up-to-date with recent changes.
|
| | |
| |
| |
| |
| |
| | |
Ain't nobody got time for link/cmake skullduggery.
This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
|
| |\ \
| | |
| | |
| | | |
79117d4 db_lmdb: include the error codes from lmdb api in error logs (moneromooo-monero)
|
| | | | |
|
| |/ /
| |
| |
| | |
Useful for debugging users' logs
|
| | | |
|
| | |
| |
| |
| | |
Only if we created the readtxn. Was missing cleanups from exceptions before.
|
| | |
| |
| |
| |
| | |
Only one return and TXN_POSTFIX_RDONLY() per function
Only log rtxn_start if the rtxn wasn't already active
|
| | |
| |
| |
| | |
Make sure we stop the right txn too
|
| |\ \
| | |
| | |
| | | |
2abdb2c avoid some val copies (Howard Chu)
|
| | | | |
|
| |/ /
| |
| |
| |
| | |
save the thread ID of the writer thread so we don't try to use
the writetxn from reader threads
|
| |\ \
| | |
| | |
| | |
| | | |
66c2fc7 Need to link boost::chrono in more places now (Howard Chu)
b937a2c Use boost::thread instead of std::thread (Howard Chu)
|
| | | | |
|
| | |/
| |
| |
| | |
and all other associated IPC
|
| |/
|
|
| |
More uses of db error helper
|
| |\
| |
| |
| |
| |
| | |
bdec7cb BlockchainLMDB: Use DB error helper consistently (warptangent)
c5932eb BlockchainLMDB: Add DB error to exception (warptangent)
a49c355 Blockchain: Omit verbose time stats messages by default (warptangent)
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | | |
ee7a8b8 Get rid of lmdb_cur (Howard Chu)
|
| | |/
| |
| |
| | |
We don't need it now with per-txn cursors.
|
| |/
|
|
| |
Let ARMv7 work again
|
| |
|
|
|
|
|
| |
If user-defined comparator is used, subdb shouldn't be opened with
MDB_INTEGERKEY.
TODO: Again, this will be added back with future schema updates.
|
| |
|
|
|
|
| |
For now, so existing databases work.
TODO: add these back with future schema updates.
|
| | |
|