Commit Graph

1858 Commits

Author SHA1 Message Date
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
Patrick Nagurny
738574d6b1 add fees to address history 2015-08-14 16:28:51 -04:00
Patrick Nagurny
bf4cec6bf5 use latest bitcore 2015-08-14 16:01:27 -04:00
Patrick Nagurny
78bc054bfa changes for BWS integration 2015-08-14 11:15:07 -04:00
Chris Kleeschulte
3777ab4250 Bitcore node in the user-agent (subversion)
- There is a comments section that can be used in the FormatSubVersion string for the user agent that is exchanged between peers
- The comments section allows arbitrary strings to be added per the client
- This is the most appropriate place to include the bitcore-node message
- A string similar to: "/Satoshi:0.11.0(bitcorenode)/" will be passed as a response to getpeerinfo or getnetworkinfo
2015-08-13 17:31:03 -04:00
Braydon Fuller
52cc91e1d7 Merge pull request #113 from kleetus/txindex_message
Blockchain state
2015-08-12 21:21:30 -04:00
Braydon Fuller
ec474bf17d Merge pull request #121 from kleetus/readme_binaries
Added a note about distributing binaries at the top of the README jus…
2015-08-12 21:20:18 -04:00
Chris Kleeschulte
f168b021bf typo fix 2015-08-12 16:57:50 -04:00
Patrick Nagurny
223aebf98c Merge pull request #117 from kleetus/blockchain_synced
GetProgress, will report the GuessVerificationProgress for the blockchain
2015-08-12 15:32:09 -04:00
Chris Kleeschulte
549eea419a Added a note about distributing binaries at the top of the README just in case someone is reading the README from npm or otherwise using the binaries. 2015-08-12 14:50:02 -04:00
Chris Kleeschulte
8115d92de9 Removed verifyScript and related methods that we don't currently use. 2015-08-12 12:38:33 -04:00
Braydon Fuller
ffddc9d9b5 Fix declarations for IsSynced and SyncPercentage 2015-08-11 17:58:25 -04:00
Braydon Fuller
dd91b75827 Fix test for bitcoindSync 2015-08-11 17:38:04 -04:00
Braydon Fuller
6584974413 Emit "synced" event when bitcoind is synced
- Added daemon IsSynced method
- Renamed GetProgress to SyncPercentage
- Improved logging when syncing is finished
2015-08-11 17:24:30 -04:00
Chris Kleeschulte
f2c6d310ae GetProgress
- uses the same routine as the log reporter in bitcoin
- essentially divides the chainParams checkpoints by the current tip
2015-08-11 12:31:54 -04:00
Chris Kleeschulte
5cae32b439 Added a note about building on 12.04 and tagging the release. 2015-08-11 10:00:19 -04:00
Chris Kleeschulte
7a539a26ff added additional message. 2015-08-11 09:45:38 -04:00
Chris Kleeschulte
834431a796 Added a note about the npm publish behavior. 2015-08-10 16:12:01 -04:00
Chris Kleeschulte
1027a77d6f Bumped version to dev. 2015-08-10 15:59:33 -04:00
Chris Kleeschulte
6ea18fdd94 bumped to 0.2.0-beta.1 2015-08-10 15:30:43 -04:00
Chris Kleeschulte
7ac389fa83 Added files to gitignore for libbitcoind and also using this for npm. 2015-08-10 15:30:33 -04:00
Chris Kleeschulte
2a52c9595d Version back to 0.2.0-dev 2015-08-10 15:10:15 -04:00
Chris Kleeschulte
b40f1a51a5 Bumped version to 0.2.0-beta.0 2015-08-10 15:08:54 -04:00
Chris Kleeschulte
2b775af7a0 Added the badbitcoin.conf 2015-08-10 14:31:45 -04:00
Chris Kleeschulte
fe7397fb0b Added a check for txindex enabled in the config. 2015-08-10 14:05:05 -04:00
Braydon Fuller
ba2fdc1620 Fix jsdoc for transactionOutputHandler 2015-08-10 13:04:34 -04:00
Braydon Fuller
16f7ffa784 Process incoming transactions for the Address Module
- Transaction events are emitted when an address matches subscribers
- The Address Module listens for incoming transactions from the daemon
2015-08-07 16:49:45 -04:00
Braydon Fuller
333ea5360e Merge pull request #112 from kleetus/git_version
Git versions
2015-08-07 13:42:05 -04:00
Chris Kleeschulte
83d6876376 Git versions
- using --branch with Git version < 2.x will not work
- doing things the "hard" way
2015-08-07 12:46:23 -04:00
Braydon Fuller
682f3999ec Fix bug with transaction message processing
- Copy the message so that the message can be later processed
- Connect at the front to be able to scan but not seek
- Emit event after process message and accept to mempool
- Include node buffer, hash and mempool status of the transaction in result
2015-08-07 11:05:04 -04:00
Braydon Fuller
50981b713a Speed up syncing by delaying saving metadata every 30 seconds. 2015-08-06 17:53:10 -04:00
Braydon Fuller
fdba8e86e4 Merge pull request #108 from kleetus/fedora
Fedora
2015-08-06 17:37:05 -04:00
Chris Kleeschulte
544341c6d1 Merge pull request #106 from braydonf/signed-releases
Included command to package and sign releases.
2015-08-06 17:23:45 -04:00
Chris Kleeschulte
1a873d00fe Fixed shamus call to write patch file. 2015-08-06 17:18:22 -04:00
Patrick Nagurny
c2b062f535 fix uncaught exception handling 2015-08-06 17:14:14 -04:00
Chris Kleeschulte
afa51fdabc Added Fedora to README and added a check for shasum. 2015-08-06 16:55:00 -04:00
Braydon Fuller
555601573d Include keys and docs for verifying signatures. 2015-08-06 16:41:25 -04:00
Braydon Fuller
757c9d6524 Included command to package and sign releases. 2015-08-06 16:17:03 -04:00
Chris Kleeschulte
2fee4b2404 Fixed wording in RELEASE.md 2015-08-06 14:57:54 -04:00
Chris Kleeschulte
2a576eae62 Added automake to the install directions. On Mint Linux, automake isn't part of auto tools package for some reason. 2015-08-06 13:56:39 -04:00
Braydon Fuller
4a2dcddaa9 Remove binding dependency in get-tarball-name 2015-08-06 13:48:02 -04:00
Chris Kleeschulte
b02b65d142 Added a default case for default to be false. 2015-08-06 12:32:11 -04:00
Chris Kleeschulte
8ef0b3b3d9 changed back to node-gyp clean. 2015-08-06 11:51:25 -04:00
Chris Kleeschulte
4735c58355 added removing of the cache from the clean script. 2015-08-06 11:43:58 -04:00
Chris Kleeschulte
c94f493915 Fixed curl statement to check return HEADERS. 2015-08-06 11:28:17 -04:00
Chris Kleeschulte
19fdd54cdc Switched to curl when getting the tgz. 2015-08-06 11:01:36 -04:00
Braydon Fuller
e4c42fa6cb Download and upload binary distribution. 2015-08-05 21:30:42 -04:00
Chris Kleeschulte
c8f3cbe390 Fixed README for Bitcore versus Bitcoin. 2015-08-05 16:34:51 -04:00
Chris Kleeschulte
b3dab5ee7e Added the clean script. 2015-08-05 16:31:48 -04:00
Chris Kleeschulte
d6d87e7964 Cache strategy changes
- Fixed wording in README
- changed caching directory again
- realigning include and lib directories
2015-08-05 16:29:54 -04:00
Chris Kleeschulte
a62410da67 Spacing, RELEASE notes, clean up
- Removed main Makefile
- Fixed wording in README
- Altered build script
- Fixed clean script
2015-08-05 16:29:30 -04:00
Chris Kleeschulte
6fe8bc7702 - put variables.sh in bin/
- fixed wording and description in README.md
- make clean in libbitcoind for clean script
- changed references to variables.sh
2015-08-05 16:27:20 -04:00
Chris Kleeschulte
05d8cf521d Resolved merge conflict. 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
9bff9ead78 Fixed the host name for the s3 repo. 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
8d4708ef27 Added a cache directory where the patch sha will go. 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
0fe161c5f4 Updated the README.md 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
da71c0ff2c Clean up
- Removed the platform directory
- renamed the platform/os.sh script to varaibles.sh
- realigned the calls to os.sh
- changed where the patch_ha.txt was being written to
- changed the name of the binary to bitcoind.node
2015-08-05 16:27:20 -04:00
Chris Kleeschulte
761243c724 Removed the need for the platform directory. Now, the binding can be cached in the build dir because it is one file that includes bitcoin core. 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
19b96754d7 Fixed patch for anoint (we don't build dylib's anymore). 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
866c78b701 Remove reference to getting the dylib or so from os.sh. 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
daa0f9ca5c Added a clean script for convenience. 2015-08-05 16:27:20 -04:00
Chris Kleeschulte
067a82976d Fixed references in requires. 2015-08-05 16:27:19 -04:00
Chris Kleeschulte
4da897287b Merge 2015-08-05 16:27:19 -04:00
Chris Kleeschulte
c6f2a87158 Bindings as one shared library
- libbitcoind is now linked statically into the binding file versus being its own shared library
- the build script now copies the .a file into libs
2015-08-05 16:27:19 -04:00
Braydon Fuller
422160fa51 Update to bitcore v0.12.15 with publickey out signing. 2015-08-05 11:42:44 -04:00
Braydon Fuller
22890b8863 Error message and environment variable fix for bin/start.js 2015-08-05 09:38:50 -04:00
Braydon Fuller
c21ff322b7 Merge pull request #97 from pnagurny/startnode
Simple RPC/websockets API
2015-08-04 17:33:35 -04:00
Patrick Nagurny
10843182c1 fixes 2015-08-04 17:30:55 -04:00
Patrick Nagurny
e95d4c865f finish getting everything to work. add tests 2015-08-04 17:30:55 -04:00
Patrick Nagurny
a2962dc7f3 get rpc over socket io to work 2015-08-04 17:30:46 -04:00
Patrick Nagurny
c0d28386ae Merge pull request #101 from braydonf/blkbench
Optimizations for address module blockhandler
2015-08-04 16:42:59 -04:00
Chris Kleeschulte
d997a7093c Merge pull request #102 from braydonf/dbpath
Update database directory for bitcore-node.
2015-08-04 16:42:14 -04:00
Braydon Fuller
598cf64a5f Start a node and expose API methods and events over a socket. 2015-08-04 16:36:41 -04:00
Braydon Fuller
dd59d5f64b Optimizations for address module blockhandler
- _scriptBuffer instead of reserializing the script
2015-08-04 16:19:06 -04:00
Braydon Fuller
c88c873184 Update database directory for bitcore-node. 2015-08-04 15:06:00 -04:00
Braydon Fuller
a6da70cca2 Add start script for npm command. 2015-08-04 14:17:04 -04:00
Braydon Fuller
9147350942 Remove nolonger needed dependency. 2015-08-04 14:14:48 -04:00
Braydon Fuller
1f42d24e42 Update documentation for lib/daemon 2015-08-04 14:11:12 -04:00
Braydon Fuller
412078e1a0 Cleanup lib/daemon and remove functions not implemented. 2015-08-04 13:53:44 -04:00
Braydon Fuller
de77dbf99b Add tests around db.getTransaction and return NotFound error. 2015-08-03 18:11:11 -04:00
Braydon Fuller
a952c3e417 Added regtests for getTransaction 2015-08-03 17:41:11 -04:00
Braydon Fuller
286f917dd0 Fix "Abort trap 6" bug
- Added CCriticalSection LOCK
- Removed the use of uv_mutex_lock
2015-08-03 16:10:58 -04:00
Braydon Fuller
9ac7de325a Fix spelling of build 2015-08-03 14:28:51 -04:00
Braydon Fuller
2b7804271b Added build instructions for OSX 2015-08-03 14:19:44 -04:00
Braydon Fuller
2a9308a2e9 Updated README with detailed build instructions. 2015-08-03 14:17:14 -04:00
Chris Kleeschulte
78f20a1a8c Checking for the existing of Xcode command line tools in order to complete a successful build on mac. 2015-07-31 16:40:25 -04:00
Braydon Fuller
f4061037b6 Update name to Bitcore Node 2015-07-31 13:26:48 -04:00
Patrick Nagurny
afee19e1f7 remove console.log 2015-07-31 11:13:33 -04:00
Patrick Nagurny
2a55c900ce update tests 2015-07-31 11:13:33 -04:00
Patrick Nagurny
4a4e71797a getTransactionWithBlockInfo 2015-07-31 11:13:33 -04:00
Patrick Nagurny
7e8d17ae13 refactor into getAddressHistory 2015-07-31 11:12:43 -04:00
Patrick Nagurny
073353f895 write tests 2015-07-31 11:12:43 -04:00
Patrick Nagurny
bede8a96ea convert input to object 2015-07-31 11:12:43 -04:00
Patrick Nagurny
ac774ba9e8 find transactions which spend from the address 2015-07-31 11:12:43 -04:00
Patrick Nagurny
d5801c9172 getTransactionsForAddress() without mempool 2015-07-31 11:12:43 -04:00
Braydon Fuller
49587b7e2d Process tx messages
- Check for tx command when processing messages
- Emit tx events from the daemon
- Start the txmon when the daemon starts
2015-07-30 20:26:08 -04:00
Braydon Fuller
6f56df0c6f Added p2p message signal bindings. 2015-07-30 18:05:03 -04:00
Braydon Fuller
2c8ae04af1 Merge pull request #54 from kleetus/faster_travis
Added support for using internal dependencies (boost).
2015-07-30 12:42:53 -04:00
Chris Kleeschulte
7cf5570071 Merge pull request #57 from braydonf/feature/pub-sub
Event Bus Subscriptions
2015-07-30 12:40:37 -04:00
Braydon Fuller
ddef234167 Include documentation for module event publishing. 2015-07-29 18:21:09 -04:00
Braydon Fuller
725120a24e Add tests for event bus. 2015-07-29 17:53:48 -04:00
Chris Kleeschulte
bfc7ab8359 Fixed whole-archive builds for the bindings binary. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
2e19b44342 Added the cache back in. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
ead1294111 Added prebuilt libs to the cache directory so that the bindings can get to them. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
86dbc89ff3 included ipp files in cache 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
b346befa21 Fixed copy of headers to include .hpp files. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
a7506471d5 Copied headers. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
b798ea918d Skipped building if the patch's sha matches the previously written patch's sha. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
7de5ac32de Fixed env variables. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
b1e04b97dd Added the cleanup script so that we can keep the cache to a bare minimum. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
2fdabd721e Fixed the dependency on system-installed boost libs. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
20bbe650c6 Removed cruft. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
9a18d37011 Updated the patch to compile the BDB static libs correctly. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
248bf1d52c Included the wallet option for building while under test env. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
7efa84fa86 Generalized the static building of boost. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
245422a830 Added function to build dependencies. 2015-07-29 17:30:34 -04:00
Chris Kleeschulte
c53b47890b Added support for using internal dependencies (boost). 2015-07-29 17:30:33 -04:00
Braydon Fuller
097fd6e3ba Merge branch 'bus' into feature/pub-sub 2015-07-29 13:37:47 -04:00
Patrick Nagurny
c3da3e0b92 fix 2015-07-29 13:37:13 -04:00
Braydon Fuller
f2fdfed7e9 Add bus to subcribe to events. 2015-07-29 13:36:23 -04:00
Patrick Nagurny
d563704e1c address subscriptions 2015-07-29 13:34:53 -04:00
Braydon Fuller
2ca3a48884 Expose estimateFee method. 2015-07-28 16:03:55 -04:00
Braydon Fuller
939b19c65d Call sync on initial ready event. 2015-07-25 00:02:46 -04:00
Braydon Fuller
4f281dcefe Update chain prevHash cache. 2015-07-24 23:18:14 -04:00
Braydon Fuller
9890a4f0da Added tests for _syncBitcoindRewind 2015-07-24 13:45:31 -04:00
Braydon Fuller
93ed8bfd8d Fix bug with feedback loop during shutdown
- Use height to indicate tip change by comparing heights
- Give undefined for callback when shutting down
2015-07-24 12:32:28 -04:00
Braydon Fuller
4189e3548a Tests for tip_update
- Exit tip_update thread on shutdown
- Check that the tip update event is fired
2015-07-23 23:29:01 -04:00
Braydon Fuller
ab4addc82e Split out _syncBitcoindAncestor from _syncBitcoindRewind and added unit tests 2015-07-23 23:07:13 -04:00
Braydon Fuller
9eda30ae2b Handle forks with bitcoindSync
- added bindings to listen for tip updates from the daemon
- update the height during syncing for continuity
- call sync when there is a new tip
- added ability to rewind to a ancestor when there is a fork
2015-07-23 20:06:19 -04:00
Braydon Fuller
6dc3577e00 Create data directory on a fresh start. 2015-07-23 18:45:17 -04:00
Braydon Fuller
ac09e767fb Merge pull request #45 from pnagurny/feature/modules
Module system
2015-07-23 17:59:36 -04:00
Patrick Nagurny
9108b0f695 rename methods to getAPIMethods 2015-07-23 15:34:36 -06:00
Braydon Fuller
80a0786e12 Merge pull request #49 from kleetus/patch_diff
Upgrades whilst having the build directory
2015-07-23 17:19:04 -04:00
Patrick Nagurny
fd8ee3ba9d expose getBlock method 2015-07-23 15:08:09 -06:00
Patrick Nagurny
990f508bbb update README with module docs 2015-07-23 15:03:18 -06:00
Chris Kleeschulte
191fc22434 Fixed quoted boolean value. 2015-07-23 16:59:13 -04:00
Patrick Nagurny
8290d61a09 only pass db as option to module because other params aren't available until init 2015-07-23 13:30:36 -06:00
Patrick Nagurny
1aee45e423 add Module to index.js 2015-07-23 10:55:50 -06:00
Patrick Nagurny
14e21fadb0 update tests 2015-07-23 09:34:10 -06:00
Patrick Nagurny
8d39d02ee6 modularize db 2015-07-23 09:34:10 -06:00
Braydon Fuller
509b424262 Fix bug with loading the genesis block for testnet. 2015-07-23 09:33:40 -04:00
Braydon Fuller
747942cec1 Log sync status less frequently, and include the current height. 2015-07-22 19:51:49 -04:00
Braydon Fuller
40c0275677 Make sure to select the correct utxo in regtest. 2015-07-22 18:19:50 -04:00
Braydon Fuller
7b8268d0e0 Use prevHash from bitcoind block index
- Changed method getChainWork into getBlockIndex
- Added prevHash to getBlockIndex result
2015-07-22 16:56:17 -04:00
Chris Kleeschulte
fab5ac4158 Upgrades whilst having the build directory
- when performing nom install (which calls build-libbitcoind), the diff from PATCH_VERSION is taken and compared to what's in etc/bitcoin.patch. If there are differences, then the user is asked if they would like to re-patch with what's in etc/bitcoin.patch or not. 
- using ASSUME_YES=true env variable will allow the patch to be replaced automatically without user intervention
- Answering anything but 'y' or 'Y' will leaving the user's libbitcoind alone.
2015-07-22 16:04:58 -04:00
Braydon Fuller
eab878cec1 Include a higher fee. 2015-07-22 14:29:43 -04:00
Braydon Fuller
b53fa3f6bb Added regtest for sendTransaction method. 2015-07-22 13:59:28 -04:00
Braydon Fuller
2312e53038 Fix compilation of bindings for SendTransaction. 2015-07-22 10:57:01 -04:00
Braydon Fuller
796d7682f8 Add sendTransaction method to the daemon. 2015-07-22 10:57:01 -04:00
Braydon Fuller
73b359425d Added comments to test files and guard for environment variables. 2015-07-22 09:52:23 -04:00
Braydon Fuller
2abb0cc393 Add unit tests to travis ci config. 2015-07-21 19:06:27 -04:00
Braydon Fuller
5a8dfc1e07 Added tests for getting blocks by height. 2015-07-21 18:48:07 -04:00
Braydon Fuller
ebdab57b78 Added get block by hash regtest. 2015-07-21 18:46:00 -04:00
Braydon Fuller
be5e885f96 Use datadir path relative to test file. 2015-07-21 18:18:42 -04:00
Braydon Fuller
bcc3a4c2e1 Use a local data directory specific for reg testing. 2015-07-21 17:33:59 -04:00
Braydon Fuller
072c109174 Update regtest tests. 2015-07-21 16:46:36 -04:00
Braydon Fuller
4c7309838b Run integration/regtest.js in ci tests. 2015-07-21 14:33:19 -04:00
Braydon Fuller
787dcde00b Answer yes to adding the ppa. 2015-07-21 14:00:10 -04:00
Braydon Fuller
910fb561ac Add Berkeley DB depends for testing regtest. 2015-07-21 13:56:57 -04:00
Braydon Fuller
bcdf75a5e1 Add environment variable to travis to compile for testing. 2015-07-21 13:49:20 -04:00
Braydon Fuller
7f5c509254 Update tests to pass network option with regtest option. 2015-07-21 13:47:25 -04:00
Braydon Fuller
787aa37e7a Removed extra files and updated config options. 2015-07-21 13:23:38 -04:00
Braydon Fuller
53968e6f8d Fix debug flag and readme formatting. 2015-07-21 13:19:18 -04:00
Braydon Fuller
e3d041b594 Include debug flag when building test build. 2015-07-21 13:09:27 -04:00
Chris Kleeschulte
66af5935b7 Patch update for wallet inclusion under the test environment
- Added the patch to allow the building of the test environment for which the wallet is required
2015-07-21 13:07:23 -04:00
Chris Kleeschulte
cf6225c495 Regtest testing
- Removed config option for build scripts, replaced with env variable
- Updated README
- Added regtest option under test build, wallet built-in
- added network key to bindings
- datadir for the bitcoind object instead of directory
- added new config_options scripts for test and debug
2015-07-21 13:06:43 -04:00
Braydon Fuller
4d784ba8f5 Add test for loading bitcoin.conf 2015-07-21 12:17:44 -04:00
Braydon Fuller
75058b26b9 Add and fix unit tests for configuration options. 2015-07-21 11:52:08 -04:00
Braydon Fuller
0bbc388ca6 Cleanup configuration options 2015-07-21 11:16:12 -04:00
Igor Barinov
d8f858f785 git clone ssh to https change
You can only git clone using ssh if you have ssh keypair and pub key uploaded to github. Otherwise, you will get "Permission denied (publickey)."
it's recommended to use https e.g. git clone https://github.com/bitpay/bitcoind.js.git
2015-07-20 23:29:34 -07:00
Patrick Nagurny
f41a641dee README formatting issue 2015-07-20 14:49:45 -06:00
Patrick Nagurny
06cbdb4440 use bitcoind.getMempoolOutputs() 2015-07-20 13:38:56 -06:00
Patrick Nagurny
482fd53f3d use getChainWork from bitcoind 2015-07-20 11:55:16 -06:00
Patrick Nagurny
94ceaa1857 fix to rebase conflict issue 2015-07-20 11:27:28 -06:00
Patrick Nagurny
a2f271bf03 udpated benchmarks 2015-07-20 10:40:36 -06:00
Patrick Nagurny
02b2d165d7 updated readme 2015-07-20 10:40:36 -06:00
Patrick Nagurny
655ac37ba0 changes in response to feedback 2015-07-20 10:40:35 -06:00
Braydon Fuller
162088f8f4 Expose verifyScript from the daemon 2015-07-20 10:40:35 -06:00
Patrick Nagurny
beaa7cf450 remove spent index 2015-07-20 10:39:07 -06:00
Patrick Nagurny
bb36f5f044 rename bitcoind to daemon 2015-07-20 10:39:07 -06:00
Patrick Nagurny
510f6e8607 getTransaction queryMempool 2015-07-20 10:37:17 -06:00
Patrick Nagurny
69f51c749b require coinbaseAddress to build coinbase transaction 2015-07-20 10:37:17 -06:00
Patrick Nagurny
fa572237a6 add tests 2015-07-20 10:37:17 -06:00
Patrick Nagurny
f9fef7a07f update index file and examples 2015-07-20 10:37:17 -06:00
Patrick Nagurny
c00ca5b23f query bitcoind for spents and transactions 2015-07-20 10:37:17 -06:00
Patrick Nagurny
b8b4ac02bf incorporate chainlib bitcoin into bitcoind.js 2015-07-20 10:37:17 -06:00
Braydon Fuller
0fbca8094e Added comments to getMempoolOutputs 2015-07-20 09:47:53 -04:00
Braydon Fuller
0b926b67b6 Completed getMempoolOutputs
- Pass ctx to data from the mempool for getTransaction
- Use string as input for unchecked transaction to mempool
- Only include outputs that match input address
- Include script in results
2015-07-20 09:47:53 -04:00
Chris Kleeschulte
ef3abbcb6c Added a binding for Add to mempool. 2015-07-20 09:47:07 -04:00
Braydon Fuller
54edc851e0 Add getMempoolOutputs method. 2015-07-20 09:45:54 -04:00
Braydon Fuller
b2b44d1674 Added getChainWork method for determining the best chain. 2015-07-17 13:36:12 -04:00
Braydon Fuller
8c8aa7dba2 Wait to be able to query transactions from the mempool. 2015-07-16 16:41:11 -04:00
Braydon Fuller
b738a5fb84 Remove braces, fix benchmark and pass callback. 2015-07-16 16:09:30 -04:00
Braydon Fuller
9020ddb85c Add queryMempool option to getTransaction 2015-07-16 14:39:15 -04:00
Braydon Fuller
cc1747c596 Update test data with unspent output. 2015-07-16 14:37:54 -04:00
Chris Kleeschulte
0601ed29d9 1. Added a way to check if the genesis block is ready in chainActive before sending the ready event. We think that once chainActive[0] is not returning NULL, we should be ready to query the local blockchain.
2. Added the env variable BITCOINDJS_DIR support in the integration tests.
2015-07-16 13:43:51 -04:00
Chris Kleeschulte
f999e7e30f Merge pull request #28 from braydonf/isspent
Add method to check if an outpoint is spent.
2015-07-16 11:02:41 -04:00
Braydon Fuller
dcaa6203e9 Add additional livenet tests and remove used param. 2015-07-16 10:02:27 -04:00
Chris Kleeschulte
1c615ac7c0 Added extern mempool and fixed method name. 2015-07-16 10:01:41 -04:00
Braydon Fuller
801679df75 Add isSpent call 2015-07-16 10:01:41 -04:00
Braydon Fuller
946feba862 Handle case that chainActive at height does not exist. 2015-07-16 09:59:13 -04:00