Commit Graph

160 Commits

Author SHA1 Message Date
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