Commit Graph

5041 Commits

Author SHA1 Message Date
Braydon Fuller
c2c16e2dd3
Merge pull request #776 from nodar-chkuaselidze/blockstore-minor
blockstore-test: use try/catch instead of promise.catch/finally.
2019-05-18 08:55:22 -07:00
Nodar Chkuaselidze
1fceb14e32
blockstore-test: use try/catch instead of promise.catch/finally.
finally was introduce in node v10, so this test will fail on v8.6.0 node.
2019-05-18 16:36:38 +04:00
Braydon Fuller
4c49b088f0
Merge pull request #774 from nodar-chkuaselidze/indexer-minor
Indexer getPrefix
2019-05-17 10:57:10 -07:00
Nodar Chkuaselidze
cdca51a844
addrindexer: minor.
* allocate one buffer istead of concat.
* return results instead of mutating array.
2019-05-17 21:04:52 +04:00
Nodar Chkuaselidze
0f6ef910b0
addrindexer: use network for getPrefix. 2019-05-17 21:04:47 +04:00
Braydon Fuller
7e49be2a07
Merge pull request #758 from braydonf/indexer
Indexer fixes and improvements
2019-05-16 11:20:05 -07:00
Braydon Fuller
6c497d46f1
changelog: update and fix chain changes 2019-05-16 10:28:09 -07:00
Braydon Fuller
7e9d00a665
node: pass options from getTXByAddress to getMetaByAddress 2019-05-16 10:26:54 -07:00
Braydon Fuller
34e8f22b9b
indexer: update and fix documentation 2019-05-16 10:25:58 -07:00
Braydon Fuller
662a68cf10
blockchain: cleanup deprecated methods
Deprecation details are in CHANGELOG.md
2019-05-15 12:11:37 -07:00
Braydon Fuller
372b9f9803
changelog: update with new indexer fields for info endpoint 2019-05-15 12:11:37 -07:00
Braydon Fuller
ce16bc9239
node: simplify index-prefix option 2019-05-15 12:11:37 -07:00
Braydon Fuller
a6fd1bec1a
changelog: update with latest migration 2019-05-15 12:11:37 -07:00
Braydon Fuller
677b45f3d5
migrate: upgrade from chaindb 4 to 6 2019-05-15 12:11:37 -07:00
Javed Khan
5111af0615
migrate: update latest migration 2019-05-15 12:11:37 -07:00
Braydon Fuller
ed06c2184d
indexer: check that blocks are connected
There was a rare case that a block could be incorrectly added to
the indexer if the indexer was disabled during a reorg to a height
that matched the height that was expected, and the `sync` method
for the indexer wasn't called that would detect the reorg.
2019-05-15 12:11:37 -07:00
Braydon Fuller
cede31d86f
indexer: cleanup and check pruned and index options 2019-05-15 12:11:37 -07:00
Braydon Fuller
5d18f9ba2e
indexer: index the genesis block 2019-05-15 12:11:37 -07:00
Braydon Fuller
efb2551555
indexer: fix reset and reorg handling 2019-05-15 12:11:37 -07:00
Braydon Fuller
865f7401ba
test: add test for retroactively enabling indexer 2019-05-15 12:11:37 -07:00
Braydon Fuller
b4be8574e5
test: improve addrindex tests
- Vectors for p2wsh and p2sh.
- Edge case for witness program.
- Improve determinism by not comparing mtime.
- Various edge and error cases.
2019-05-15 12:11:32 -07:00
Braydon Fuller
69e9844f82
test: cleanup and add txindex tests 2019-05-15 12:11:05 -07:00
Braydon Fuller
fae647b9e9
indexer: simplify block meta and remove records 2019-05-15 12:11:05 -07:00
Nodar Chkuaselidze
f30276bc27
test: add mempool indexing tests 2019-05-15 12:11:05 -07:00
Nodar Chkuaselidze
80aaa148e4
test: add mempool index persistence test 2019-05-15 12:11:05 -07:00
Braydon Fuller
b37ac59973
test: add utility to wait for values 2019-05-15 12:11:05 -07:00
Braydon Fuller
bb797602e6
node: add http indexer info 2019-05-15 12:11:05 -07:00
Braydon Fuller
bd26dbf32d
mempool: update for addrindex 2019-05-15 12:11:05 -07:00
Braydon Fuller
4c8f11ed34
node: update http for addrindex 2019-05-15 12:11:05 -07:00
Braydon Fuller
06ef0e3615
indexer: simplify addrindex query 2019-05-15 12:11:05 -07:00
Braydon Fuller
ebc40a58d0
indexer: trim disk usage for tx and addr indexes 2019-05-15 12:11:01 -07:00
Braydon Fuller
93c6ff845e
indexer: fix, simplify and rewrite indexer base
- Write indexer state and index atomically.
- Simplify chain state with current height.
- Roll forward to best height.
- Synchronize the index with the chain with common method `sync` for
  the events 'connect', 'disconnect' and 'reset'. This will prevent
  any of the events from conflicting with each other.
