Commit Graph

1858 Commits

Author SHA1 Message Date
Braydon Fuller
98bfd358d3 build: update bitcoind-rpc with work limit exceeded handling 2016-05-11 12:51:24 -04:00
Braydon Fuller
ae91ff2420 bitcoind: update jsdocs for getBlockHeader 2016-05-11 12:15:33 -04:00
Braydon Fuller
b597a05cb4 bitcoind: camelCase result from getBlockHeader
for consistency with other methods
2016-05-11 11:39:14 -04:00
Braydon Fuller
d399e9acea bitcoind: camelCase getInfo results
for consistency with other bitcoind api responses
2016-05-11 11:16:04 -04:00
Braydon Fuller
4757edc570 test: add missing property checks 2016-05-10 19:40:29 -04:00
Braydon Fuller
cceb4186d4 test: bump timeout in bitcoind after/before 2016-05-10 19:35:37 -04:00
Braydon Fuller
791047c10d bitcoind: bump max tx history default to 50 2016-05-10 19:30:36 -04:00
Braydon Fuller
8b0d16d5a3 test: check callcount for retry in bitcoind spawn child method 2016-05-10 18:54:02 -04:00
Braydon Fuller
f6bbe54293 test: bitcoind chainwork test
modified comparison to show how the values differ
2016-05-10 18:33:37 -04:00
Braydon Fuller
26c87ea32a test: check height from tip event in cluster regtest 2016-05-10 18:19:58 -04:00
Braydon Fuller
85a0c16eef test: fixes for bitcoind regtest 2016-05-10 18:17:53 -04:00
Braydon Fuller
75c43559d4 bitcoind: paginate txids in address summary
so that one request doesn't yield a 80MB response
2016-05-10 13:48:56 -04:00
Braydon Fuller
0387c1a6e4 test: increase timeout for cluster test and decrease keypool
resolves issues when the keypool takes time to fill
2016-05-10 11:47:31 -04:00
Braydon Fuller
e24a9c96ae build: update bitcoind links to bitpay/bitcoin bitcore-rc1 release 2016-05-09 16:46:45 -04:00
Braydon Fuller
d9d50c1f0c docs: update prereqs in readme 2016-05-09 16:46:40 -04:00
Braydon Fuller
27112fc1d7 docs: make note about libzmq-dev 2016-05-09 16:37:28 -04:00
Braydon Fuller
36f337afb3 web: update jsdoc with enableSocketRPC option 2016-05-09 14:30:07 -04:00
Braydon Fuller
7be7a7dce5 scaffold: update error message to be more accurate 2016-05-09 14:28:17 -04:00
Braydon Fuller
abfb07f5f8 build: update bitcoind-rpc commit 2016-05-09 14:27:13 -04:00
Braydon Fuller
c9154d4e0e docs: bump disk prereq to 200GB 2016-05-09 14:23:53 -04:00
Braydon Fuller
b0290899ce bitcoind: handle empty input from pid file 2016-04-28 16:19:33 -04:00
Braydon Fuller
2e912af9b4 bitcoind: subscribe to zmq event closer to 100% sync
Instead of subscribing at >= 0.995 subscribe at >= 0.9999 progress
2016-04-28 13:13:51 -04:00
Braydon Fuller
c22f6505eb bitcoind: reduce duplicate tx messages
remember a larger number of tx zmq messages to not emit a transaction twice
once from the block and another from the mempool
2016-04-28 12:10:05 -04:00
Braydon Fuller
d969ad7fb6 build: include bitcoind in package.json bin 2016-04-27 14:38:58 -04:00
Braydon Fuller
24d1bc82e9 logger: added option to disable formatting
- systemd journalctl includes timestamps in log messages already
- updated logger to use console.error, console.warn, console.info, and etc.
2016-04-27 13:46:50 -04:00
Braydon Fuller
ea792b692f scaffold: remove outdated logging of db service sync status 2016-04-27 12:00:47 -04:00
Braydon Fuller
271dcd8902 build: add jshint to scripts and ci build 2016-04-27 11:36:46 -04:00
Braydon Fuller
92bae5f09a general: code cleanup, refactoring and formatting 2016-04-27 11:36:26 -04:00
Braydon Fuller
c1e9d5a3d9 test: added tests for stopSpawnedBitcoin 2016-04-26 17:29:40 -04:00
Braydon Fuller
d28f8567f1 bitcoind: handle unexpected process exits 2016-04-26 14:32:51 -04:00
Braydon Fuller
d958e83f1d build: add support for nodejs 0.10
For Ubuntu 14.04 Node.js compatibility: http://packages.ubuntu.com/trusty/nodejs
2016-04-25 17:23:48 -04:00
Braydon Fuller
9e0e9a2c89 build: include environment variables for downloading bitcoin
for parent modules to specify npm rebuild and install behavior
2016-04-25 16:35:18 -04:00
Braydon Fuller
76eeba5999 build: verify bitcoin download 2016-04-25 16:08:19 -04:00
Braydon Fuller
944c44ed74 bitcoind: return selected set of info for getinfo 2016-04-25 11:16:06 -04:00
Braydon Fuller
3f34fb6ea0 bitcoind: always log errors emitted instead of being uncaught exceptions 2016-04-25 11:02:37 -04:00
Braydon Fuller
a61f43a584 build: upgrade socket.io
nodejs binary addons have been removed as optional dependencies from ws, however
they will still be used if available:
49b11093e9
2016-04-23 17:09:46 -04:00
Braydon Fuller
c63e98f061 bitcoind: limit tx history range 2016-04-22 16:51:56 -04:00
Braydon Fuller
c6e543c2a1 bitcoind: fix noTxList caching issue 2016-04-22 16:13:57 -04:00
Braydon Fuller
5e6600162a test: add unit test for getaddressunspentoutputs with mempool 2016-04-22 12:48:16 -04:00
Braydon Fuller
7f17dd4a4c bitcoind: fixed issue with cache mempool updates 2016-04-22 12:09:57 -04:00
Braydon Fuller
0272b17f0e test: fix regtest amount check 2016-04-21 17:34:25 -04:00
Braydon Fuller
b901e10c9d bitcoind: update unspentoutputs with mempool 2016-04-21 17:13:24 -04:00
Braydon Fuller
d1cf9deef0 bitcoind: parse ints for pagination 2016-04-20 15:35:43 -04:00
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
7dabd8c4ab docs: correct development environment docs 2016-04-19 14:00:22 -04:00
Braydon Fuller
2975f27a8d bitcoind: add uacomment option to default config 2016-04-18 18:34:54 -04:00
Braydon Fuller
033a62387f docs: include upgrade notes for bitcore 3 -> 4 2016-04-18 17:22:49 -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
3fed348cf7 docs: update development guide 2016-04-18 15:40:59 -04:00
Braydon Fuller
c8ba4eaa8f test: remove outdated regtest 2016-04-18 13:45:06 -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
552abf77cf docs: symlink docs/index.md -> README.md 2016-04-15 17:00:40 -04:00
Braydon Fuller
dab49aef39 docs: various updates
- remove build and update bitcoind
- remove outdated error documentation
- update bus docs
2016-04-15 16:55:59 -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
848dc29777 docs: update get balance method 2016-04-13 09:17:28 -04:00
Braydon Fuller
c2eda9b3c2 bitcoin: address history by height range 2016-04-12 20:51:58 -04:00
Braydon Fuller
1d358a6994 test: update pagination test 2016-04-12 17:22:37 -04:00
Braydon Fuller
042576474f build: bump bitcoin build tag to v0.12.0-bitcore-beta2 2016-04-12 16:46:14 -04:00
Braydon Fuller
c36b0777d4 bitcoind: add checkstate for spentindex 2016-04-12 15:36:59 -04:00
Braydon Fuller
cdfe572344 bitcoind: include height in spentinfo 2016-04-12 15:30:17 -04:00
Braydon Fuller
37f31fdb19 bitcoind: added getspentinfo method 2016-04-12 15:07:16 -04:00
Braydon Fuller
b757bd3148 docs: update docs for bitcoind with address indexes 2016-04-11 15:45:28 -04:00
Braydon Fuller
52f05f3027 bitcoind: emit block events 2016-04-11 10:47:52 -04:00
Braydon Fuller
d0937fea55 bitcoind: try to get transaction from all bitcoind nodes 2016-04-11 10:47:44 -04:00
Braydon Fuller
019626ba15 bitcoind: prevent rapid tip updates for all networks 2016-04-11 10:47:37 -04:00
Braydon Fuller
5bea36edc6 bitcoind: try querying all bitcoind nodes 2016-04-11 10:47:30 -04:00
Braydon Fuller
d7f49cc192 test: add regtest for multiple bitcoind connections 2016-04-08 22:17:45 -04:00
Braydon Fuller
dbcb70f839 transaction: update getTransaction arguments 2016-04-08 16:16:41 -04:00
Braydon Fuller
8102761b55 bitcoind: normalize address arguments 2016-04-08 16:04:27 -04:00
Braydon Fuller
f3f2f59615 node: add getNetworkName method 2016-04-08 16:00:33 -04:00
Braydon Fuller
90e354093c bitcoind: increase reindex interval to 10s 2016-04-08 15:54:04 -04:00
Braydon Fuller
3713c6ac1e bitcoind: sendTransaction second arg as object 2016-04-08 15:52:57 -04:00
Braydon Fuller
b4b560aa45 bitcoind: get blocks and transactions as buffers 2016-04-08 15:49:18 -04:00
Braydon Fuller
d11d0300de bitcoind: spawn in default configs 2016-04-08 15:29:57 -04:00
Braydon Fuller
1013ad3c56 build: upgrade chai and mocha 2016-04-08 14:58:45 -04:00
Braydon Fuller
fd427fa128 test: increase timeout and remove new lines 2016-04-08 14:49:58 -04:00
Braydon Fuller
9bf6941fdf test: update node regtest 2016-04-08 14:44:24 -04:00
Braydon Fuller
4662ca0850 bitcoind: update jsdocs and cleanup 2016-04-08 12:00:10 -04:00
Braydon Fuller
88872734de bitcoind: add missing api methods to export 2016-04-08 12:00:10 -04:00
Braydon Fuller
82232c0f55 bitcoind: wrap rpc errors as instances of error 2016-04-08 12:00:10 -04:00
Braydon Fuller
3ead5928a7 test: update titles and docs for regtests 2016-04-08 12:00:10 -04:00
Braydon Fuller
88a82719ca test: moved integration -> regtest 2016-04-08 12:00:10 -04:00
Braydon Fuller
962e7b87f8 test: update regtest 2016-04-08 12:00:10 -04:00
Braydon Fuller
67b8ec2152 build: update travis with zmq 2016-04-08 12:00:10 -04:00
Braydon Fuller
7c344b5f24 build: updates for npm install 2016-04-08 12:00:10 -04:00
Braydon Fuller
1fb552a972 build: download bitcoin binary distribution 2016-04-08 12:00:10 -04:00
Braydon Fuller
c4649c9b13 test: mark last zmq block before rpc calls 2016-04-08 12:00:10 -04:00
Braydon Fuller
31da32ecfd test: updated p2p integration test 2016-04-08 12:00:09 -04:00
Braydon Fuller
c116353b8d build: start of install script 2016-04-08 12:00:09 -04:00
Braydon Fuller
7c6e5cf7b1 bitcoind: only cache transaction with height if confirmations >= 6 2016-04-08 11:59:26 -04:00
Braydon Fuller
18310268a5 node: log intro with config path 2016-04-08 11:59:26 -04:00
Braydon Fuller
0f24dd5f49 config: update configuration options for exec path
- config options for bitcoind to specify exec path of bitcoind
- config options to connect to multiple bitcoind processes
- systemd and upstart preferred methods to daemonize
2016-04-08 11:59:26 -04:00
Braydon Fuller
5932b34a1f bitcoind: set height when starting 2016-04-08 11:59:26 -04:00
Braydon Fuller
9409374fbe bitcoind: fix multiple addresses for address history 2016-04-08 11:59:26 -04:00
Braydon Fuller
b473b65207 bitcoind: fix tx event to include tx buffer 2016-04-08 11:59:26 -04:00
Braydon Fuller
60333bcb0e bitcoind: add mempool to address txid results 2016-04-08 11:59:26 -04:00
Braydon Fuller
ab70aa666e bitcoind: add address utxos 2016-04-08 11:59:26 -04:00
Braydon Fuller
7d7dfe329d bitcoind: variable name fixes 2016-04-08 11:59:26 -04:00
Braydon Fuller
af573b765b bitcoind: fix txid pagination 2016-04-08 11:59:26 -04:00
Braydon Fuller
b69d848352 bitcoind: add lru caching for results 2016-04-08 11:59:26 -04:00
Braydon Fuller
7e70bbfa7d bitcoind: bitcoind service using rpc and zmq with address index 2016-04-08 11:59:26 -04:00
Chris Kleeschulte
07c317df80 Bump development version to v2.1.1-dev 2016-04-08 11:31:46 -04:00
Chris Kleeschulte
6147be5c49 Bump package version to v2.1.1 2016-04-08 10:33:57 -04:00
Jan Pochyla
b55ecf3044 clamp tx pagination to 0 2016-04-01 18:11:49 +02:00
Braydon Fuller
8c10221480 bindings: fixes confirmation issue with orphaned block transactions 2016-03-04 13:52:09 -05: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
610b9ea269 Added a doc fragment in build.md about cross compilation and clarified
the error message.
2016-02-11 10:25:22 -05:00
Chris Kleeschulte
afce33e5ff Fixed test to refer to variables.sh for the architecture. 2016-02-11 10:25:22 -05:00
Chris Kleeschulte
4894f1abec Enable Cross-Compiling support
1. To use this feature, set CC and CXX env variables to the appropriate cross compiler
2. Example, for cross compiling to ARM, use: CC=arm-linux-gnueabihf-gcc-4.9 CXX=arm-linux-gnueabihf-g++-4.9 npm install
3. You can still compile without setting CC and CXX, you can still just run npm install
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
e7895b4b34 use key as binary 2016-02-09 15:30:40 -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
Chris Kleeschulte
53735025dd Bump development version to v2.1.0-dev 2016-02-08 15:37:30 -05:00
Matias Alejo Garcia
dae5c9d3d5 fix regtests 2016-02-08 15:07:32 -05:00
Chris Kleeschulte
6dfb354230 Bump package version to v2.1.0 2016-02-08 14:37:29 -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
Matias Alejo Garcia
e7e33313cf add noBalance options + mempoolAddressIndex 2016-02-08 12:50:32 -05:00
Gabe Gattis
ae8221ffb3 Merge pull request #405 from braydonf/add-regtest
Switch to use enableRegtest from bitcore-lib
2016-02-08 12:21:33 -05:00
Braydon Fuller
e56fdf457f Added network name to bitcoind.getInfo 2016-02-05 10:33:11 -05:00
Braydon Fuller
0d6bc98333 Dependencies: Updated bitcore-lib to version ^0.13.13
This release includes new API for regtest with `enableRegtest()` and `disableRegtest()`
2016-02-05 10:14:09 -05:00
Braydon Fuller
17e8173d14 Dependencies: Temporarily switch to development version of bitcore-lib 2016-02-04 17:28:10 -05:00
Braydon Fuller
83eba52657 Tests: Fix tests to use enable/disableRegtest 2016-02-04 17:26:17 -05:00
Braydon Fuller
6e8f3ee917 Add regtest from bitcore-lib 2016-02-03 18:29:33 -05:00
Braydon Fuller
f473ddeddd Lower and include new concurrency limits 2016-02-03 12:28:32 -05:00
Braydon Fuller
93e5dbfc34 Address Service: Limit the number of simultaneous requests 2016-02-02 13:27:45 -05:00
Chris Kleeschulte
ca19994326 Bump development version to v2.0.1-dev 2016-02-01 15:49:20 -05:00
Chris Kleeschulte
0311d137ae Bump development version to v2.0.1 2016-02-01 14:41:30 -05:00
Chris Kleeschulte
b80e3e19e2 Added ARM prebuilt binaries for Leveldown
- this is necessary because leveldown does not supply an ARM binary
- butcher needs a binary so that compiler tool chains are not necessary
2016-02-01 13:42:08 -05:00
Chris Kleeschulte
663b100084 Added arm support. 2016-01-29 13:40:45 -05:00
Chris Kleeschulte
c091ca9d67 Bump development version to v2.0.0-dev 2016-01-28 15:17:00 -05:00
Chris Kleeschulte
419aa5785b Bump package version to v2.0.0 2016-01-28 14:31:58 -05:00
Braydon Fuller
995b4b57d4 DB: Include docs on how to recreate the database 2016-01-28 13:47:26 -05:00
Braydon Fuller
98bd8ee560 DB Service: Include a version number for upgrading purposes 2016-01-28 12:08:05 -05:00
Chris Kleeschulte
b0a0f629e2 Merge pull request #392 from braydonf/large-queries
Memory optimizations for large address queries
2016-01-27 14:45:05 -05:00
Braydon Fuller
3d7fb6f234 Address Service: End stream without pausing first
There was an issue where streams would still be held open if "pause" was
called before "end", this would lead to http requests from the insight-api
not being returned with an error status as soon as possible but would
instead stay open.
2016-01-26 13:25:53 -05:00
Braydon Fuller
a2acc0c80f Address Service: Fixed test for max address limit 2016-01-26 13:09:31 -05:00
Lars-Magnus Skog
43e472707f homepage link 404 on github 2016-01-19 20:49:17 +01:00
Braydon Fuller
39f8355cd9 Address Service: Bump maximum number of addresses default 2016-01-19 14:07:28 -05:00
Braydon Fuller
45029030f1 Address Service: Sort after unconfirmed and confirmed 2016-01-18 16:16:53 -05:00
Braydon Fuller
e498e0fac2 Address Service: Include default callback earlier 2016-01-18 16:03:37 -05:00
Braydon Fuller
d4f2df5c51 Address Service: Sort mempool txids 2016-01-18 15:56:05 -05:00
Braydon Fuller
a166b6af23 Address Service: Removed nolonger used constant for cache 2016-01-18 15:06:18 -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
Braydon Fuller
188ff28ec7 Address Service: Fixed HASH_TYPES_MAP naming issue 2016-01-11 16:51:00 -05:00
Braydon Fuller
8d2f69c5fd Address Service: Restored multi-address history queries
- Restored functionality to be able to query the history of multiple addresses in one query
- Sorted mempool transactions by timestamp in txid lists
2016-01-11 16:17:55 -05:00
Braydon Fuller
5c4f3c4453 Address Service: Use address summary cache for pagination 2016-01-11 16:17:55 -05:00
Braydon Fuller
8298e380ed Address Service: Use streams to combine inputs and outputs 2016-01-11 16:17:55 -05:00
Braydon Fuller
cef2f7686d Address Service: Limit the length of outputs that can be queried at a time 2016-01-11 16:17:55 -05:00
Braydon Fuller
40eb4f50ae Address Service: Start to cache getAddressSummary based on range of block heights 2016-01-11 16:17:55 -05:00
Braydon Fuller
cab25cf397 Address Service: Start to use streams for memory optimization with large queries 2016-01-11 16:17:55 -05:00
Chris Kleeschulte
7931062d57 Merge pull request #379 from STRML/bugfix/hashType
Fix #377; db must contain hash + type, not just hash.
2016-01-11 15:51:57 -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
Matt Bogosian
df3fc3dd35 Fix #380. Add missing git config properties if required before committing bitcoin core patch. 2015-12-23 18:03:44 -08:00
Braydon Fuller
858182a346 Merge pull request #370 from kleetus/feature/docs_home_dir
Docs update
2015-12-11 10:23:41 -05:00
Chris Kleeschulte
838d35b294 Docs update
- Some users are confused on whether or not they can use the home directory expansion shortcut.
- Changed to absolute example path to more accurately demonstrate.
2015-12-08 15:38:16 -05:00
Sladey
7c841e2cdc Add node.start to node constructur
Spent about 17 hours trying to figure out why my node wasn't starting. Kinda silly to miss something like this.
2015-12-05 21:47:13 +00:00
Chris Kleeschulte
59701c4c34 Bump development version to v1.0.1-dev 2015-12-02 18:03:34 -05:00
Chris Kleeschulte
6ef84f6059 Bump package version to v1.0.1 2015-12-02 17:10:15 -05:00
Braydon Fuller
2e2bd70262 Bindings: Adjust patch to bitcoin for the 0.11.2 release 2015-11-13 11:35:47 -05:00
Chris Kleeschulte
f14810698c Bump development version to v1.0.0-dev 2015-11-04 12:43:59 -05:00
Chris Kleeschulte
7c6f0c0b44 Bump package version to v1.0.0 2015-11-04 10:50:28 -05: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
fccd6197c6 Docs: Updated bitcoind event docs to be less ambiguous 2015-11-02 18:02:32 -05:00
Braydon Fuller
826114b575 Docs: Update docs for bitcoind bindings with txleave event 2015-11-02 17:31:41 -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
Patrick Nagurny
275a0b57ea Merge pull request #348 from braydonf/node-v4
Added compilation support for Node.js v4
2015-10-29 11:21:25 -04:00
Braydon Fuller
37441004c8 Docs: Update prerequisites to include Node.js v4.2 2015-10-28 16:21:14 -04:00
Braydon Fuller
39e2f4ded5 Removed stray space in bitcoin patch. 2015-10-28 16:20:34 -04:00
Braydon Fuller
bf97d7e70b Include node version in binary distribution. 2015-10-28 14:54:27 -04:00
Braydon Fuller
e987723ab9 Update bitcoin patch to build depends with CC and CXX environment set 2015-10-28 13:59:13 -04:00
Braydon Fuller
1e4939a978 Add CC environment variable and gcc-4.8 2015-10-28 13:58:53 -04:00
Braydon Fuller
2d1c4b1455 Add g++-4.8 to travis builds. 2015-10-28 12:43:06 -04:00
Braydon Fuller
d0129cc48b Update leveldown to version 1.4.2 2015-10-27 12:55:50 -04:00
Braydon Fuller
f0e599fea1 Return node version check and include additional v4 engine. 2015-10-27 12:55:38 -04:00
Braydon Fuller
9d477fb64f Use Nan::CopyBuffer to avoid invalid pointer errors during garbage collection. 2015-10-27 12:28:12 -04:00
Patrick Nagurny
0c3ea838b9 Merge pull request #347 from kleetus/bug/missing_headers
Checking for missing headers
2015-10-27 10:19:32 -04:00
Chris Kleeschulte
eb9e634275 Checking for missing headers
Rationale:

