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
Javed Khan
d53fa0a1c5
chain: extend try..finally; restore consts to copy
2019-05-07 03:59:15 +05:30
Javed Khan
49143b2c16
chain: reset consensus params on assert fail
2019-05-07 03:48:31 +05:30
Javed Khan
4bc0bb2366
chain: add fee overflow test; rename error
2019-05-07 03:27:42 +05:30
Javed Khan
812dc1a6f3
Merge pull request #764 from braydonf/checkpoint
...
blockchain: do not accept forked chain older than last checkpoint
2019-05-07 00:23:19 +05:30
Braydon Fuller
46f83fe5ae
Merge pull request #763 from pinheadmz/docslint
...
linter: cover docs/examples
2019-05-03 09:33:14 -07:00
Braydon Fuller
c54abb79f1
Merge pull request #760 from kilpatty/node-http-reset-enforce
...
node-http: add check for height being below tip
2019-05-03 09:19:08 -07:00
Braydon Fuller
b68207610c
blockchain: do not accept forked chain older than last checkpoint
...
This has been patched in both bitcoind and btcd around February 20th, 2014. It was
shortly followed by a headers-first synchronization of blocks.
- d8b4b49667
- 50b6e10b57
2019-05-02 14:44:10 -07:00
Matthew Zipkin
ff6570fa45
linter: cover docs/examples
2019-05-02 08:16:11 -07:00
kilpatty
d5514d9dcb
node-http: add check for height being below tip
...
This commit simply adds an enforce line to check that the height being
requested to reset to is below the chain tip. This way we return a bad
request error rather than a internal server error.
2019-04-30 21:43:48 -05:00