Howard Chu
2b0fa05f0d
Another take on migration
...
Delete old indices and recreate them, rather than updating them
Maybe not quite as slow as before.
2016-04-24 17:46:50 +01:00
Howard Chu
66b1e13aa7
mdb_drop optimization
...
If we know there are no sub-DBs and no overflow pages, skip leaf scan.
2016-04-09 20:44:05 +01:00
Howard Chu
c14f9efd52
Migration
...
Migrate from DB version 0 to version 1 on startup
2016-04-08 03:11:05 +01:00
Howard Chu
d7ea7d9a23
Merge branch 'performance' into master
2016-04-05 21:13:16 +01:00
Howard Chu
372acee723
Cleanup
...
drop obsolete remove_output()
fix get_output_key(global), fix crash in blockchain_dump
2016-04-05 21:05:24 +01:00
Howard Chu
591e421875
Cleanup and clarify
...
Try to rationalize the variable names, document usage.
2016-04-05 20:57:45 +01:00
Howard Chu
b2f1c58805
Use cursors in some remove functions
...
Helps when they're called repeatedly in one txn
2016-04-05 20:57:31 +01:00
Howard Chu
118dd69dd5
Use DUPFIXED for block_info and output_txs
...
Saves another ~150MB or so on the full blockchain
2016-04-05 20:55:16 +01:00
Howard Chu
6225716f3c
More outputs consolidation
...
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.
2016-04-05 20:55:12 +01:00
Howard Chu
7c5abdc3a3
Use DUPFIXED for output_keys
...
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.
2016-04-05 20:54:42 +01:00
Howard Chu
8e9d8e3364
Use DUPFIXED for tx_indices
...
Small space savings, no measurable speedup
2016-04-05 20:54:39 +01:00
Howard Chu
a12f9365f8
Use DUPFIXED for block_heights
...
Only a small savings...
2016-04-05 20:54:07 +01:00
Howard Chu
38c2277d6f
Use DUPFIXED for spent_keys
2016-04-05 20:54:07 +01:00
warptangent
bf769c32ba
Add back changes from revert.
...
m_tx_outputs doesn't need to be changed, as it's no longer dup list.
2016-04-05 20:54:07 +01:00
warptangent
46b991b362
Use MDB_APPEND mode with two tx subdbs
...
This is possible on those using a tx index as a key.
2016-04-05 20:54:07 +01:00
warptangent
9aadedb1d0
Schema update: tx_indices - consolidate the tx subdbs from 5 to 3
2016-04-05 20:54:06 +01:00
warptangent
a2f518aa01
Schema update: tx_indices - yet less indirection
2016-04-05 20:54:06 +01:00
warptangent
8d12a8df2c
Schema update: tx_indices - improve further with less indirection
2016-04-05 20:54:06 +01:00
warptangent
7c013f66e9
Add batch warning for further review
2016-04-05 20:54:06 +01:00
warptangent
ae0854a431
Schema update: tx_indices
2016-04-05 20:54:06 +01:00
Howard Chu
8d252a4214
Consolidated block info
2016-04-05 20:53:59 +01:00
warptangent
132c666f67
Update schema for "tx_outputs" to use array containing amount output indices
...
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 d045dfa7ce
2016-04-05 20:30:50 +01:00
warptangent
309f8f3d44
blockchain_utilities: Update documentation
2016-04-05 20:30:50 +01:00
luigi1111
7ac1db42c2
get_payments short ID
...
Add support for short/integrated/encrypted IDs to get_payments RPC
2016-04-05 20:30:50 +01:00
Riccardo Spagni
e7c8a32a28
Merge pull request #780
...
a42e19e
bumped version number (Riccardo Spagni)
2016-04-02 12:22:31 +09:00
Riccardo Spagni
a42e19e1b7
bumped version number
2016-04-02 12:21:59 +09:00
Riccardo Spagni
cc54e2764a
Merge pull request #779
...
daac1cc
core: remove the block reward accumulation loop (moneromooo-monero)
2016-04-02 12:05:57 +09:00
Riccardo Spagni
dea1aa75bc
Merge pull request #778
...
efbdde2
Detect map resize failures (Howard Chu)
2016-04-02 12:05:40 +09:00
Riccardo Spagni
ab43e80331
Merge pull request #777
...
8757e46
add blockhashing blob to getblocktemplate (Howard Chu)
2016-04-02 12:05:07 +09:00
Riccardo Spagni
590d5d8f20
Merge pull request #774
...
34957fc
tests: add test for needed OpenSSL algorithms in unbound (moneromooo-monero)
2016-04-02 12:04:26 +09:00
Riccardo Spagni
3d06e2bc81
Merge pull request #773
...
587e2e9
README: mention TORSOCKS_ALLOW_INBOUND for wallet connections (moneromooo-monero)
2016-04-02 12:03:51 +09:00
Riccardo Spagni
b22f550c67
Merge pull request #772
...
ead6956
simplewallet: always gracefully exit on EOF (moneromooo-monero)
2016-04-02 12:03:25 +09:00
Riccardo Spagni
4ac6bdbb3f
Merge pull request #769
...
b4eada9
wallet: make load_keys check types when loading JSON (moneromooo-monero)
3e55725
wallet: make the JSON reading type safe (moneromooo-monero)
f8d05f3
common: new json_util.h (moneromooo-monero)
2016-04-02 12:02:49 +09:00
Riccardo Spagni
2572706c2c
Merge pull request #768
...
43962f4
abstract_tcp_server2: possible fix for exception in handle_accept (moneromooo-monero)
2016-04-02 12:02:33 +09:00
Riccardo Spagni
a38ad63f8f
Merge pull request #767
...
24b3e90
Convey tx verification failure reasons to the RPC client (moneromooo-monero)
2016-04-02 12:02:07 +09:00
Riccardo Spagni
f68670a80e
Merge pull request #766
...
77d1c6b
simplewallet: default to trusted daemon for loopback address (moneromooo-monero)
2016-04-02 12:01:29 +09:00
Riccardo Spagni
44559ca4b0
Merge pull request #764
...
f746c9d
minor corrections/clarifications (Thomas Winget)
c6bb201
Transaction pool documentation (and some cleanup) (Thomas Winget)
2016-04-02 12:01:15 +09:00
moneromooo-monero
daac1cc259
core: remove the block reward accumulation loop
...
This can generate non decomposed outputs for very large block
rewards (or not so large ones if a miner decides to not quantize
the block rewards). Out of an abundance of caution, we refuse
to generate those. They are still accepted by the consensus code,
however.
2016-04-01 21:42:19 +01:00
Howard Chu
efbdde2c66
Detect map resize failures
2016-03-30 20:37:28 +01:00
Thomas Winget
f746c9d01b
minor corrections/clarifications
2016-03-30 11:55:54 -04:00
Howard Chu
8757e46b78
add blockhashing blob to getblocktemplate
2016-03-30 16:54:36 +01:00
moneromooo-monero
34957fcbb9
tests: add test for needed OpenSSL algorithms in unbound
...
These can be compiled out of libunbound, leading to failure
to check DNSSEC validity.
2016-03-29 17:56:42 +01:00
moneromooo-monero
587e2e9418
README: mention TORSOCKS_ALLOW_INBOUND for wallet connections
2016-03-29 17:55:00 +01:00
moneromooo-monero
ead6956080
simplewallet: always gracefully exit on EOF
2016-03-29 17:52:45 +01:00
Riccardo Spagni
0ee87e6305
Merge pull request #770
...
878ab5d
wallet: fix --generate-from-keys saving as watch only (moneromooo-monero)
2016-03-28 23:43:06 +02:00
moneromooo-monero
878ab5d896
wallet: fix --generate-from-keys saving as watch only
2016-03-28 16:46:37 +01:00
moneromooo-monero
b4eada907c
wallet: make load_keys check types when loading JSON
2016-03-27 23:39:34 +01:00
moneromooo-monero
3e557254c7
wallet: make the JSON reading type safe
2016-03-27 23:39:17 +01:00
moneromooo-monero
f8d05f3cd9
common: new json_util.h
...
With code to help factor out reading typed fields from JSON
2016-03-27 23:35:32 +01:00
Riccardo Spagni
2b57845766
Merge pull request #765
...
d5d46e6
tests: obligatory hardfork unit build fix after interface change (moneromooo-monero)
25672d3
wallet: pass std::function by const ref, not value (moneromooo-monero)
0be6e08
wallet: do not leak owned amounts to the daemon unless --trusted-daemon (moneromooo-monero)
12146da
wallet: change sweep_dust to sweep_unmixable (moneromooo-monero)
600a3cf
New RPC and daemon command to get output histogram (moneromooo-monero)
f9a2fd2
wallet: handle rare case where fee adjustment can bump to the next kB (moneromooo-monero)
f26651a
wallet: factor fee calculation (moneromooo-monero)
2016-03-27 14:09:53 +02:00