Braydon Fuller
587602d080
bitcoind: stop failsafe timeout
2016-04-20 13:03:18 -04:00
Braydon Fuller
2015514e78
test: increase timeout for check synced test
2016-04-20 12:05:15 -04:00
Braydon Fuller
3e2492e6d4
scaffold: detect incompatible config
2016-04-20 11:55:45 -04:00
Braydon Fuller
019bc2a58c
bitcoind: load network bitcoin.conf and set defaults
2016-04-20 11:41:02 -04:00
Braydon Fuller
c3dab07b30
bitcoind: fix clearInterval issue with Node.js 0.12
2016-04-19 20:27:52 -04:00
Braydon Fuller
40e7b24ea9
test: fix unstubbed uncaughException
2016-04-19 20:10:32 -04:00
Braydon Fuller
7d878adcf0
bitcoind: immediately subscribe with connect option
2016-04-19 17:23:27 -04:00
Braydon Fuller
458fe2f2b6
bitcoind: emit block events while polling before subscribing to zmq events
2016-04-19 16:53:00 -04:00
Braydon Fuller
b092adcc21
bitcoind: subscribe to zmq events without interval if already synced
2016-04-19 16:40:54 -04:00
Braydon Fuller
2b38f08175
bitcoind: subscribe to zmq events once synced
...
prevents flooding tx and and block events that can cause issues
2016-04-19 16:00:17 -04:00
Braydon Fuller
2975f27a8d
bitcoind: add uacomment option to default config
2016-04-18 18:34:54 -04:00
Braydon Fuller
feb8038da6
bitcoind: fix check reindex interval
2016-04-18 16:05:09 -04:00
Braydon Fuller
bf67b932de
bitcoind: fix check reindex method not found
2016-04-18 15:52:35 -04:00
Braydon Fuller
afda35962b
test: mempool helper method unit tests
2016-04-18 13:37:37 -04:00
Braydon Fuller
7c37eba91e
test: unit tests for connect and spawn processes
2016-04-18 13:24:47 -04:00
Braydon Fuller
e09cc3d1fc
test: bitcoind start unit tests
2016-04-18 11:11:17 -04:00
Braydon Fuller
317fdbbdd8
test: bitcoind _getAddressStrings unit tests
2016-04-18 10:54:50 -04:00
Braydon Fuller
8fd405eedf
test: getBlockHeader unit tests
2016-04-18 10:48:32 -04:00
Braydon Fuller
a4f5a6fa82
test: getblock unit tests
2016-04-18 10:37:33 -04:00
Braydon Fuller
bb726bac8b
test: bitcoind getaddressbalance unit test
2016-04-15 16:35:31 -04:00
Braydon Fuller
24ca5ce053
web: option to enable/disable socket rpc handling
2016-04-15 11:20:38 -04:00
Braydon Fuller
69ff5423c2
bitcoind: rename exported events to rawtransaction and hashblock
2016-04-15 11:20:38 -04:00
Braydon Fuller
890b38744d
test: update unit tests, refactoring and cleanup
2016-04-15 11:20:33 -04:00
Braydon Fuller
462e4e3cdd
Merge pull request #407 from bitpay/opt/multiple-address-history
...
Opt/multiple address history
2016-02-11 12:15:15 -05:00
Matias Alejo Garcia
e36cdb717a
rm empty keys
2016-02-11 10:42:30 -05:00
Chris Kleeschulte
afce33e5ff
Fixed test to refer to variables.sh for the architecture.
2016-02-11 10:25:22 -05:00
Matias Alejo Garcia
4d03aaa73f
use mocknode
2016-02-10 16:18:27 -05:00
Matias Alejo Garcia
6e600b5def
refactor test
2016-02-10 16:08:27 -05:00
Matias Alejo Garcia
1a68ca4fae
add tests to _updateAddressIndex
2016-02-10 15:38:02 -05:00
Matias Alejo Garcia
02f2234004
rm extra commas
2016-02-10 15:05:05 -05:00
Matias Alejo Garcia
3bb3d82aac
add counter for address mempool index
2016-02-10 15:03:34 -05:00
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
bf97d7e70b
Include node version in binary distribution.
2015-10-28 14:54:27 -04:00
Braydon Fuller
92382d69cc
Add --testnet option to create command.
2015-10-21 15:28:28 -04:00
Braydon Fuller
e046f7294e
Changes to be able to run with only a configuration file.
...
- Adds parameter to cli methods to be able to specify the location of services modules. This is useful for packages that wrap bitcore-node to be able to pass along a node_modules directory with services.
- Adds another parameter for including additional services in the default settings.
- Will use the `process.env.HOME + '/.bitcore` as the default configuration location.
- There are now two `getDefaultConfig`, one that will instatiate a `~/.bitcore` directory with a default if it doesn't exist, and `getBaseDefaultConfig` that will return a basic configuration without additional services enabled.
- Changes logic to use the global install if a local node_modules version is not available, this would previously assume that it was a local install because of the existence of a configuration file.
2015-10-20 12:33:53 -04:00
Braydon Fuller
21e0aa28b5
Added a Node.js version check based on the package.json engine.
2015-10-18 22:50:29 -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
aa9504a402
Merge pull request #227 from braydonf/add-cmd-remote
...
Bitcore Node Add Command with Remote URLS
2015-09-16 13:34:24 -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
Patrick Nagurny
696759849f
Merge pull request #223 from braydonf/history
...
Pagination for Address History
2015-09-15 12:34:26 -04:00
Braydon Fuller
25e801126f
Bitcore Node Add Command with Remote URLS
2015-09-15 11:08:55 -04:00
Braydon Fuller
0b2d5f4891
Merge pull request #220 from kleetus/script_helpers
...
gitignore, integration test, env
2015-09-15 10:20:57 -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
Chris Kleeschulte
7b50f5ff3d
Switched to using a flag instead of using a replacement.
2015-09-14 13:15:55 -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
Chris Kleeschulte
51355c51f1
Multiple sigints sent to the node process
...
- Added a simple replacement function after the first sigint is handled.
- Added unit tests for the exitHandler, requiring it to be exposed from the module.
2015-09-11 16:27:24 -04:00
Chris Kleeschulte
ef49264907
gitignore, integration test, env
...
- Added a very common way to launch a script using the env (saving keystrokes)
- Added a gitignore for the integration/data dir
- Added a bus integration test apart from the regtest and using a test service
2015-09-11 10:58:52 -04:00
Patrick Nagurny
c4d28c3947
wait for db operations to complete before closing leveldb
2015-09-10 12:45:00 -04:00