Matias Alejo Garcia
d0c2fa61d8
fix tests
2016-02-09 10:57:40 -05:00
Matias Alejo Garcia
9f87156adc
fix format
2016-02-09 10:26:09 -05:00
Matias Alejo Garcia
c65c2bad20
add mempoolADdressIndex test
2016-02-08 13:40:27 -05:00
Matias Alejo Garcia
c1d3f351f2
add address index to mempool + noBalance options
2016-02-08 13:21:53 -05:00
Braydon Fuller
83eba52657
Tests: Fix tests to use enable/disableRegtest
2016-02-04 17:26:17 -05:00
Braydon Fuller
98bd8ee560
DB Service: Include a version number for upgrading purposes
2016-01-28 12:08:05 -05:00
Braydon Fuller
a2acc0c80f
Address Service: Fixed test for max address limit
2016-01-26 13:09:31 -05:00
Braydon Fuller
45029030f1
Address Service: Sort after unconfirmed and confirmed
2016-01-18 16:16:53 -05:00
Braydon Fuller
d4f2df5c51
Address Service: Sort mempool txids
2016-01-18 15:56:05 -05:00
Braydon Fuller
62934b4b66
Address Service: Removed event listeners prior to stopping
2016-01-18 15:00:55 -05:00
Braydon Fuller
687400eab2
Address Service: Added test for history `getAddressDetailsForTransaction`
2016-01-18 13:53:32 -05:00
Braydon Fuller
3d9b6d5532
Address Service: More tests for history
2016-01-18 12:59:49 -05:00
Braydon Fuller
e79c00db10
Address Service: Updated tests and fixed various bugs
2016-01-15 18:04:32 -05:00
Braydon Fuller
ead6c2f45f
Address Service: Removed caching and added max query limits
...
Querying addresses that have millions of transactions is supported however
takes hundreds of seconds to fully calculate the balance. Creating a cache of
previous results wasn't currently working because the `isSpent` query is always
based on the current bitcoind tip. Thus the balance of the outputs would be included
however wouldn't be removed when spent as the output wouldn't be checked again
when querying for blocks past the last checkpoint. Including the satoshis in the
inputs address index would make it possible to subtract the spent amount,
however this degrades optimizations elsewhere. The syncing times or querying
for addresses with 10,000 transactions per address.
It may preferrable to have an additional address service that handles high-volume
addresses be on an opt-in basis so that a custom running client could select
high volume addresses to create optimizations for querying balances and history.
The strategies for creating indexes differs on these use cases.
2016-01-14 17:17:04 -05:00
Braydon Fuller
4fcec8755c
Address Service: Fixed many bugs from tests
...
- Refactored getAddressSummary and added several tests
- Fixed bugs revealed from the integration regtests
- Updated many unit tests
2016-01-13 17:15:14 -05:00
Samuel Reed
3214390d4c
Fix #377 ; db must contain hash type, not just hash.
...
Prevents erroneous crediting of all transactions to both the
p2pkh and the corresponding p2sh address.
2016-01-11 09:47:00 -06:00
Patrick Nagurny
02620a5b47
Merge pull request #352 from braydonf/mem
...
Optimized address service mempool index size
2015-11-03 17:23:28 -05:00
Braydon Fuller
0ea035c4f0
Address: Fixed race condition with transaction event handlers
2015-11-03 17:12:13 -05:00
Braydon Fuller
378edd4186
Web: Changed to pass express subapp to services instead of the router.
2015-11-03 10:32:01 -05:00
Braydon Fuller
c5c8e21c6c
Address: Fixed bug with isSpent confusion with prevTxId and txid
2015-11-03 10:26:32 -05:00
Braydon Fuller
a1bae366b3
Database: Removed `runAllMempoolIndexes` method
...
Replaced with using `tx` and `txleave` to manage the state of the mempool indexes.
2015-11-02 17:18:37 -05:00
Braydon Fuller
5ac3b1c61f
Address: Added unit tests for new mempool index methods
2015-11-02 17:10:43 -05:00
Braydon Fuller
89ef28f0b7
Optimize mempool address index memory footprint
...
- Adds default to store a large portion of the mempool index in leveldb
- Includes an option to use memdown to have the mempool index in-memory
2015-10-30 18:36:16 -04:00
Braydon Fuller
086ba5fcfc
Switch to remove items from mempool index as they leave asynchronously.
2015-10-29 19:16:56 -04:00
Braydon Fuller
f0ec424161
Added bindings to be able to listen to tx leaving mempool.
2015-10-29 16:15:00 -04:00
Braydon Fuller
1dec93edd4
bitcore -> bitcore-lib
2015-10-17 00:56:29 -04:00
Braydon Fuller
d9b2a0969b
Fixed bug with balance
...
There was a bug when getting unspent outputs that would include an output
that was spent in the mempool in addition to the new output with the change
address. This lead to a balance having an output counted twice towards the
end balance. The solution is to have the isSpent method for the address service
to also include if the output was spent in the mempool, as the isSpent
method exposed from bitcoind only includes if the output was spent in a block.
2015-10-12 09:29:49 -04:00
Patrick Nagurny
3e38d84d0b
emit address/balance events for mempool transactions
2015-10-02 17:10:12 -04:00
Patrick Nagurny
9acb896f10
Wait for bitcoind to catch up if tip is not found
2015-10-02 13:35:42 -04:00
Braydon Fuller
539b263c67
Add spentTxId Index
...
- To be able to query an inputTxId and inputIndex that spends an outputTxId and outputIndex
- Extends the mempoolSpentIndex to include the inputTxId and inputIndex
2015-10-01 20:03:31 -04:00
Patrick Nagurny
26b27b292e
update tests
2015-09-29 16:03:56 -04:00
Chris Kleeschulte
af7966f94a
Removed unneeded getTxOutSetInfo
2015-09-25 11:33:51 -04:00
Braydon Fuller
1183e0cae7
Service Documentation
2015-09-23 18:14:37 -04:00
Chris Kleeschulte
d474d03cf2
Merge pull request #248 from braydonf/pubkeyout
...
Address compatibility with pay-to-publickey output scripts.
2015-09-21 14:39:42 -04:00
Braydon Fuller
7e82c933c0
Merge pull request #249 from kleetus/feature/getNextBlockHash
...
Next Block Hash Bindings
2015-09-21 14:30:30 -04:00
Chris Kleeschulte
402d01d7ac
Next Block Hash Bindings
...
- Added bindings for next block hash
- Added the reg/unit tests
2015-09-21 14:07:14 -04:00
Braydon Fuller
e3096d3646
Address compatibility with pay-to-publickey output scripts.
2015-09-21 13:49:48 -04:00
Patrick Nagurny
b11ab97739
add tests
2015-09-18 14:06:26 -04:00
Patrick Nagurny
4a5031a917
Merge pull request #240 from braydonf/gettxoutsetinfo
...
Add binding for getting transaction output set information.
2015-09-18 13:20:46 -04:00
Braydon Fuller
68368397d3
Add binding to get the best block hash.
2015-09-17 18:11:47 -04:00
Braydon Fuller
4c674a8fbb
Add binding for getting transaction output set information.
2015-09-17 17:52:23 -04:00
Chris Kleeschulte
0ba168e2a2
Fixed typo and added a test to prove that the inputs from the mempoolInputIndex are added on stream close.
2015-09-17 17:20:35 -04:00
Chris Kleeschulte
c3654120ee
MempoolInputIndex and MempoolOutputIndex
...
- Added in memory indexes for mempool input and
output by address.
2015-09-17 14:29:11 -04:00
Braydon Fuller
4343b90de2
Merge pull request #219 from pnagurny/feature/timestamp-blocks
...
Get block hashes by timestamp range
2015-09-16 13:47:00 -04:00
Patrick Nagurny
a0be38f074
check for timestamp out of bounds
2015-09-16 12:04:44 -04:00
Patrick Nagurny
7e1d433781
go from highest timestamp to lowest timestamp
2015-09-15 18:23:06 -04:00
Patrick Nagurny
00d3a0ba67
binary encode key and value
2015-09-15 16:55:14 -04:00
Braydon Fuller
bfba4a1b7f
Address History: Include count in response results.
2015-09-15 13:17:15 -04:00
Patrick Nagurny
eaee098cf0
add getBlockHashesByTimestamp
2015-09-15 12:56:44 -04:00
Braydon Fuller
5fbd8991ed
Address History: Combine addresses so that history is txid unique.
2015-09-14 21:04:54 -04:00
Braydon Fuller
e7587564a7
Address History: Add getAddressHistoryCount to available API methods.
2015-09-14 17:29:43 -04:00
Braydon Fuller
b1b40c892e
Address History: Add getAddressHistoryCount method
2015-09-14 16:48:28 -04:00
Braydon Fuller
a80b58e004
Address History: Fix sorting bug
2015-09-14 16:11:31 -04:00
Braydon Fuller
f88eee5a1c
Improve db storage efficiency by ~2 times
...
Encodes and decodes keys and values for leveldb storage more efficiently.
2015-09-14 00:30:21 -04:00
Braydon Fuller
d3641f3b0a
Pagination Optimization
...
- Sort and paginate before getting full transaction details.
- Only get detailed transaction information for items within the current page.
- Improves the performance with large sets of transactions.
2015-09-14 00:30:14 -04:00
Braydon Fuller
1cf34f2dd8
Address Block Handling Optimizations
...
- Changes to use ripemd160 hash directly instead of the base58check encoded values
- Speeds block handling performance by ~4 times
2015-09-12 19:56:13 -04:00
Braydon Fuller
c205f781a5
Pagination for Address History
...
- Reindexing the bitcore-node database is required with this change.
- Address indexes are updated to include address and height in spent index so that both inputs and outputs can be queried by address and height using "start" and "stop" to limit the range of the query.
- Address history also now supports paginated results using "from" and "to" values that indicate an index in the array.
2015-09-12 19:44:10 -04:00
Patrick Nagurny
c4d28c3947
wait for db operations to complete before closing leveldb
2015-09-10 12:45:00 -04:00
Patrick Nagurny
8b0b401d52
inherit https options from node
2015-09-10 11:08:48 -04:00
Patrick Nagurny
5677964651
add https to web service
2015-09-09 16:49:36 -04:00
Patrick Nagurny
4682714c69
check for blockHandler on services
2015-09-09 15:04:07 -04:00
Patrick Nagurny
0ff742c1b6
add isMainChain method
2015-09-08 17:38:59 -04:00
Braydon Fuller
b4ed29eabe
Merge pull request #193 from kleetus/reindex
...
Reindex logic
2015-09-08 10:15:34 -04:00
Braydon Fuller
9aec734122
Merge pull request #195 from pnagurny/bug/transaction-fee
...
Handle getFee() error
2015-09-04 14:28:37 -04:00
Patrick Nagurny
79ae3bb412
handle getFee() error
2015-09-04 14:28:04 -04:00
Braydon Fuller
50925d1e0f
Add tests for reorg improvement, and remove nolonger need code.
2015-09-04 13:52:59 -04:00
Chris Kleeschulte
730dd37318
Reindex logic
...
- If the reindex option is set in bitcoin.conf, then when start is called and onBlocksReady's callback is fired:
- start's callback will not be fired until the reindex takes place.
- along the way the sync percentage is display once per second
2015-09-04 11:39:38 -04:00
Patrick Nagurny
a0e40ffd15
check for duplicate events
2015-09-03 17:29:28 -04:00
Patrick Nagurny
900f715a49
add tests
2015-09-03 16:38:23 -04:00
Patrick Nagurny
fd2790daab
Merge pull request #170 from braydonf/coverage
...
Improve test coverage and cleanup.
2015-09-02 10:43:41 -04:00
Patrick Nagurny
1f94215aa2
timestamp should be a number not a string
2015-09-01 17:34:30 -04:00
Braydon Fuller
d56986f281
Added unit tests for db.getMetadata
2015-09-01 16:42:27 -04:00
Braydon Fuller
63e71d7f0c
Added unit tests for db.saveMetadata
2015-09-01 14:29:04 -04:00
Braydon Fuller
efc770f7eb
Bitcoind is already logging the status.
2015-09-01 13:55:51 -04:00
Braydon Fuller
f4b24df024
Add tests for bitcoind proxy methods.
2015-09-01 13:18:44 -04:00
Braydon Fuller
53adaa7e6a
Improve test coverage and cleanup.
2015-08-31 16:32:25 -04:00
Patrick Nagurny
4ae6377548
fixes
2015-08-31 15:15:55 -04:00
Patrick Nagurny
f1cac3da1d
make webService into a real service
2015-08-31 13:06:49 -04:00
Patrick Nagurny
a68cf4ecf8
Web service and other changes in preparation for insight-api
2015-08-31 12:54:28 -04:00
Braydon Fuller
7551f487f8
Rename modules to services.
2015-08-31 11:31:28 -04:00