Commit Graph

700 Commits

Author SHA1 Message Date
Chris Kleeschulte
c91155cc35 wip 2017-07-21 18:47:50 -04:00
Chris Kleeschulte
4a294f7058 wip 2017-07-21 14:03:04 -04:00
Chris Kleeschulte
f47a3e3a3b wip 2017-07-21 11:45:36 -04:00
Chris Kleeschulte
0263aa14ae wip 2017-07-21 11:10:54 -04:00
Chris Kleeschulte
3044a4dcfe wip 2017-07-21 07:22:13 -04:00
Chris Kleeschulte
759087bfc2 wip 2017-07-20 15:55:02 -04:00
Chris Kleeschulte
6b45ef27cd wip 2017-07-19 18:58:18 -04:00
Chris Kleeschulte
de4c59f958 wip 2017-07-19 15:50:47 -04:00
Chris Kleeschulte
861a80d678 wip 2017-07-19 10:35:25 -04:00
Chris Kleeschulte
aceddb12d9 wip 2017-07-18 19:05:32 -04:00
Chris Kleeschulte
a8eb0f8979 wip 2017-07-18 13:29:28 -04:00
Chris Kleeschulte
8365f358e7 wip 2017-07-18 10:04:22 -04:00
Chris Kleeschulte
b3ed843057 wip 2017-07-18 09:47:28 -04:00
Chris Kleeschulte
17bbfcc6ce wip 2017-07-17 18:20:48 -04:00
Chris Kleeschulte
eb39e5bf19 wip 2017-07-17 13:26:08 -04:00
Chris Kleeschulte
e1b8c583d8 wip 2017-07-17 10:17:49 -04:00
Chris Kleeschulte
67e9d63f4b wip 2017-07-16 17:29:58 -04:00
Chris Kleeschulte
b471857bf0 wip 2017-07-15 15:50:52 -04:00
Chris Kleeschulte
98ea052405 wip 2017-07-14 16:14:24 -04:00
Chris Kleeschulte
1dbba6708d wip 2017-07-14 10:07:15 -04:00
Chris Kleeschulte
63cada9e8d wip 2017-07-13 19:15:21 -04:00
Chris Kleeschulte
a488c3f083 wip 2017-07-12 17:46:38 -04:00
Chris Kleeschulte
9c943cc959 wip 2017-07-12 10:07:46 -04:00
Chris Kleeschulte
5e0b2b1f11 wip 2017-07-11 17:16:23 -04:00
Chris Kleeschulte
5de265e094 wip 2017-07-10 16:16:31 -04:00
Chris Kleeschulte
7afaa59862 wip 2017-07-10 10:00:47 -04:00
Chris Kleeschulte
b5d67135ae wip 2017-07-09 19:50:30 -04:00
Chris Kleeschulte
c837456761 wip 2017-07-07 14:30:38 -04:00
Chris Kleeschulte
ee9a3682b4 wip 2017-07-06 14:54:53 -04:00
Chris Kleeschulte
14c54a2fbf wip 2017-07-05 19:12:25 -04:00
Chris Kleeschulte
314c37db49 wip 2017-07-05 10:10:12 -04:00
Chris Kleeschulte
d0ee9c18a9 wip 2017-07-05 09:34:51 -04:00
Chris Kleeschulte
54d08d57bf wip 2017-07-05 08:57:50 -04:00
Chris Kleeschulte
3fc8ddb103 wip 2017-06-30 10:05:43 -04:00
Chris Kleeschulte
98dee7084f wip 2017-06-30 08:48:06 -04:00
Chris Kleeschulte
90b0e0e94b wip 2017-06-28 18:54:15 -04:00
Chris Kleeschulte
1cf3d6ccd2 wip 2017-06-27 16:40:10 -04:00
Chris Kleeschulte
fb0dd680ac wip 2017-06-27 07:44:58 -04:00
Chris Kleeschulte
1b77fdf5e4 wip 2017-06-26 15:28:22 -04:00
Chris Kleeschulte
73687b36cf wip 2017-06-26 08:46:32 -04:00
Chris Kleeschulte
58a5c14cdf wip 2017-06-23 07:33:54 -04:00
Chris Kleeschulte
e8efdafce0 wip 2017-06-22 14:10:23 -04:00
Chris Kleeschulte
28e29ff8db wip 2017-06-22 09:17:55 -04:00
Chris Kleeschulte
d0fb0c12ee wip 2017-06-21 16:49:36 -04:00
Chris Kleeschulte
facea3bd13 wip 2017-06-21 13:36:18 -04:00
Chris Kleeschulte
7ca831657b wip 2017-06-20 15:05:46 -04:00
Chris Kleeschulte
c4e90875a9 wip 2017-06-20 09:47:59 -04:00
Chris Kleeschulte
ac8e8b6577 Added block regtests. 2017-06-07 08:43:31 -04:00
Chris Kleeschulte
dae3c1de07 wip 2017-06-05 15:59:19 -04:00
Chris Kleeschulte
09ff858e81 wip 2017-06-05 08:17:24 -04:00
Chris Kleeschulte
84f4dbf7aa wip 2017-06-02 15:03:39 -04:00
Chris Kleeschulte
76be902463 wip 2017-06-02 08:52:46 -04:00
Chris Kleeschulte
019851e48f wip 2017-06-01 08:50:22 -04:00
Chris Kleeschulte
bf31eb44a3 wip 2017-05-31 16:25:17 -04:00
Chris Kleeschulte
58223948ac wip 2017-05-30 15:42:01 -04:00
Chris Kleeschulte
87df236e35 wip 2017-05-30 08:01:13 -04:00
Chris Kleeschulte
ec826b4940 added more blocks stuff. 2017-05-30 08:00:28 -04:00
Chris Kleeschulte
443688face wip 2017-05-26 16:19:49 -04:00
Chris Kleeschulte
d6f1f26469 wip 2017-05-26 07:40:26 -04:00
Chris Kleeschulte
8730ca6148 wip 2017-05-25 23:11:55 -04:00
Chris Kleeschulte
780175ee4e wip 2017-05-25 08:54:27 -04:00
Chris Kleeschulte
22c537f003 wip 2017-05-24 15:56:00 -04:00
Chris Kleeschulte
b51179274f wip 2017-05-23 08:53:54 -04:00
Chris Kleeschulte
6fc170f7da wip 2017-05-22 15:45:16 -04:00
Chris Kleeschulte
6cccce833d Moved closer toward not relying on zmq and rpc. 2017-05-22 08:21:37 -04:00
Chris Kleeschulte
0e1b21b988 wip 2017-05-19 19:09:47 -04:00
Chris Kleeschulte
ce15e8ecf3 wip 2017-05-19 10:48:19 -04:00
Chris Kleeschulte
72602ba89f wip 2017-05-18 17:13:50 -04:00
Chris Kleeschulte
a8760b3451 Wip on block service. 2017-05-18 09:48:28 -04:00
Chris Kleeschulte
fe6896ba98 Minor cleanup. 2017-05-17 14:47:09 -04:00
Chris Kleeschulte
bb73bac027 Added more logging. Services should call the db service for db operations. 2017-05-17 18:02:00 +00:00
Chris Kleeschulte
b4214e6ffc Fixes for missing transaction id. 2017-05-16 20:32:10 +00:00
Chris Kleeschulte
ce09b816bb Put reportStatus on ProcessSerial. 2017-05-15 15:28:34 -04:00
Chris Kleeschulte
b6f56fb02b Fixed progress bar and added tests for getTransaction in
TransactionService.
2017-05-15 15:06:21 -04:00
Chris Kleeschulte
6d95cd0302 Combined bitcoind getBlock with getBlockHeader to centralize height. 2017-05-12 20:36:27 -04:00
Chris Kleeschulte
61e5d77fea Height not properly set during reorg situation. Fixed. 2017-05-12 20:03:43 -04:00
Chris Kleeschulte
c080a62958 Callback not called properly in _process for sync. 2017-05-12 16:23:17 -04:00
Chris Kleeschulte
f2eaa1ae83 Load tip must retrieve blocks from bitcoind at startup. 2017-05-12 14:47:28 -04:00
Chris Kleeschulte
835ab3b617 Made local transform stream. 2017-05-12 13:03:51 -04:00
support
492895538a Fixed streaming issue and slowness when using new PublicKey. 2017-05-12 15:38:02 +00:00
Chris Kleeschulte
26704e52f7 wip 2017-05-11 10:52:29 -04:00
Chris Kleeschulte
94445c2073 wip 2017-05-11 10:00:01 -04:00
Chris Kleeschulte
f452d63d75 Fixed issue with missing inputValues. 2017-05-09 16:36:09 -04:00
Chris Kleeschulte
57a7155265 Fixed progress bar starting point. 2017-05-09 11:02:18 -04:00
Chris Kleeschulte
d9efd7bc02 wip 2017-05-08 21:00:50 -04:00
Chris Kleeschulte
3fe2c3ea16 wip 2017-05-01 11:22:46 -04:00
Chris Kleeschulte
758a98b2cd wip 2017-04-28 15:52:43 -04:00
Chris Kleeschulte
06b1f02e6a wip 2017-04-28 10:13:36 -04:00
Chris Kleeschulte
ebe37222f5 wip on timestamp test. 2017-04-27 15:52:46 -04:00
Chris Kleeschulte
5dfadf9d2b Added wallet regtest. 2017-04-27 07:57:59 -04:00
Chris Kleeschulte
6634b4feae wip on regtest 2017-04-26 16:59:44 -04:00
k
0788da0e45 wip new routes. 2017-04-24 13:44:08 -04:00
Chris Kleeschulte
df38a6b838 Added start retry times as an option for bitcoin startup. 2017-04-21 14:40:11 -04:00
k
cef4088908 Progress bar adjustment. 2017-04-21 14:33:40 -04:00
k
9a7b39230f Added jsonl output to stream in order to better delimit on client. 2017-04-17 19:01:33 -04:00
k
230f3681bd Cleaned code a bit. 2017-04-01 13:27:57 -04:00
Chris Kleeschulte
65089302bb Fixed wallet getTransactions. 2017-03-31 16:05:07 -04:00
Chris Kleeschulte
06ffa05ba2 Added code for tx list. 2017-03-30 16:34:49 -04:00
Chris Kleeschulte
a732128fb9 Fixed reference to wrogn util. 2017-03-29 17:37:00 -04:00
Chris Kleeschulte
b6ca44e414 Lowered highwater mark. 2017-03-21 11:42:07 -04:00
Chris Kleeschulte
8873f19a43 Fixed parsing error of incoming addresses. 2017-03-10 21:14:46 -05:00
Chris Kleeschulte
750cda44ae wip 2017-03-09 15:57:24 -05:00
Chris Kleeschulte
6a9d9bac7b Further work on jobids. 2017-03-09 08:10:07 -05:00
Chris Kleeschulte
fea7c33ab0 Further work on job ids. 2017-03-08 15:36:47 -05:00
Chris Kleeschulte
841530705e Added job reporting. 2017-03-08 14:32:32 -05:00
Chris Kleeschulte
d06c177a1a Fixed small items with syncing. 2017-03-03 13:35:43 -05:00
Chris Kleeschulte
aadd336b4c Fixed premature initial sync ending. 2017-03-02 20:25:20 -05:00
Chris Kleeschulte
f3e1ff0842 override zmq for now. 2017-03-02 15:54:03 -05:00
Chris Kleeschulte
a213ddb4fc Will not try to sync is already synced. 2017-02-20 13:04:29 -05:00
Chris Kleeschulte
d4238225d4 more cleanup. 2017-02-14 08:05:28 -05:00
Chris Kleeschulte
8d98abd080 Cleaned up old code that may not make it into the next release. 2017-02-12 12:15:22 -05:00
Chris Kleeschulte
fe2d4231cb wip 2017-02-09 17:41:39 -05:00
Chris Kleeschulte
17011bdf69 Merge branch 'feature/walletIndex' of github.com:kleetus/bitcore-node into feature/walletIndex 2017-02-07 16:16:29 -05:00
Chris Kleeschulte
f559daac4e wip 2017-02-07 16:15:49 -05:00
Chris Kleeschulte
a52b8134f7 Added unit tests for encoding files. 2017-02-07 08:18:09 -05:00
Chris Kleeschulte
921210a6d0 added some encoding tests. 2017-02-06 15:46:16 -05:00
Chris Kleeschulte
331b4e3f77 wip 2017-02-06 09:49:05 -05:00
Chris Kleeschulte
ee62cbf178 wip 2017-02-06 09:45:51 -05:00
Chris Kleeschulte
f83b8a63e3 wip 2017-02-06 09:45:51 -05:00
Chris Kleeschulte
71ca53f8ba wip 2017-02-06 09:42:33 -05:00
Patrick Nagurny
3c53b1284c got reorg working and wrote test around it 2017-02-03 17:06:00 -05:00
Patrick Nagurny
de25b1e3fe reorg wip 2017-02-03 11:23:03 -05:00
Chris Kleeschulte
cebf2c310a small fixes. 2017-02-02 15:47:23 -05:00
Chris Kleeschulte
f07486f0f6 Added mempool database encodings. 2017-02-02 11:38:29 -05:00
Chris Kleeschulte
4310faa8f0 Split out encodings and nested all services into a directory. 2017-02-02 08:53:51 -05:00
Chris Kleeschulte
9a9f43bc7f small fixes to mempool. 2017-02-01 18:35:22 -05:00
Chris Kleeschulte
c73d5bde2e mempool service. 2017-02-01 15:57:53 -05:00
Chris Kleeschulte
1ccf4e9741 Added gettransactions. 2017-02-01 13:14:54 -05:00
Chris Kleeschulte
7862481df5 Minor cleanup. 2017-02-01 10:31:48 -05:00
Chris Kleeschulte
3051c04147 Called next to proceed with sync. 2017-02-01 10:21:23 -05:00
Patrick Nagurny
7e08651d95 import addresses 2017-01-31 17:09:59 -05:00
Patrick Nagurny
15b9bce0ac blockHandler for wallet-api service 2017-01-31 14:42:08 -05:00
Chris Kleeschulte
e2229a6516 Added Utxo index block handler. 2017-01-31 13:30:48 -05:00
Chris Kleeschulte
3b76463112 Unified all encodings/serialization functions into one,
centrally-accessible encodings file.
2017-01-31 08:00:28 -05:00
Patrick Nagurny
0627a14f18 use initialSync 2017-01-30 16:09:00 -05:00
Patrick Nagurny
d4302091ee fix condition 2017-01-30 16:08:19 -05:00
Chris Kleeschulte
cd4cbe3fb7 wip 2017-01-30 15:14:32 -05:00
Chris Kleeschulte
735810919a wip 2017-01-30 15:06:32 -05:00
Chris Kleeschulte
fbdafb74f9 Merge branch 'feature/concurrency' into feature/walletIndex 2017-01-30 15:05:05 -05:00
Chris Kleeschulte
8511e2f31b Fixed event name. 2017-01-30 14:21:22 -05:00
Patrick Nagurny
4b51bc0143 make ProcessSerial a Writable stream 2017-01-27 17:02:38 -05:00
Patrick Nagurny
fae38b1ee8 try this 2017-01-27 14:49:03 -05:00
Patrick Nagurny
c5875332d4 remove serial sync timeout 2017-01-27 14:16:44 -05:00
Patrick Nagurny
68973b4c85 get tip operation in serial sync 2017-01-27 10:15:34 -05:00
Chris Kleeschulte
0f46090b7e wip on untrusted mempool 2017-01-27 08:19:13 -05:00
Patrick Nagurny
df6cfeb164 add delay to make bitcoind not pause 2017-01-26 18:17:36 -05:00
Patrick Nagurny
26108753db got it working 2017-01-26 18:09:36 -05:00
Patrick Nagurny
77c9a149dc wip 2017-01-26 15:47:16 -05:00
Chris Kleeschulte
553312947f Added mempool stuff. 2017-01-26 14:57:47 -05:00
Patrick Nagurny
a220bbc43c wip 2017-01-25 16:37:38 -05:00
Patrick Nagurny
25c1492580 concurrency wip 2017-01-24 17:44:01 -05:00
Chris Kleeschulte
d42e29ecbe Corrected mempool removal logic. 2017-01-24 16:47:13 -05:00
Chris Kleeschulte
7662bf1bf5 Adjusted Address index. 2017-01-24 15:56:23 -05:00
Chris Kleeschulte
d4783dabde Added rudimentry mempool. 2017-01-24 14:47:19 -05:00
Patrick Nagurny
3c27f07291 getAddressHistory 2017-01-23 16:59:26 -05:00
Patrick Nagurny
831bf0b988 db should only sync after all services are started 2017-01-23 14:53:27 -05:00
Chris Kleeschulte
5a372f268c wip 2017-01-20 17:28:25 -05:00
Chris Kleeschulte
523c3ab852 wip 2017-01-20 11:27:59 -05:00
Patrick Nagurny
c6e2c57778 timestamp service fixes 2017-01-19 16:48:29 -05:00
Patrick Nagurny
efa8480651 get address index to work 2017-01-19 16:11:04 -05:00
Chris Kleeschulte
f1277c8ad3 Added height into tx index. 2017-01-18 19:11:47 -05:00
Chris Kleeschulte
43dfeffd5e Added blockHandler. 2017-01-18 18:23:17 -05:00
Patrick Nagurny
8ecf6e1c47 modify address index, add timestamp and tx indexes (wip) 2017-01-17 15:44:56 -05:00
Patrick Nagurny
22b7d59e55 Merge remote-tracking branch 'chris/feature/walletGrouping' into feature/walletIndex 2017-01-17 13:01:56 -05:00
Chris Kleeschulte
8850238944 Increased timeout for endpoints. 2017-01-16 19:41:27 -05:00
Chris Kleeschulte
d115580ae9 Fixed sendError call. 2017-01-16 19:32:30 -05:00
Chris Kleeschulte
3f558f6ace Added balance by address. 2017-01-16 19:23:17 -05:00
Chris Kleeschulte
05ddd43dfc Fixed options on getUtxos 2017-01-13 14:45:36 -05:00
Chris Kleeschulte
af2b75c0d0 Added pagination. 2017-01-13 14:27:15 -05:00
Chris Kleeschulte
57b3f5d67f Added GetTransactions 2017-01-13 13:44:38 -05:00
Patrick Nagurny
789c18a6df add put endpoint, rename module to wallet-api 2017-01-12 15:56:45 -05:00
Chris Kleeschulte
44cb188c61 clean up. 2017-01-11 19:03:44 -05:00
Chris Kleeschulte
e6d569620b Implemented basic wallet db and calls to bitcoind. 2017-01-11 17:01:48 -05:00
Chris Kleeschulte
86186e6147 Small fixes for service requiring and warnings. 2017-01-11 13:50:44 -05:00
Patrick Nagurny
339f56157f restore db and address services 2017-01-10 16:51:32 -05:00
Karel Bilek
b4c5ec78ab Fix maxStatement for jshint 2016-10-04 18:51:44 +02:00
Karel Bilek
b92d4340a1 Add option to query **only** mempool 2016-10-03 15:24:57 +02:00
Braydon Fuller
384d06c196 Fix reference to node 2016-09-20 15:19:57 -04:00
Chethan Krishna
4a99870813 Use logical timestamps to display blocks 2016-09-20 12:50:52 -04:00
Braydon Fuller
b7f888fc3e web: configure payload size 2016-06-16 13:36:30 -04:00
Chris Kleeschulte
4ade31ff11 Merge pull request #455 from braydonf/rpcoption
bitcoind: connect option for strict ssl
2016-06-13 11:09:33 -04:00
Chris Kleeschulte
3a1034757c Merge pull request #453 from braydonf/try-all
bitcoind: fix timing issue with tryAll
2016-06-13 11:08:16 -04:00
Braydon Fuller
a2a30b81d8 bitcoind: start tryAllClients with the current round-robin index 2016-06-10 19:05:22 -04:00
Braydon Fuller
3dc6860cb3 bitcoind: connect option for strict ssl
This is to be able to configure the RPC client to handle self-signed
certificates for development purposes.
2016-06-09 16:39:03 -04:00
Braydon Fuller
6ac912545b bitcoind: _tryAll -> _tryAllClients
Fixes a timing bug with not all clients being tried
2016-06-09 11:18:56 -04:00
Braydon Fuller
3715f07c84 bitcoind: get detailed transactions with concurrency
increase performance of querying address history by executing multiple
rpc calls concurrently with a configurable limit
2016-06-07 09:01:42 -04:00
Chris Kleeschulte
e87f628e7a Merge pull request #439 from braydonf/zmqcheck
bitcoind: added zmq precondition
2016-06-02 14:11:59 -04:00
Braydon Fuller
cf16a23408 bitcoind: added zmq precondition
Adds a state check that transaction and block events are over the same host
and port. This is to make sure that block events can be subscribed to and
that the tip of the chain stays up to date for correct confirmation counts.
2016-06-01 19:50:45 -04:00
Braydon Fuller
4d780a9d2d bitcoind: separate function for relative datadir expanding 2016-06-01 11:41:41 -04:00
Braydon Fuller
814576953c bitcoind: relative spawn.datadir handling
Will expand the datadir into an absolute path based on the location
of the configuration file. This is to avoid unexpected behavior in regards
to the location of configuration files.
2016-06-01 11:33:06 -04:00
Braydon Fuller
e8a35e2bb5 bitcoind: bug with getting block hash from address
Fixes an issue where passing an address as the blockArg would get the blockhash
for the parsed integer of the address. `parseInt` would parse the address as
an integer and then get the block hash for 1. A regular expression now checks
that the string is numeric with only 0-9 and the length is less than 40, the
size of a ripemd160, and also less than the length of a sha256 hash.
2016-05-26 10:15:42 -04:00
Braydon Fuller
f38fa1324f bitcoind: account for scriptPubKey.addresses not always being set 2016-05-25 17:14:22 -04:00
Braydon Fuller
2dddf01bb0 test: coverage for spawnChildProcess 2016-05-24 17:11:02 -04:00
Braydon Fuller
f76b206178 test: coverage for getBlockHeader 2016-05-24 16:39:22 -04:00
Braydon Fuller
0cb795d980 test: add bitcoind test for early shutdown while connecting 2016-05-24 16:22:41 -04:00
Braydon Fuller
86b1acd0be test: coverage for bitcoind getAddressUnspentOutputs 2016-05-24 14:06:03 -04:00
Braydon Fuller
3fef6f5ffc test: increase test coverage of bitcoind service 2016-05-24 13:07:51 -04:00
Braydon Fuller
0a95765e51 bitcoind: fix indentation 2016-05-23 16:48:17 -04:00
Braydon Fuller
28ff52ece6 tests: add tests for addresstxid event 2016-05-18 11:20:23 -04:00
Braydon Fuller
1800294dfe bitcoind: change dataformat of addresstxid event
Adds the address to the message to quickly determine the address
associated with the event.
2016-05-18 10:20:18 -04:00
Braydon Fuller
bf080422ed web: get remoteAddress for socket with cloudflare header 2016-05-18 00:17:45 -04:00
Braydon Fuller
57cb146ce0 build: fix jshint unused variable warnings 2016-05-17 23:03:04 -04:00
Braydon Fuller
4df9b5f6cf bitcoind: add addresstxid event 2016-05-17 22:46:38 -04:00
Braydon Fuller
a48bcaf900 web: added logging for web socket events 2016-05-17 18:16:56 -04:00
Braydon Fuller
fa6474e85f bitcoind: handle block height number as string 2016-05-16 18:01:12 -04:00
Braydon Fuller
484b707589 bitcoind: update jsdocs for getDetailedTransaction 2016-05-16 17:39:54 -04:00
Braydon Fuller
8f11a33834 test: add getBlockOverview unit tests and refactor 2016-05-16 17:34:40 -04:00
Braydon Fuller
cd4432652d main: remove transaction with populate methods
The methods populateInputs and populateSpentInfo are nolonger necessary or used
now that there is is getDetailedTransaction.
2016-05-13 18:52:12 -04:00
Braydon Fuller
8bddf4f0d6 bitcoind: add getDetailedTransaction method
Adds a new method getDetailedTransaction with a standard JavaScript object
with block information, address, amounts and fees. And removes the
getTransactionWithBlockInfo method since this new method is equivalent,
and will serialize over an API correctly.

