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
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
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
Braydon Fuller
9ab989a68a
Remove aliases for commands
2015-10-20 17:09:28 -04:00
Braydon Fuller
95bd5913b8
Clear warnings with bitcore create command.
2015-10-20 16:48:51 -04:00
Braydon Fuller
83058eae26
Only use local install if config file exists.
2015-10-20 14:56:09 -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
Rob Riddle
e9290d3cdc
Use bitcore-lib in node package creation
2015-10-19 15:43:51 +03: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
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
Braydon Fuller
4c674a8fbb
Add binding for getting transaction output set information.
2015-09-17 17:52:23 -04:00
Chris Kleeschulte
0ba168e2a2
Fixed typo and added a test to prove that the inputs from the mempoolInputIndex are added on stream close.
2015-09-17 17:20:35 -04:00
Chris Kleeschulte
c3654120ee
MempoolInputIndex and MempoolOutputIndex
...
- Added in memory indexes for mempool input and
output by address.
2015-09-17 14:29:11 -04:00
Braydon Fuller
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
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
Chris Kleeschulte
a105c0a35e
Removed errors memoization.
2015-09-16 10:38:08 -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
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
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
5fbd8991ed
Address History: Combine addresses so that history is txid unique.
2015-09-14 21:04:54 -04:00
Braydon Fuller
e7587564a7
Address History: Add getAddressHistoryCount to available API methods.
2015-09-14 17:29:43 -04:00
Braydon Fuller
b1b40c892e
Address History: Add getAddressHistoryCount method
2015-09-14 16:48:28 -04:00
Braydon Fuller
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
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
Patrick Nagurny
c4d28c3947
wait for db operations to complete before closing leveldb
2015-09-10 12:45:00 -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
Patrick Nagurny
4682714c69
check for blockHandler on services
2015-09-09 15:04:07 -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
Patrick Nagurny
0ff742c1b6
add isMainChain method
2015-09-08 17:38:59 -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
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
Chris Kleeschulte
79d4abcc64
Removed the setImmediate after conflict resolution.
2015-09-02 10:51:31 -04:00
Chris Kleeschulte
0ac83098e9
Removed setImmediates from bitcoind.js.
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
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
96fa0920a4
Add unit tests for start.
2015-09-01 12:47:15 -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
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
56ebf42403
Move Modules from DB to Node
2015-08-27 19:02:33 -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
Braydon Fuller
81b2d2f2a3
Added tests for start command.
2015-08-25 13:57:54 -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
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
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
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
efdf38d5c2
don't call store.close() due to issues
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
Patrick Nagurny
2dc79efc0d
make 0 confirmations work
2015-08-19 15:10:26 -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
Patrick Nagurny
43ec2d3b34
add more tests
2015-08-17 14:27:46 -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
Braydon Fuller
52cc91e1d7
Merge pull request #113 from kleetus/txindex_message
...
Blockchain state
2015-08-12 21:21:30 -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
8115d92de9
Removed verifyScript and related methods that we don't currently use.
2015-08-12 12:38:33 -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
7a539a26ff
added additional message.
2015-08-11 09:45:38 -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
50981b713a
Speed up syncing by delaying saving metadata every 30 seconds.
2015-08-06 17:53:10 -04:00
Patrick Nagurny
c2b062f535
fix uncaught exception handling
2015-08-06 17:14:14 -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
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