- On OS X, a user can have /usr/include, but still not have the standard headers
- this could be because the user uninstalled packages but the /usr/include directory was left behind. 
- by checking for at least stdlib.h, we stand a good chance at finding an issue much easlier
2015-10-26 20:08:27 -04:00
Braydon Fuller
1d6f11e10f Remove node.js version check. 2015-10-26 11:39:04 -04:00
Braydon Fuller
7afeef0f08 Debugging, clear warnings, fixed GetBlock. 2015-10-26 10:11:02 -04:00
Braydon Fuller
b138877e19 Start upgrade to Node.js 4 2015-10-26 10:11:02 -04:00
Patrick Nagurny
af9f6f2cb5 Merge pull request #343 from kleetus/version_substring
Edited the patch to provide "bitcore" as the version instead of "bitc…
2015-10-22 16:41:25 -04:00
Rob Riddle
824e624929 Fix typos and some examples in service doc 2015-10-22 18:47:19 +03:00
Chris Kleeschulte
9bd328d190 Edited the patch to provide "bitcore" as the version instead of "bitcorenode" 2015-10-22 10:59:28 -04:00
Chris Kleeschulte
1e69c3d35d Bump development version to v0.2.5-dev 2015-10-21 18:47:50 -04:00
Chris Kleeschulte
ec66179c01 Bump package version to v0.2.5 2015-10-21 18:30:56 -04:00
Patrick Nagurny
9bdd9e7995 unconfirmed balance shouldn't include confirmed balance 2015-10-21 18:25:57 -04:00
Chris Kleeschulte
aa4569e8f3 Bump development version to v0.2.4-dev 2015-10-21 16:51:32 -04:00
Chris Kleeschulte
b0fe6fed80 Bump package version to v0.2.4 2015-10-21 16:25:00 -04:00
Gabe Gattis
0c88a540fd Merge pull request #339 from braydonf/create-testnet
Add --testnet option to create command.
2015-10-21 15:44:22 -04:00
Braydon Fuller
92382d69cc Add --testnet option to create command. 2015-10-21 15:28:28 -04:00
Braydon Fuller
17b669c98f Add date to logs and formatting changes. 2015-10-21 14:47:35 -04:00
Chris Kleeschulte
0b761511a0 Merge pull request #335 from braydonf/aliases
Remove aliases for commands
2015-10-20 18:21:42 -04:00
Gabe Gattis
fdaf2395f7 Merge pull request #334 from braydonf/clear-warnings
Clear warnings with bitcore create command.
2015-10-20 17:19:31 -04:00
Braydon Fuller
9ab989a68a Remove aliases for commands 2015-10-20 17:09:28 -04:00
Chris Kleeschulte
dab76c724b Bump development version to v0.2.3-dev 2015-10-20 17:09:26 -04:00
Braydon Fuller
df05846671 Merge pull request #330 from bitjson/master
format
2015-10-20 17:01:07 -04:00
Braydon Fuller
95bd5913b8 Clear warnings with bitcore create command. 2015-10-20 16:48:51 -04:00
Patrick Nagurny
8e8573ce2e Merge pull request #333 from braydonf/global
Only use local install if config file exists.
2015-10-20 14:58:36 -04:00
Braydon Fuller
83058eae26 Only use local install if config file exists. 2015-10-20 14:56:09 -04:00
Chris Kleeschulte
14f90a589a Bump package version to v0.2.3 2015-10-20 14:50:30 -04:00
Braydon Fuller
bf78aefc82 Merge pull request #329 from bitpay/kleetus-patch-1
Corrected the socket.io dependency links
2015-10-20 14:40:28 -04:00
Chris Kleeschulte
2eb905e78f Bump development version to v0.2.2-dev 2015-10-20 14:33:47 -04:00
Chris Kleeschulte
da4b7e3cd9 Bump package version to v0.2.2 2015-10-20 14:16:43 -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
Stephen Pair
05eb5a03f2 remove debug output from bitcore cli utility 2015-10-20 15:49:01 +00:00
Jason Dreyzehner
47bd4fb5ec Merge branch 'master' of github.com:bitpay/bitcore-node 2015-10-20 09:28:52 -04:00
Chris Kleeschulte
192e7265e3 Corrected the socket.io dependency links
- These were incorrectly linked.
2015-10-19 20:44:33 -04:00
Chris Kleeschulte
2ff8bd8b42 Bump development version to v0.2.1-dev 2015-10-19 18:06:51 -04:00
Chris Kleeschulte
aa7662e196 Bump package version to v0.2.1 2015-10-19 14:53:57 -04:00
Jason Dreyzehner
41eb1c19e1 format for new site 2015-10-19 13:59:58 -04:00
Braydon Fuller
82c6087fe2 Fix bug with double load of bitcore-lib. 2015-10-19 13:45:35 -04:00
Chris Kleeschulte
76ecf74b3f Bump development version to v0.2.0-dev 2015-10-19 13:16:24 -04:00
Chris Kleeschulte
917b420d52 Bump package version to v0.2.0 2015-10-19 10:49:14 -04:00
Chris Kleeschulte
f8fc5c3a6c Merge pull request #326 from braydonf/node-version
Added a Node.js version check based on the package.json engine.
2015-10-19 10:47:02 -04:00
Rob Riddle
e9290d3cdc Use bitcore-lib in node package creation 2015-10-19 15:43:51 +03: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
57b832021f Reference the bin included with standalone bitcore-node. 2015-10-18 17:54:14 -04:00
Braydon Fuller
d05d617f12 Add liftoff to package.json. 2015-10-18 16:31:33 -04:00
Braydon Fuller
95b5bfbfcb Fix library reference. 2015-10-18 16:28:24 -04:00
Braydon Fuller
58894bc4b2 Expose cli methods. 2015-10-18 16:20:51 -04:00
Braydon Fuller
1dec93edd4 bitcore -> bitcore-lib 2015-10-17 00:56:29 -04:00
Chris Kleeschulte
cda499e059 Updated patch to support 0.11.1
- Please note the removal of leveldbwrapper patch code, this is no longer needed.
- Everything else is 100% the same.
2015-10-16 16:34:49 -04:00
Braydon Fuller
02dbe72128 Merge pull request #318 from kleetus/feature/dependencies_binaries
Added binaries for all dependencies
2015-10-16 14:55:21 -04:00
Chris Kleeschulte
132821523b Statically linking libcrypto and libssl from bitcoin instead of using the System's version. 2015-10-16 14:17:00 -04:00
Chris Kleeschulte
937f01fade Pre-compiled Dependencies
- Since we can't use npm shrinkwrap and the websockets dev won't provide binaries of bufferutil and utf-8-validate (I have PR's to provide this), we must resort to forking, socket.io, socket.io-client, engine.io, engine.io-client, ws, bufferutil, utf-8-validate and pointing all those projects to our forks.
2015-10-16 13:20:30 -04:00
Braydon Fuller
8784a289b6 Merge pull request #303 from kleetus/bug/install_script
Making Building From Source Easier
2015-10-16 13:07:41 -04:00
Chris Kleeschulte
b69faa9bc7 Merge pull request #317 from unusualbob/feature/serviceDocumentation
Fix typos and add detailed documentation to services.md
2015-10-16 12:13:05 -04:00
Rob Riddle
06bed6b552 Make sure doc examples use hex encoding on buffers 2015-10-16 18:47:46 +03:00
Rob Riddle
734a3554d5 Fix wording as recommended by Chris.
Added additional documentation about indexes.
2015-10-16 12:29:16 +03:00
Chris Kleeschulte
8d5efc0d41 Added Shrinkwrap file
- This is the easiest, most straight-forward way to force our
  dependency chains to use our bitpay version of bufferutil and
utf-8-validate
- We need to use the bitpay version until I can get those module to
  support binary builds
2015-10-15 14:56:59 -04:00
Rob Riddle
46578659a8 Fix typos and add detailed documentation to services.md with examples for programatic use of services as well as using indexes within services. 2015-10-15 21:21:58 +03:00
Patrick Nagurny
236d44441e don't crash when sendTransaction is called with bad data 2015-10-14 10:50:50 -04:00
Chris Kleeschulte
2fe83ac5a3 Bump development version to v0.2.0-dev 2015-10-13 15:54:15 -04:00
Chris Kleeschulte
2caadd1955 Bump package version to v0.2.0-beta.11 2015-10-13 15:37:49 -04:00
Braydon Fuller
2e3d58c07a Fix bug where the outputIndex would be removed.
The address history `combineTransactionInfo` method removes the
outputIndex when creating the outputIndexes property. When these are
from the mempool the original reference is also modified.

We can easily solve this by returning new instances in `getOutputs`
and `getInputs` instead of a reference to the actual mempool instance.

This will also have the additional benefit that height and other
properties that will be the same for every mempool entry will
not be stored in memory longer than what is necessary to fulfill
a request.
2015-10-12 18:35:37 -04:00
Patrick Nagurny
93436429f1 Merge pull request #305 from braydonf/bug/balance
Fixed bug with balance
2015-10-12 13:50:56 -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
Chris Kleeschulte
382f308015 - Build script fails earlier (but hopefully not often) for critical errors in compilation and dependency download
- Patch matching is fixed due to the new way we build the patch
2015-10-09 17:30:09 -04:00
Chris Kleeschulte
83d3fd9914 Merge pull request #300 from braydonf/fix/web
Expose Web Service in index.js
2015-10-09 13:13:24 -04:00
Braydon Fuller
dc12ea86f9 Fix documentation referencing the "transaction" event. 2015-10-09 10:40:59 -04:00
Braydon Fuller
427d540158 Expose Web Service in index.js 2015-10-09 09:55:08 -04:00
Chris Kleeschulte
3f1e24abc4 Bump development version to v0.2.0-dev 2015-10-07 14:30:08 -04:00
Chris Kleeschulte
2efb4b68bc Bump package version to v0.2.0-beta.10 2015-10-07 14:04:23 -04:00
Patrick Nagurny
3e38d84d0b emit address/balance events for mempool transactions 2015-10-02 17:10:12 -04:00
Braydon Fuller
7070d4c74d Added critical section lock in isSpent 2015-10-02 14:09:29 -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
da9d856da3 Add comments to describe each prefix. 2015-10-02 10:56:28 -04:00
Braydon Fuller
27e90ef41a Give false if spent information not available. 2015-10-01 23:50:06 -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
caefe5dbd1 Merge pull request #265 from braydonf/doc-update
Updates to documentation for bitcore.io website.
2015-10-01 12:26:09 -04:00
Chris Kleeschulte
ba3941613d Merge pull request #269 from braydonf/docs/reqs
Add prerequisites to readme.
2015-10-01 10:12:15 -04:00
Braydon Fuller
1490b17f9a Fix bug with getting a block index with unknown height. 2015-10-01 00:21:14 -04:00
Braydon Fuller
efd3641f3f Add prerequisites 2015-09-30 17:32:08 -04:00
Braydon Fuller
fce7964dce Add prerequisites to readme. 2015-09-30 16:41:46 -04:00
Chris Kleeschulte
2df0bb63b0 Bump development version to v0.2.0-dev 2015-09-30 13:27:35 -04:00
Chris Kleeschulte
461fdcae5d Bump package version to v0.2.0-beta.9 2015-09-30 12:56:02 -04:00
Patrick Nagurny
26b27b292e update tests 2015-09-29 16:03:56 -04:00
Braydon Fuller
b0f905dfe4 Include docs/index.md for getting started for bitcore.io 2015-09-29 15:24:08 -04:00
Patrick Nagurny
3fa1340ef3 save tip as part of block db operations 2015-09-29 15:20:05 -04:00
Braydon Fuller
f337622790 Updates to documentation for bitcore.io website. 2015-09-29 14:15:49 -04:00
Chris Kleeschulte
af7966f94a Removed unneeded getTxOutSetInfo 2015-09-25 11:33:51 -04:00
Chris Kleeschulte
c3646b4ae3 Nan Macro Updates
- Updated to nan 2.0 (node module)
- Updated the Nan-related macros to 2.0 semantics
2015-09-24 17:10:22 -04:00
Braydon Fuller
1183e0cae7 Service Documentation 2015-09-23 18:14:37 -04:00
Chris Kleeschulte
dc390b9e9f Tx Notifier
- There is a new signal called TxToMemPool
- This signal will connect to the bindings slot, queueTx
- When a tx is accepted into the memory pool, the tx will be queued and the tx_notifier will be scheduled
2015-09-23 15:13:24 -04:00
Chris Kleeschulte
a7444a92b9 Tx event firing
- The ProcessMessages signal was scheduling/connecting its slots slightly out of order for what we need
- First, the scan_messages needs to run and copy out the stream
- Second, Bitcoin's ProcessMessages needs to run in order to run AcceptToMemoryPool
- Third, scan_messages_after needs to run in order to signal our tx_monitor
- In order to make this happen, we need to pair ProcessMessages slot to the scan_messages slot and order that
- Then, AFTER those two complete, we can schedule scan_messages_after
2015-09-23 13:05:52 -04:00
Chris Kleeschulte
f995bb882b Bump development version to v0.2.0-dev 2015-09-23 12:18:53 -04:00
Chris Kleeschulte
fa6d9d428b Bump package version to v0.2.0-beta.8 2015-09-23 11:21:10 -04:00
Chris Kleeschulte
fa59000819 Merge pull request #251 from braydonf/bug/tx-count
Fix bug with address summary transaction count.
2015-09-22 14:14:17 -04:00
Braydon Fuller
80fadc7ec3 Fix bug with address summary transaction count. 2015-09-21 17:02:11 -04:00
Braydon Fuller
8a2a0ab83c Merge pull request #250 from kleetus/feature/isSpent_mempool
isSpent logic
2015-09-21 16:47:47 -04:00
Chris Kleeschulte
7c7abd26b1 isSpent logic
- Bitcoind's CCoinsViewMempool brings the mempool into view, but will not consider outputs therein as spent
- Changed the test description to match what is happening in that view
- Once a given tx has one confirmation, then isSpent will be true for those outputs
2015-09-21 16:13:10 -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
Braydon Fuller
c1b20a045c Skip p2p test until issue is resolved. 2015-09-21 13:05:47 -04:00
Braydon Fuller
50ddd4b152 Merge pull request #238 from pnagurny/feature/address-summary
Get address summary
2015-09-21 12:53:27 -04:00
Chris Kleeschulte
391a84f490 - Throw error on err
- Spacing
2015-09-18 16:15:52 -04:00
Patrick Nagurny
a1f4d06f27 add tests around isSpent 2015-09-18 15:31:09 -04:00
Chris Kleeschulte
d794e891dd Added the p2p test to .travis.yml 2015-09-18 14:58:18 -04:00
Chris Kleeschulte
96a69316b9 P2P transaction tests
- Added a regtest for sending 400 tis from a peer to bitcoind
2015-09-18 14:56:26 -04:00
Patrick Nagurny
4e763d189f fixes 2015-09-18 14:06:26 -04:00
Patrick Nagurny
b11ab97739 add tests 2015-09-18 14:06:26 -04:00
Patrick Nagurny
bc39a5e480 use mempool spent index 2015-09-18 14:06:26 -04:00
Patrick Nagurny
8b1a2aa001 get address summary 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
Patrick Nagurny
85f636f154 fix db stopping bug 2015-09-18 11:30:37 -04:00
Patrick Nagurny
e5a58f986c Merge pull request #239 from kleetus/mempool-index
Mempool index
2015-09-18 10:19:18 -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
6b904dda70 Updated travis to install v0.12.7 of node. 2015-09-17 14:35:36 -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
62faecb9ae Address Mempool Index: Fix bugs with reset mempool. 2015-09-17 14:26:53 -04:00
Braydon Fuller
ad120213e1 Start of mempool address index. 2015-09-17 14:26:53 -04:00
Braydon Fuller
37550166dd Database: Warn about inconsistent database state. 2015-09-16 20:02:09 -04:00
Chris Kleeschulte
3daa8a7984 Readme should reference a beta.X and not the specific beta release. 2015-09-16 14:45:14 -04:00
Chris Kleeschulte
6aee1d36f6 Bump development version to v0.2.0-dev 2015-09-16 14:35:29 -04:00
Chris Kleeschulte
ac13c5d4de Bump package version to v0.2.0-beta.7 2015-09-16 13:48: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
Braydon Fuller
948f36deb7 Merge pull request #231 from kleetus/bug/reindex_crash
Crash on reindex
2015-09-16 10:45:04 -04:00
Chris Kleeschulte
a105c0a35e Removed errors memoization. 2015-09-16 10:38:08 -04:00
Chris Kleeschulte
576d1712e4 Merge pull request #234 from braydonf/sendtxevent
Bindings: Send transaction emit "tx" events.
2015-09-16 10:35:10 -04:00
Chris Kleeschulte
c9d4dc276f Crash on reindex
- Removed unneeded cancellation error and handlers for it.
2015-09-16 10:22:42 -04:00
Chris Kleeschulte
4ee11ed73b Crash on reindex
- Introduced the concept of a Cancellation error so that services can choose to watch for a cancellation flag. 
- Services can then send this error back and it will be forwarded to the node.
- The node will then know to call shutdown appropriately.
2015-09-16 10:22:42 -04:00
Chris Kleeschulte
dc6d0e681c Crash on reindex
- Added the concept of loadServices on the node so that the node can conditionally call stop on loadingServices
- This serves the case where services might be loading versus fully loaded (which is not always the cases for heavy services like bitcoind)
2015-09-16 10:22:42 -04:00
Braydon Fuller
cadbc0a79d GetBlockIndex segmentation fault with genesis block
Fixes an bug where accessing `prevBlockIndex->phashBlock` for the
genesis block would cause a segmentation fault with an error of
"Cannot access memory at address 0x0". As the genesis block doesn't
have a previous hash, it will now set the "prevHash" to "null".
2015-09-16 09:23:13 -04:00
Braydon Fuller
cf1c01acea Bindings: Send transaction emit "tx" events. 2015-09-15 18:31:52 -04:00
Patrick Nagurny
7e1d433781 go from highest timestamp to lowest timestamp 2015-09-15 18:23:06 -04:00
Patrick Nagurny
e6b850124c fixes 2015-09-15 17:25:41 -04:00
Patrick Nagurny
00d3a0ba67 binary encode key and value 2015-09-15 16:55:14 -04:00
Braydon Fuller
d24a3a2242 Package: Include supported node, os and cpu versions. 2015-09-15 15:29:53 -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
da1513edb2 Address History: Add additional regtest for getting history by height. 2015-09-14 17:30:10 -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
87a9163743 Address History: Docs for "start" and "end" arguments 2015-09-14 16:29:27 -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
60a133f36c Multiple SIGINT signals sent to node process while in shutdown cycle.
- Overrode the sigint listener if in the shutdown cycle. This prevents control being returned to the pty before the node process is fully halted.
2015-09-11 12:39:33 -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
Braydon Fuller
c8b0dd0999 Merge pull request #207 from kleetus/bus_integration_tests
Added integration tests for the bus
2015-09-10 14:31:42 -04:00
Chris Kleeschulte
cfcb024017 Removed the old bus integration tests in favor of the one in regtest-node.js 2015-09-10 14:09:56 -04:00
Chris Kleeschulte
1c567c9817 ErrorMessage lexical cast test
- sendTransaction will pass through a code and a message when the state comes up as invalid after sending a transaction that isn't signed.
2015-09-10 14:03:35 -04:00
Chris Kleeschulte
1ac02c5276 Performed lexical cast on the reject code instead of using a sprintf. 2015-09-10 13:20:06 -04:00
Chris Kleeschulte
875c35de2a Added a full stack integration-style regtest for the bus
- The test exercises subscribe and calls unsubscribe.
2015-09-10 13:19:12 -04:00
Chris Kleeschulte
55a3baa1aa Renamed the bus integration tests and moved it to the test directory. 2015-09-10 13:19:12 -04:00
Chris Kleeschulte
65e09ef281 Added integration for the bus
- Added a new file that exercises the subscribe/unsubscribe/close methods with a test service
- Removed a duplicate call to inherit
2015-09-10 13:19:12 -04:00
Braydon Fuller
13b5c065f3 Merge pull request #215 from pnagurny/feature/web-docs
Add docs for web service
2015-09-10 13:11:32 -04:00
Patrick Nagurny
c4d28c3947 wait for db operations to complete before closing leveldb 2015-09-10 12:45:00 -04:00
Patrick Nagurny
6d514febf3 document the web service 2015-09-10 11:59:20 -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
Braydon Fuller
cd73763610 Merge pull request #212 from pnagurny/feature/blockHandlerCheck
Check for blockHandler on services
2015-09-09 15:12:11 -04:00
Patrick Nagurny
4682714c69 check for blockHandler on services 2015-09-09 15:04:07 -04:00
Chris Kleeschulte
7142a6061f Update README.md
- Update install reference to beta.6
- directions for starting as a daemon
2015-09-09 14:11:40 -04:00
Chris Kleeschulte
a8c26afb94 Bump development version to v0.2.0-dev 2015-09-09 13:39:26 -04:00
Chris Kleeschulte
fcba561685 Bump package version to v0.2.0-beta.6 2015-09-09 13:22:39 -04:00
Braydon Fuller
2f6fc6e3e9 Merge pull request #202 from pnagurny/feature/main-chain
Add isMainChain method
2015-09-09 10:08:21 -04:00
Braydon Fuller
a9f990bdf4 Fixes for isMainChain binding tests. 2015-09-08 17:42:33 -04:00
Patrick Nagurny
0ff742c1b6 add isMainChain method 2015-09-08 17:38:59 -04:00
Patrick Nagurny
2469c6d3fb Merge pull request #199 from braydonf/start-error
Start/Stop Improvements
2015-09-08 17:33:54 -04:00
Chris Kleeschulte
ee3bad5203 Added a check for the right number of tip events.
- Since we have a spin lock that leads to the callback from a tip update, there could be cases where the callback assigned to a tip update isn't the one matching the last generate.
- The architectural decision is to leave the spin lock in place to lower the number of possible callbacks for tip updates.
2015-09-08 13:36:21 -04:00
Chris Kleeschulte
f95d9bf513 Merge pull request #196 from isghe/ig_libbitcoind_errorMessage
avoid undefined behaviour
2015-09-08 10:32:04 -04:00
Braydon Fuller
60af86777f Start/Stop Improvements
- A Node will shutdown if there is an error starting a service as it would lead to cascading errors.
- `node.start()` needs to be called, and nolonger is called automatically when the instance is created.
- A service will only be added to node.services after it's started
- Stopping services that are not started will gracefully continue.
- Logging sync status of db will only apply if the service is started.
- Debug log about a service without a route will always include the service name
2015-09-08 10:17:57 -04:00
Braydon Fuller
b4ed29eabe Merge pull request #193 from kleetus/reindex
Reindex logic
2015-09-08 10:15:34 -04:00
Chris Kleeschulte
94c345134e Daemon
- Added the daemon option to the cli start command
- Added the initialization routine to spawn the child process
- Added unit tests
2015-09-04 17:36:53 -04:00
Chris Kleeschulte
18aff3de0c Fixed the warning message to the user on a reindex. 2015-09-04 16:59:04 -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
Isidoro Ghezzi
21a7bae2f1 avoid undefined behaviour
TODO: use boost::lexical_cast or C++11 std::to_string
2015-09-04 19:28:16 +02: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
60a7f5ea29 optimizations for handling reorgs better 2015-09-04 11:32:04 -04:00
Patrick Nagurny
a0e40ffd15 check for duplicate events 2015-09-03 17:29:28 -04:00
Patrick Nagurny
7ac429fbd2 remove name field from node 2015-09-03 16:59:43 -04:00
Patrick Nagurny
900f715a49 add tests 2015-09-03 16:38:23 -04:00
Patrick Nagurny
da6b6e3622 more changes for services 2015-09-03 16:07:35 -04:00
Braydon Fuller
52e80039d8 CLI fixes for installing and removing services. 2015-09-02 18:39:19 -04:00
Braydon Fuller
5e532d4b78 Merge pull request #160 from kleetus/setImmediate
setImmediate when using c++ bindings
2015-09-02 12:10:21 -04:00
Chris Kleeschulte
257970500d Push a specific tag in release notes.
In order to ensure that non-related tags do not get pushed to upstream, I altered the command to push the tag.
2015-09-02 12:03:39 -04:00
Chris Kleeschulte
8c7b2a7ef4 Bump development version to v0.2.0-dev 2015-09-02 11:56:48 -04:00
Chris Kleeschulte
1d58b0e437 Bump package version to v0.2.0-beta.5 2015-09-02 11:27:09 -04:00
Chris Kleeschulte
79d4abcc64 Removed the setImmediate after conflict resolution. 2015-09-02 10:51:31 -04:00
Chris Kleeschulte
ec720c2443 Added setImmediate to the tests instead of the code since this seems to be where the issue is. 2015-09-02 10:48:46 -04:00
Chris Kleeschulte
0ac83098e9 Removed setImmediates from bitcoind.js. 2015-09-02 10:46:40 -04:00
Chris Kleeschulte
f08a9c66bf New way to persist callbacks to alleviate calling of setImmediate. 2015-09-02 10:46:40 -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
f2fb4a1379 Fixed object typo in start scaffold. 2015-09-01 13:37:14 -04:00
Braydon Fuller
396d6ac08a Avoid logging the same result twice. 2015-09-01 13:29:02 -04:00
Braydon Fuller
f4b24df024 Add tests for bitcoind proxy methods. 2015-09-01 13:18:44 -04:00
Braydon Fuller
b6416409a2 Add unit tests for utils. 2015-09-01 12:48:08 -04:00
Braydon Fuller
96fa0920a4 Add unit tests for start. 2015-09-01 12:47:15 -04:00
Braydon Fuller
40c5ee53e5 Fix getBlock and getTransaction benchmarks. 2015-08-31 17:24:58 -04:00
Braydon Fuller
e7046c3115 Fix address service block handler benchmark. 2015-08-31 16:49:59 -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
895e46dcac pass config to services 2015-08-31 13:37:11 -04:00
Patrick Nagurny
f1cac3da1d make webService into a real service 2015-08-31 13:06:49 -04:00
Patrick Nagurny
1b5f30a9a1 add tests 2015-08-31 12:57: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
854f98fe43 Update Documentation to reflect Service Architecture 2015-08-31 12:11:20 -04:00
Braydon Fuller
7551f487f8 Rename modules to services. 2015-08-31 11:31:28 -04:00
Braydon Fuller
16eef1279c Combine chain with db module. 2015-08-31 11:25:30 -04:00
Braydon Fuller
df9b62acca Convert db into a db module. 2015-08-31 11:15:51 -04:00
Braydon Fuller
96f6604222 Convert daemon into bitcoin module. 2015-08-31 11:11:16 -04:00
Braydon Fuller
ea377c1251 Added CLI commands "remove" and "call" 2015-08-28 17:13:02 -04:00
Braydon Fuller
43ab4586e5 Bus module fix. 2015-08-28 16:16:51 -04:00
Braydon Fuller
1ed457504c Update unit tests with node.modules as an object. 2015-08-28 11:43:38 -04:00
Braydon Fuller
56ebf42403 Move Modules from DB to Node 2015-08-27 19:02:33 -04:00
Patrick Nagurny
aa6b03ae58 Merge pull request #159 from braydonf/noderef
Use node as a reference in modules, db and chain.
2015-08-27 15:15:55 -04:00
Chris Kleeschulte
4ce7757990 Added TLS/SSL options to the integration tests.
- The integration tests will now use https and a self-signed cert.
2015-08-27 14:09:49 -04:00
Braydon Fuller
5361183a19 Use node as a reference in modules, db and chain. 2015-08-27 14:04:42 -04:00
Braydon Fuller
ccab818d33 Use Bitcore Block/BlockHeader 2015-08-27 12:14:25 -04:00
Braydon Fuller
bbc421a31e Migrate chainlib functionality into bitcore-node. 2015-08-26 17:24:10 -04:00
Braydon Fuller
da537b293b CLI Fixes
- Globally installed cli script will load local version
- Modules can add a "bitcoreNode" to package.json to specify a specific module to load
2015-08-26 13:19:02 -04:00
Chris Kleeschulte
5f9f344edd Bumped last version from 0.2.0-beta.3 to 0.2.0-beta.4. 2015-08-26 11:21:51 -04:00
Chris Kleeschulte
71a588b01b Bump development version to v0.2.0-dev 2015-08-26 10:49:54 -04:00
Chris Kleeschulte
dd90255639 Bump package version to v0.2.0-beta.4 2015-08-26 09:56:58 -04:00
Braydon Fuller
7559a4ffaa Update README with the correct links. 2015-08-25 14:02:28 -04:00
Braydon Fuller
35405c9329 Include lastBuild in release process notes. 2015-08-25 14:00:59 -04:00
Braydon Fuller
81b2d2f2a3 Added tests for start command. 2015-08-25 13:57:54 -04:00
Braydon Fuller
4f37c3f15f Include cli command "call" in another iteration. 2015-08-25 13:22:55 -04:00
Braydon Fuller
7e174fd0cd Handle exit codes from npm install with the create command. 2015-08-25 13:15:30 -04:00
Braydon Fuller
5ea787b3a1 Added add command and tests. 2015-08-25 13:01:52 -04:00
Braydon Fuller
af88cbe55f Fix node units tests for _loadDB 2015-08-24 19:00:31 -04:00
Braydon Fuller
450fb8981b Update README with updated command options. 2015-08-24 18:57:50 -04:00
Braydon Fuller
348598747b Include more options and fallback to default config with start command 2015-08-24 18:57:50 -04:00
Braydon Fuller
be525b055d Replace ~/.bitcoin with process.env.HOME 2015-08-24 18:53:37 -04:00
Braydon Fuller
6c7501b45f Include script env and include a build version. 2015-08-24 18:51:07 -04:00
Braydon Fuller
69056db529 Move start to scaffold start and pass the bitcore-node configuration. 2015-08-24 18:51:07 -04:00
Braydon Fuller
0b4af2757b Implement function to find configuration in the current path. 2015-08-24 18:51:07 -04:00
Braydon Fuller
67a2035365 Run npm install if the node is created locally. 2015-08-24 18:51:07 -04:00
Braydon Fuller
399d379ff5 More tests for config creation. 2015-08-24 18:51:07 -04:00
Braydon Fuller
00e4eac14a Layout test cases and files for cli commands. 2015-08-24 18:51:07 -04:00
Braydon Fuller
17b1bf15ab Start of module architecture and CLI for node configuration. 2015-08-24 18:51:07 -04:00
Braydon Fuller
e9763de594 Fix chain unit test. 2015-08-24 16:57:59 -04:00
Braydon Fuller
49cf3a9ca3 Fix reorg integration test after rebase. 2015-08-24 16:39:05 -04:00
Braydon Fuller
f1642388af Fix unit tests for node. 2015-08-24 14:46:48 -04:00
Braydon Fuller
d03d452981 Refactor reorg regtest. 2015-08-24 14:06:38 -04:00
Braydon Fuller
e707b297d1 Fix unit tests for node. 2015-08-24 14:06:38 -04:00
Braydon Fuller
9be5db84c9 Added node reorg integration regtest 2015-08-24 13:59:33 -04:00
Patrick Nagurny
06f0593613 fix reorg issue 2015-08-24 13:58:40 -04:00
Patrick Nagurny
faf93a18a7 get regtest to work 2015-08-24 13:52:45 -04:00
Patrick Nagurny
efdf38d5c2 don't call store.close() due to issues 2015-08-24 13:29:42 -04:00
Chris Kleeschulte
f4a1f7b12a Removed signal handlers from bitcoind.
- when using bitcoin as a shared lib, there should not be any need for bitcoind to be handling its own signals.
2015-08-24 13:29:42 -04:00
Patrick Nagurny
db65d6476f add ctrl-c behavior to daemon 2015-08-24 13:29:42 -04:00
Patrick Nagurny
a9e5ee6f1a add tests 2015-08-24 13:29:42 -04:00
Patrick Nagurny
b0ab45f3f7 handle signals and stop correctly 2015-08-24 13:29:42 -04:00
Patrick Nagurny
164a2cad75 cleanup daemon 2015-08-24 13:29:42 -04:00
Patrick Nagurny
a61e1d9b8f start and stop services 2015-08-24 13:29:42 -04:00
Braydon Fuller
a65a097e8a Merge pull request #134 from kleetus/regtest_ready_event
Regtest and wallet ready event
2015-08-21 15:00:54 -04:00
Patrick Nagurny
d117629864 use latest chainlib version 2015-08-20 10:41:49 -04:00
Chris Kleeschulte
c4ee586bd7 Added CFLAGS for the bindings so that they know that the wallet is compiled in. 2015-08-19 16:33:01 -04:00
Braydon Fuller
96824feeaa Merge pull request #111 from pnagurny/feature/changes-for-bws
Changes for integrating into BWS
2015-08-19 15:15:56 -04:00
Patrick Nagurny
2dc79efc0d make 0 confirmations work 2015-08-19 15:10:26 -04:00
Patrick Nagurny
e15473f625 use latest bitcore 2015-08-19 14:31:22 -04:00
Chris Kleeschulte
862d36191b Corrected the preprocessor directive. 2015-08-19 11:01:48 -04:00
Chris Kleeschulte
a68e51ffc4 Regtest and wallet ready event
- Added a check for the wallet availability during onBlocksReady
- Fixed a problem with spaces being added at the end of the file by git diff
2015-08-18 17:56:35 -04:00
Patrick Nagurny
eacb04f4f9 fix block subscription 2015-08-18 17:49:29 -04:00
Patrick Nagurny
d6d9c6a975 take out modifying behavior to estimateFee 2015-08-18 12:20:30 -04:00
Chris Kleeschulte
c52752d3c5 Version back to 0.2.0-dev 2015-08-17 16:20:00 -04:00
Chris Kleeschulte
e8d9787de7 Bump package version to v0.2.0-beta.3 2015-08-17 16:18:29 -04:00
Chris Kleeschulte
2d4a2b0bfd Lack of Curl
- Added a check for curl in the install script, if no curl, then use wget.
2015-08-17 15:23:52 -04:00
Patrick Nagurny
43ec2d3b34 add more tests 2015-08-17 14:27:46 -04:00
Chris Kleeschulte
5f64d12972 Bump package version to v0.2.0-beta.2 2015-08-17 13:21:02 -04:00
Patrick Nagurny
02f9b16bde Merge pull request #123 from kleetus/version_message
Bitcore node in the user-agent (subversion)
2015-08-17 11:16:45 -04:00