Also includes a new method getBlockOverview to get the txids for a block,
that can be combined with getDetailedTransaction for viewing block
transactions with additional information.
2016-05-13 16:50:49 -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
791047c10d bitcoind: bump max tx history default to 50 2016-05-10 19:30:36 -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
36f337afb3 web: update jsdoc with enableSocketRPC option 2016-05-09 14:30:07 -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
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
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
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
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
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
7d878adcf0 bitcoind: immediately subscribe with connect option 2016-04-19 17:23:27 -04:00
Braydon Fuller
458fe2f2b6 bitcoind: emit block events while polling before subscribing to zmq events 2016-04-19 16:53:00 -04:00
Braydon Fuller
b092adcc21 bitcoind: subscribe to zmq events without interval if already synced 2016-04-19 16:40:54 -04:00
Braydon Fuller
2b38f08175 bitcoind: subscribe to zmq events once synced
prevents flooding tx and and block events that can cause issues
2016-04-19 16:00:17 -04:00
Braydon Fuller
2975f27a8d bitcoind: add uacomment option to default config 2016-04-18 18:34:54 -04:00
Braydon Fuller
feb8038da6 bitcoind: fix check reindex interval 2016-04-18 16:05:09 -04:00
Braydon Fuller
bf67b932de bitcoind: fix check reindex method not found 2016-04-18 15:52:35 -04:00
Braydon Fuller
afda35962b test: mempool helper method unit tests 2016-04-18 13:37:37 -04:00
Braydon Fuller
7c37eba91e test: unit tests for connect and spawn processes 2016-04-18 13:24:47 -04:00
Braydon Fuller
a4f5a6fa82 test: getblock unit tests 2016-04-18 10:37:33 -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
c2eda9b3c2 bitcoin: address history by height range 2016-04-12 20:51:58 -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
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
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
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
962e7b87f8 test: update regtest 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
7c6e5cf7b1 bitcoind: only cache transaction with height if confirmations >= 6 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
Jan Pochyla
b55ecf3044 clamp tx pagination to 0 2016-04-01 18:11:49 +02: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
Matias Alejo Garcia
1a68ca4fae add tests to _updateAddressIndex 2016-02-10 15:38:02 -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
Matias Alejo Garcia
dae5c9d3d5 fix regtests 2016-02-08 15:07:32 -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
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
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
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
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
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
Samuel Reed
3214390d4c
Fix #377; db must contain hash type, not just hash.
Prevents erroneous crediting of all transactions to both the
p2pkh and the corresponding p2sh address.
2016-01-11 09:47:00 -06:00
Patrick Nagurny
02620a5b47 Merge pull request #352 from braydonf/mem
Optimized address service mempool index size
2015-11-03 17:23:28 -05:00
Braydon Fuller
0ea035c4f0 Address: Fixed race condition with transaction event handlers 2015-11-03 17:12:13 -05:00
Braydon Fuller
378edd4186 Web: Changed to pass express subapp to services instead of the router. 2015-11-03 10:32:01 -05:00
Braydon Fuller
c5c8e21c6c Address: Fixed bug with isSpent confusion with prevTxId and txid 2015-11-03 10:26:32 -05:00
Braydon Fuller
a1bae366b3 Database: Removed runAllMempoolIndexes method
Replaced with using `tx` and `txleave` to manage the state of the mempool indexes.
2015-11-02 17:18:37 -05:00
Braydon Fuller
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
Rob Riddle
824e624929 Fix typos and some examples in service doc 2015-10-22 18:47:19 +03:00
Patrick Nagurny
9bdd9e7995 unconfirmed balance shouldn't include confirmed balance 2015-10-21 18:25:57 -04:00
Braydon Fuller
17b669c98f Add date to logs and formatting changes. 2015-10-21 14:47:35 -04:00
Braydon Fuller
1dec93edd4 bitcore -> bitcore-lib 2015-10-17 00:56:29 -04:00
Patrick Nagurny
236d44441e don't crash when sendTransaction is called with bad data 2015-10-14 10:50:50 -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
Braydon Fuller
d9b2a0969b Fixed bug with balance
There was a bug when getting unspent outputs that would include an output
that was spent in the mempool in addition to the new output with the change
address. This lead to a balance having an output counted twice towards the
end balance. The solution is to have the isSpent method for the address service
to also include if the output was spent in the mempool, as the isSpent
method exposed from bitcoind only includes if the output was spent in a block.
2015-10-12 09:29:49 -04:00
Patrick Nagurny
3e38d84d0b emit address/balance events for mempool transactions 2015-10-02 17:10:12 -04:00
Patrick Nagurny
9acb896f10 Wait for bitcoind to catch up if tip is not found 2015-10-02 13:35:42 -04:00
Braydon Fuller
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
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
Braydon Fuller
1183e0cae7 Service Documentation 2015-09-23 18:14:37 -04:00
Braydon Fuller
80fadc7ec3 Fix bug with address summary transaction count. 2015-09-21 17:02:11 -04:00
Chris Kleeschulte
d474d03cf2 Merge pull request #248 from braydonf/pubkeyout
Address compatibility with pay-to-publickey output scripts.
2015-09-21 14:39:42 -04:00
Braydon Fuller
7e82c933c0 Merge pull request #249 from kleetus/feature/getNextBlockHash
Next Block Hash Bindings
2015-09-21 14:30:30 -04:00
Chris Kleeschulte
402d01d7ac Next Block Hash Bindings
- Added bindings for next block hash
- Added the reg/unit tests
2015-09-21 14:07:14 -04:00
Braydon Fuller
e3096d3646 Address compatibility with pay-to-publickey output scripts. 2015-09-21 13:49:48 -04:00
Patrick Nagurny
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