- Fix the chain rollback and reset.
- Make sure blocks are connected in the correct order.
- Improve logging to log similar to chain.
2019-05-15 12:02:50 -07:00
Javed Khan
e2a6a92ebc
addrindexer: index by address prefix 2019-05-15 12:02:50 -07:00
Braydon Fuller
aa3f02d585
test: initial http tests for indexer 2019-05-15 12:02:49 -07:00
Javed Khan
9f86dbca28
chaindb: bump to v6 2019-05-15 12:02:49 -07:00
Javed Khan
7342952ec4
migrate: update chaindb5to6 migration 2019-05-15 12:02:49 -07:00
Braydon Fuller
32904c7940
changelog: fix memory and cpu exhaustion for addrindex 2019-05-15 12:02:48 -07:00
Braydon Fuller
7dc55c9c3c
indexer: remove address coin index 2019-05-15 12:02:48 -07:00
Braydon Fuller
05d55efb22
indexer: fix memory and cpu exhaustion for addrindex 2019-05-15 12:02:48 -07:00
Braydon Fuller
b9e8c7b8de
changelog: merge blockstore and indexer changes 2019-05-15 12:02:47 -07:00
Braydon Fuller
8bff122253
indexer: use chain and blocks for indexer, remove chain client 2019-05-15 12:02:47 -07:00
Braydon Fuller
f9aab08c46
indexer: add block position to tx 2019-05-15 12:02:47 -07:00
Javed Khan
9f89c79bd7
indexer: work with blockstore 2019-05-15 12:02:47 -07:00
Javed Khan
51ac4a720b
changelog: add indexer to changelog 2019-05-15 12:02:46 -07:00
Javed Khan
33de39ca0a
migrate: remove txindex and addrindex from chaindb 2019-05-15 12:02:46 -07:00
Javed Khan
05794f5cb3
indexer: add module indexer
module indexer introduces a extensible architecture for indexing the
chain. It provides a base class which handles syncing with the chain,
handling re-orgs, interruptions, dynamic toggling, etc. TXIndexer
and AddrIndexer are provided for indexing transactions and addresses,
using the same flags as before i.e --index-tx and --index-address.
Indexes are stored in a different database and can be maintained
independently of the chain.
2019-05-15 12:02:41 -07:00
Braydon Fuller
81b840a634
Merge pull request #769 from braydonf/wallet-tx-conflict
wallet: handle multiple conflicting inputs
2019-05-14 22:56:29 -07:00
Braydon Fuller
eba7bbeddc
wallet: handle multiple conflicting inputs 2019-05-14 14:29:41 -07:00
Orfeas Stefanos Thyfronitis Litos
07f7338503 Replace 285 with 293 in blockstore README (#767)
* Replace 285 with 293 in blockstore README

* Mention block size after boundaries
2019-05-12 17:55:48 +05:30
Braydon Fuller
af19d802f5
Merge pull request #765 from tuxcanfly/fix-fee-overflow-err
chain: add fee overflow test; rename error
2019-05-06 16:29:41 -07:00