Commit Graph

408 Commits

Author SHA1 Message Date
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
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
f4061037b6 Update name to Bitcore Node 2015-07-31 13:26:48 -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
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
725120a24e Add tests for event bus. 2015-07-29 17:53:48 -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
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
Patrick Nagurny
9108b0f695 rename methods to getAPIMethods 2015-07-23 15:34:36 -06: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
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
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
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
Braydon Fuller
b53fa3f6bb Added regtest for sendTransaction method. 2015-07-22 13:59:28 -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
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
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
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
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
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
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
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
dcaa6203e9 Add additional livenet tests and remove used param. 2015-07-16 10:02:27 -04:00
Braydon Fuller
801679df75 Add isSpent call 2015-07-16 10:01:41 -04:00
Braydon Fuller
be3044d3d3 Add tests and benchmarks for getTransaction 2015-07-15 16:00:48 -04:00
Braydon Fuller
b1aac02078 Fix example and formatting issue. 2015-07-09 12:55:53 -04:00
Braydon Fuller
f488f3ff62 Merge branch 'dynnode' into script 2015-07-09 12:51:17 -04:00
Braydon Fuller
ba42efe6f5 Dynamic bitcoindjs.node loading. 2015-07-09 12:50:09 -04:00
Chris Kleeschulte
36c9f44050 1. Changed build script libbitcoind to support debug builds as well as release builds
2. Added node binding.gyp build script
3. Adjust authors and removed unneeded npm modules
4. Removed unneeded polling of hook packets every 50ms in bitcoind.js
5. Removed hard-coded path to --prefix
2015-07-09 10:46:35 -04:00
Braydon Fuller
78c1d3dbb0 Added getBlock benchmarks 2015-07-07 20:28:48 -04:00
Braydon Fuller
618fcf65a9 Added onBlocksReady 2015-07-07 17:03:24 -04:00
k
e4b7f37805 cleaned up the project! 2015-07-02 14:59:14 -04:00
Chris Kleeschulte
2039e4c6dc Added some fixes for the bindings.gyp file. 2015-06-26 16:03:43 -04:00
Chris Kleeschulte
5e95650736 Removed the wallet stuff and moved the header includes into the main header file. 2015-06-11 08:34:38 -04:00
Chris Kleeschulte
4e0939ca3c Made the bindings work with node v0.12. There was A LOT of api breakages in node and v8 since! 2015-06-08 17:18:06 -04:00
Christopher Jeffrey
b1ae73848c add naive getFromTx for insight. 2014-12-16 14:41:00 -08:00
Christopher Jeffrey
908a415e50 always return array on stopping. 2014-12-12 15:43:35 -08:00
Christopher Jeffrey
4a5ae622d1 make use of getBlockByTx caching. 2014-12-12 15:35:43 -08:00
Christopher Jeffrey
00777ef855 Revert "try doing this from c++ again."
This reverts commit 21037a2a74.
2014-12-12 15:29:52 -08:00
Christopher Jeffrey
21037a2a74 try doing this from c++ again. 2014-12-12 15:29:41 -08:00
Christopher Jeffrey
6229c5cf9b Revert "try the shutting down check in c++." - does not work.
This reverts commit bf6b4d9b60.
2014-12-12 11:39:57 -08:00
Christopher Jeffrey
bf6b4d9b60 try the shutting down check in c++. 2014-12-12 11:36:38 -08:00
Christopher Jeffrey
f552121fb2 fix segfault on exit. 2014-12-12 11:00:24 -08:00
Christopher Jeffrey
70d19eb6d6 fix getBlockByTx. 2014-12-10 16:28:35 -08:00
Christopher Jeffrey
0508bc54d8 disable -txindex. 2014-12-10 16:23:28 -08:00
Christopher Jeffrey
f160d36624 use txindex from now on. 2014-12-10 11:05:15 -08:00
Christopher Jeffrey
b4a96d709e cleanup getTx. 2014-12-09 10:02:34 -08:00
Christopher Jeffrey
add618c1e5 check block-tx cache from db. 2014-12-09 09:50:15 -08:00
Christopher Jeffrey
fbbc8f5fb2 return tx on sign tx. 2014-12-09 09:46:40 -08:00
Christopher Jeffrey
7ce053ab05 add getTransactionWithBlock. 2014-12-08 14:37:51 -08:00
Christopher Jeffrey
f6758c0e6f cache block by tx. 2014-12-08 14:16:19 -08:00
Christopher Jeffrey
da82924717 disable txindex for now. 2014-12-08 14:04:27 -08:00
Christopher Jeffrey
7e5c6a7dac use txindex by default. 2014-12-08 13:50:21 -08:00
Christopher Jeffrey
eeec6573ae remove traverse arg. 2014-12-08 13:38:46 -08:00
Christopher Jeffrey
c4f204dfa8 no db caching for now. 2014-12-08 13:19:22 -08:00
Christopher Jeffrey
83048eef33 add get_tx_ldb. 2014-12-08 13:07:12 -08:00
Christopher Jeffrey
e1bb7bb666 fix getTx traverse. 2014-12-08 12:45:11 -08:00
Christopher Jeffrey
0b07a7839b refactor lib/bitcoind.js. 2014-12-08 12:33:59 -08:00
Christopher Jeffrey
d37be97ad9 attempt to use tx block caching again. 2014-12-08 11:34:20 -08:00
Christopher Jeffrey
fab1f4512b database improvements. record blockhash. 2014-12-08 11:30:06 -08:00
Christopher Jeffrey
aeb454b52c misc fixes. 2014-12-08 10:00:53 -08:00
Christopher Jeffrey
6c8b08e697 add getlastfileindex - probably not necessary. 2014-12-04 11:21:10 -08:00
Christopher Jeffrey
3427124270 update bitcoind.js for insight. 2014-12-04 11:12:29 -08:00
Christopher Jeffrey
d265cdbd3f use blocktime to optimize. 2014-12-03 21:17:44 -08:00
Christopher Jeffrey
dd2abe4b59 fix dissonance between height and index. 2014-12-03 21:04:05 -08:00
Christopher Jeffrey
4b2313d85f getblockbytime 2014-12-03 12:46:48 -08:00
Christopher Jeffrey
9ce652ff09 get block by txid. 2014-12-03 12:14:23 -08:00
Christopher Jeffrey
81c59966fa consistent naming. 2014-12-03 10:57:56 -08:00
Christopher Jeffrey
bb611d3e38 remove unused props. 2014-12-02 03:47:39 -08:00
Christopher Jeffrey
b474a0a051 add chainHeight property. 2014-12-02 03:38:37 -08:00
Christopher Jeffrey
b0adee24d9 remove useless variable. 2014-12-02 03:13:41 -08:00
Christopher Jeffrey
04036146cb dont bother with timestamp on caching. 2014-12-02 03:09:30 -08:00
Christopher Jeffrey
bf80830811 fix typo. 2014-12-02 02:59:37 -08:00
Christopher Jeffrey
aa782e0ee0 silence tiny on testnet. 2014-12-02 02:55:57 -08:00
Christopher Jeffrey
f3ea892b82 fix typo. 2014-12-01 23:29:02 -08:00
Christopher Jeffrey
774f08c91f use tiny to cache addresses and start where we left off. 2014-12-01 22:30:05 -08:00
Christopher Jeffrey
0335a128b8 fix workaround for addtxes. 2014-11-19 16:06:21 -08:00
Christopher Jeffrey
7767bdd828 fix bad return for addr txs. 2014-11-19 15:56:14 -08:00
Christopher Jeffrey
e11389bb54 force cached addrs to be async. 2014-11-18 17:14:18 -08:00
Christopher Jeffrey
c988172dc4 unref garbage collector. 2014-11-18 16:57:04 -08:00
Christopher Jeffrey
0be9143e32 use other method for obtaining addr txs. cache them. 2014-11-18 16:55:24 -08:00
Christopher Jeffrey
0c19633da9 create addresses object. 2014-11-18 16:31:51 -08:00
Christopher Jeffrey
d8701332c0 fix tx properties. 2014-11-18 15:38:44 -08:00
Christopher Jeffrey
b668cfbb0a add addrFlag. 2014-11-18 14:13:47 -08:00
Christopher Jeffrey
513a7ae746 add rescan blockchain. 2014-11-17 16:42:08 -08:00
Christopher Jeffrey
df62ac4e22 add global property to Bitcoin prototype. 2014-11-17 14:19:46 -08:00
Christopher Jeffrey
a4e4b35c8d remove log pipe. 2014-11-17 13:09:05 -08:00
Christopher Jeffrey
f647de9a32 comments. remove async packet parsing. 2014-11-17 13:07:15 -08:00
Christopher Jeffrey
7aaf4dce94 allow wallet transactions to lookup their real counterparts. 2014-11-13 16:46:05 -08:00
Christopher Jeffrey
a9a5f7c4ad do not convert wallet txs for now. 2014-11-13 15:50:27 -08:00
Christopher Jeffrey
6d994454d5 always include hex in wallet transactions. convert to regular transactions. 2014-11-13 15:45:55 -08:00
Christopher Jeffrey
f19bd33fe3 remove todos. implement WalletGetTransaction. 2014-11-13 15:28:42 -08:00
Christopher Jeffrey
a9b9846aed start making hookPackets async. 2014-11-12 15:41:05 -08:00
Christopher Jeffrey
10aef46050 default datadir=.bitcoind.js 2014-11-11 13:36:08 -08:00
Christopher Jeffrey
f83be008f3 allow hardcoded peers. 2014-11-11 13:27:36 -08:00
Christopher Jeffrey
317ff8a6bd allow callback in importKey. 2014-11-11 11:47:40 -08:00
Christopher Jeffrey
89ea984344 get rid of IS_EMPTY. add WalletIsMine(). 2014-11-11 11:02:21 -08:00
Christopher Jeffrey
eac667e103 reorganize sendto/from/move. 2014-11-10 16:04:34 -08:00
Christopher Jeffrey
f8efdb105e add GetBestBlock(). 2014-11-06 13:37:15 -08:00
Christopher Jeffrey
1654923f12 fixes. 2014-11-05 17:27:51 -08:00
Christopher Jeffrey
da496dcbc7 getBlockHeight. getAddrTransactions. 2014-11-04 16:41:42 -08:00
Christopher Jeffrey
a02a672a22 add walletmove. fix callbacks. 2014-11-03 17:00:21 -08:00
Christopher Jeffrey
46c07a98d6 fix dumpKey call. 2014-10-30 16:38:58 -07:00
Christopher Jeffrey
997d01ffa4 method rename. 2014-10-30 15:09:58 -07:00
Christopher Jeffrey
9cd8bd9ee5 rename methods. 2014-10-30 15:07:29 -07:00
Christopher Jeffrey
c69c3c258d rename methods. 2014-10-30 14:43:36 -07:00
Christopher Jeffrey
20301e4f4f fix build errors. improve GetRecipients(). 2014-10-30 14:42:16 -07:00
Christopher Jeffrey
ecf1229a3e add set, remove, and get recipient. 2014-10-30 14:34:50 -07:00
Christopher Jeffrey
1dbd16663d try adding getRecipients. fix progress. 2014-10-30 14:12:27 -07:00
Christopher Jeffrey
8e09b40257 add silent option. 2014-10-29 16:01:54 -07:00
Christopher Jeffrey
98465d61e8 fix isEncrypted. 2014-10-29 12:56:39 -07:00
Christopher Jeffrey
73bc0083b8 refactor dumpprivkey. 2014-10-28 16:40:37 -07:00
Christopher Jeffrey
0ea619ff15 add received by address. 2014-10-28 15:40:36 -07:00
Christopher Jeffrey
f5b3d45b5c implement change label and delete account. 2014-10-28 15:22:46 -07:00
Christopher Jeffrey
b40e5a15ea implement GetMiningInfo() method. 2014-10-28 14:16:33 -07:00
Christopher Jeffrey
152c235d87 add get and set generate. 2014-10-28 14:09:55 -07:00
Christopher Jeffrey
349027d4b1 add dump and import wallet methods. 2014-10-28 13:57:06 -07:00
Christopher Jeffrey
50bcaf2918 add GetProgess() method. 2014-10-28 13:01:40 -07:00
Christopher Jeffrey
15ebf5253e add keypoolrefill method. 2014-10-28 11:52:03 -07:00
Christopher Jeffrey
b754237618 implement dumpprivkey. 2014-10-28 11:41:37 -07:00
Christopher Jeffrey
665a87f680 allow to check whether wallet is encrypted. 2014-10-28 11:29:33 -07:00
Christopher Jeffrey
f8fccb8eaf fix parsed again. emit digest. 2014-10-27 14:58:03 -07:00
Christopher Jeffrey
effda10901 emit parsed properly. 2014-10-27 14:55:48 -07:00
Christopher Jeffrey
5d8332c710 convenience for fromHex. 2014-10-23 16:22:39 -07:00
Christopher Jeffrey
090eb9ab42 remove packet polling code. 2014-10-23 13:13:20 -07:00
Christopher Jeffrey
7977247b79 packet events. 2014-10-23 13:07:40 -07:00
Christopher Jeffrey
bbc18ee764 stop polling for events. 2014-10-23 12:44:05 -07:00
Christopher Jeffrey
7190fc21aa improve packet polling. 2014-10-23 11:46:42 -07:00
Christopher Jeffrey
677df7f787 more packet polling. 2014-10-21 18:51:05 -07:00
Christopher Jeffrey
2fc11cb8e3 packet polling still working. 2014-10-21 18:20:27 -07:00
Christopher Jeffrey
19a7c07c60 first working packet listener. 2014-10-21 18:06:17 -07:00
Christopher Jeffrey
4211499b0e garbage collection. 2014-10-20 08:53:54 -07:00
Christopher Jeffrey
f0ebef4e8c add GetAddresses(). add "addr" event. 2014-10-17 16:12:57 -07:00
Christopher Jeffrey
6fadefe761 add "peer" and "version" event. 2014-10-17 14:23:19 -07:00
Christopher Jeffrey
965d419801 add GetPeerInfo(). fix GetInfo(). 2014-10-17 13:47:56 -07:00
Christopher Jeffrey
2ab5f33053 add GetInfo(). 2014-10-17 13:26:27 -07:00
Christopher Jeffrey
76f2d147a6 disable multiple instantiations. 2014-10-17 12:54:58 -07:00
Christopher Jeffrey
a09c735a9b datadir fixes. wait for wallet to load. 2014-10-16 15:14:44 -07:00
Christopher Jeffrey
ef0bfa14eb add custom datadir option. 2014-10-16 13:54:44 -07:00
Christopher Jeffrey
e2ad9320ff improve start_node and example. 2014-10-15 16:38:10 -07:00
Christopher Jeffrey
2577fa0229 minor changes. 2014-10-06 08:10:23 -07:00
Christopher Jeffrey
1eafe41bab add fromhex methods. 2014-10-03 18:29:29 -07:00
Christopher Jeffrey
41fe58077b tests passed. remove javascript conversions. 2014-10-03 17:59:46 -07:00
Christopher Jeffrey
106ff37179 work. try to get tx hashes working. 2014-10-03 16:39:26 -07:00
Christopher Jeffrey
b69ef31007 start testing hashes and hex. major changes/fixes. 2014-10-03 14:21:37 -07:00
Christopher Jeffrey
bb83e2ef6e start using proper conversions again for txs and blocks. 2014-10-03 11:23:04 -07:00
Christopher Jeffrey
e25ba1c85c fix tx.hash. 2014-10-02 20:18:37 -07:00
Christopher Jeffrey
bf75025a3a add importprivkey. 2014-10-01 16:01:34 -07:00
Christopher Jeffrey
788fe1c363 add wallet.getbalance. 2014-10-01 13:37:18 -07:00
Christopher Jeffrey
932d0fd1a0 fix block polling and emitting blocks. 2014-10-01 12:05:18 -07:00
Christopher Jeffrey
ab4264b74c use linked list. 2014-10-01 11:03:27 -07:00
Christopher Jeffrey
70edf28235 attempt to use function hooks. 2014-09-30 15:53:13 -07:00
Christopher Jeffrey
057ab4da03 queue up signal handlers so they do not get overwritten. 2014-09-30 15:16:48 -07:00
Christopher Jeffrey
ad5ae36a2f remove useless methods. 2014-09-30 15:03:33 -07:00
Christopher Jeffrey
cd02cde953 comments. 2014-09-29 16:55:04 -07:00
Christopher Jeffrey
59ec8c54a2 make it impossible to "impersonate" blocks and txs. 2014-09-29 16:54:21 -07:00
Christopher Jeffrey
e65b7e8da3 fillTransaction: allow destination output choice. 2014-09-29 16:46:26 -07:00
Christopher Jeffrey
351d1ebd83 add merkle tree building. fix filltx. 2014-09-29 16:06:49 -07:00