Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
7e70bbf
bitcoind: bitcoind service using rpc and zmq with address index
braydonf Mar 16, 2016
b69d848
bitcoind: add lru caching for results
braydonf Mar 25, 2016
af573b7
bitcoind: fix txid pagination
braydonf Mar 25, 2016
7d7dfe3
bitcoind: variable name fixes
braydonf Mar 31, 2016
ab70aa6
bitcoind: add address utxos
braydonf Apr 5, 2016
60333bc
bitcoind: add mempool to address txid results
braydonf Apr 5, 2016
b473b65
bitcoind: fix tx event to include tx buffer
braydonf Apr 5, 2016
9409374
bitcoind: fix multiple addresses for address history
braydonf Apr 5, 2016
5932b34
bitcoind: set height when starting
braydonf Apr 6, 2016
0f24dd5
config: update configuration options for exec path
braydonf Apr 6, 2016
1831026
node: log intro with config path
braydonf Apr 7, 2016
7c6e5cf
bitcoind: only cache transaction with height if confirmations >= 6
braydonf Apr 7, 2016
c116353
build: start of install script
braydonf Apr 7, 2016
31da32e
test: updated p2p integration test
braydonf Apr 7, 2016
c4649c9
test: mark last zmq block before rpc calls
braydonf Apr 7, 2016
1fb552a
build: download bitcoin binary distribution
braydonf Apr 7, 2016
7c344b5
build: updates for npm install
braydonf Apr 7, 2016
67b8ec2
build: update travis with zmq
braydonf Apr 7, 2016
962e7b8
test: update regtest
braydonf Apr 7, 2016
88a8271
test: moved integration -> regtest
braydonf Apr 8, 2016
3ead592
test: update titles and docs for regtests
braydonf Apr 8, 2016
82232c0
bitcoind: wrap rpc errors as instances of error
braydonf Apr 8, 2016
8887273
bitcoind: add missing api methods to export
braydonf Apr 8, 2016
4662ca0
bitcoind: update jsdocs and cleanup
braydonf Apr 8, 2016
9bf6941
test: update node regtest
braydonf Apr 8, 2016
fd427fa
test: increase timeout and remove new lines
braydonf Apr 8, 2016
1013ad3
build: upgrade chai and mocha
braydonf Apr 8, 2016
d11d030
bitcoind: spawn in default configs
braydonf Apr 8, 2016
b4b560a
bitcoind: get blocks and transactions as buffers
braydonf Apr 8, 2016
3713c6a
bitcoind: sendTransaction second arg as object
braydonf Apr 8, 2016
90e3540
bitcoind: increase reindex interval to 10s
braydonf Apr 8, 2016
f3f2f59
node: add getNetworkName method
braydonf Apr 8, 2016
8102761
bitcoind: normalize address arguments
braydonf Apr 8, 2016
dbcb70f
transaction: update getTransaction arguments
braydonf Apr 8, 2016
d7f49cc
test: add regtest for multiple bitcoind connections
braydonf Apr 9, 2016
5bea36e
bitcoind: try querying all bitcoind nodes
braydonf Apr 11, 2016
019626b
bitcoind: prevent rapid tip updates for all networks
braydonf Apr 11, 2016
d0937fe
bitcoind: try to get transaction from all bitcoind nodes
braydonf Apr 11, 2016
52f05f3
bitcoind: emit block events
braydonf Apr 11, 2016
b757bd3
docs: update docs for bitcoind with address indexes
braydonf Apr 11, 2016
37f31fd
bitcoind: added getspentinfo method
braydonf Apr 12, 2016
cdfe572
bitcoind: include height in spentinfo
braydonf Apr 12, 2016
c36b077
bitcoind: add checkstate for spentindex
braydonf Apr 12, 2016
0425764
build: bump bitcoin build tag to v0.12.0-bitcore-beta2
braydonf Apr 12, 2016
1d358a6
test: update pagination test
braydonf Apr 12, 2016
c2eda9b
bitcoin: address history by height range
braydonf Apr 12, 2016
848dc29
docs: update get balance method
braydonf Apr 13, 2016
890b387
test: update unit tests, refactoring and cleanup
braydonf Apr 13, 2016
69ff542
bitcoind: rename exported events to rawtransaction and hashblock
braydonf Apr 15, 2016
24ca5ce
web: option to enable/disable socket rpc handling
braydonf Apr 15, 2016
bb726ba
test: bitcoind getaddressbalance unit test
braydonf Apr 15, 2016
dab49ae
docs: various updates
braydonf Apr 15, 2016
552abf7
docs: symlink docs/index.md -> README.md
braydonf Apr 15, 2016
a4f5a6f
test: getblock unit tests
braydonf Apr 18, 2016
8fd405e
test: getBlockHeader unit tests
braydonf Apr 18, 2016
317fdbb
test: bitcoind _getAddressStrings unit tests
braydonf Apr 18, 2016
e09cc3d
test: bitcoind start unit tests
braydonf Apr 18, 2016
7c37eba
test: unit tests for connect and spawn processes
braydonf Apr 18, 2016
afda359
test: mempool helper method unit tests
braydonf Apr 18, 2016
c8ba4ea
test: remove outdated regtest
braydonf Apr 18, 2016
3fed348
docs: update development guide
braydonf Apr 18, 2016
bf67b93
bitcoind: fix check reindex method not found
braydonf Apr 18, 2016
feb8038
bitcoind: fix check reindex interval
braydonf Apr 18, 2016
033a623
docs: include upgrade notes for bitcore 3 -> 4
braydonf Apr 18, 2016
2975f27
bitcoind: add uacomment option to default config
braydonf Apr 18, 2016
7dabd8c
docs: correct development environment docs
braydonf Apr 19, 2016
2b38f08
bitcoind: subscribe to zmq events once synced
braydonf Apr 19, 2016
b092adc
bitcoind: subscribe to zmq events without interval if already synced
braydonf Apr 19, 2016
458fe2f
bitcoind: emit block events while polling before subscribing to zmq e…
braydonf Apr 19, 2016
7d878ad
bitcoind: immediately subscribe with connect option
braydonf Apr 19, 2016
40e7b24
test: fix unstubbed uncaughException
braydonf Apr 20, 2016
c3dab07
bitcoind: fix clearInterval issue with Node.js 0.12
braydonf Apr 20, 2016
019bc2a
bitcoind: load network bitcoin.conf and set defaults
braydonf Apr 20, 2016
3e2492e
scaffold: detect incompatible config
braydonf Apr 20, 2016
2015514
test: increase timeout for check synced test
braydonf Apr 20, 2016
587602d
bitcoind: stop failsafe timeout
braydonf Apr 20, 2016
d1cf9de
bitcoind: parse ints for pagination
braydonf Apr 20, 2016
b901e10
bitcoind: update unspentoutputs with mempool
braydonf Apr 21, 2016
0272b17
test: fix regtest amount check
braydonf Apr 21, 2016
7f17dd4
bitcoind: fixed issue with cache mempool updates
braydonf Apr 22, 2016
5e66001
test: add unit test for getaddressunspentoutputs with mempool
braydonf Apr 22, 2016
c6e543c
bitcoind: fix noTxList caching issue
braydonf Apr 22, 2016
c63e98f
bitcoind: limit tx history range
braydonf Apr 22, 2016
a61f43a
build: upgrade socket.io
braydonf Apr 22, 2016
3f34fb6
bitcoind: always log errors emitted instead of being uncaught exceptions
braydonf Apr 25, 2016
944c44e
bitcoind: return selected set of info for getinfo
braydonf Apr 25, 2016
76eeba5
build: verify bitcoin download
braydonf Apr 25, 2016
9e0e9a2
build: include environment variables for downloading bitcoin
braydonf Apr 25, 2016
d958e83
build: add support for nodejs 0.10
braydonf Apr 25, 2016
d28f856
bitcoind: handle unexpected process exits
braydonf Apr 26, 2016
c1e9d5a
test: added tests for stopSpawnedBitcoin
braydonf Apr 26, 2016
92bae5f
general: code cleanup, refactoring and formatting
Apr 27, 2016
271dcd8
build: add jshint to scripts and ci build
Apr 27, 2016
ea792b6
scaffold: remove outdated logging of db service sync status
Apr 27, 2016
24d1bc8
logger: added option to disable formatting
Apr 27, 2016
d969ad7
build: include bitcoind in package.json bin
Apr 27, 2016
c22f650
bitcoind: reduce duplicate tx messages
Apr 28, 2016
2e912af
bitcoind: subscribe to zmq event closer to 100% sync
Apr 28, 2016
b029089
bitcoind: handle empty input from pid file
Apr 28, 2016
c9154d4
docs: bump disk prereq to 200GB
May 9, 2016
abfb07f
build: update bitcoind-rpc commit
May 9, 2016
7be7a7d
scaffold: update error message to be more accurate
May 9, 2016
36f337a
web: update jsdoc with enableSocketRPC option
May 9, 2016
27112fc
docs: make note about libzmq-dev
May 9, 2016
d9d50c1
docs: update prereqs in readme
May 9, 2016
e24a9c9
build: update bitcoind links to bitpay/bitcoin bitcore-rc1 release
May 9, 2016
0387c1a
test: increase timeout for cluster test and decrease keypool
May 10, 2016
75c4355
bitcoind: paginate txids in address summary
May 10, 2016
85a0c16
test: fixes for bitcoind regtest
May 10, 2016
26c87ea
test: check height from tip event in cluster regtest
May 10, 2016
f6bbe54
test: bitcoind chainwork test
May 10, 2016
8b0d16d
test: check callcount for retry in bitcoind spawn child method
May 10, 2016
791047c
bitcoind: bump max tx history default to 50
May 10, 2016
cceb418
test: bump timeout in bitcoind after/before
May 10, 2016
4757edc
test: add missing property checks
May 10, 2016
d399e9a
bitcoind: camelCase getInfo results
May 11, 2016
b597a05
bitcoind: camelCase result from getBlockHeader
May 11, 2016
ae91ff2
bitcoind: update jsdocs for getBlockHeader
May 11, 2016
98bfd35
build: update bitcoind-rpc with work limit exceeded handling
May 11, 2016
17e7a7e
build: bitcoind-rpc with explicit work limit exceeded handling
May 11, 2016
950a9d5
docs: make note about sorting of blockhashes
May 11, 2016
8bddf4f
bitcoind: add getDetailedTransaction method
May 12, 2016
cd44326
main: remove transaction with populate methods
May 13, 2016
2cc06cc
build: update bitcoind release to include mempool spentindex
May 16, 2016
64ed440
docs: update docs to reflect api changes
May 16, 2016
8f11a33
test: add getBlockOverview unit tests and refactor
May 16, 2016
484b707
bitcoind: update jsdocs for getDetailedTransaction
May 16, 2016
fa6474e
bitcoind: handle block height number as string
May 16, 2016
a48bcaf
web: added logging for web socket events
May 17, 2016
4df9b5f
bitcoind: add addresstxid event
May 18, 2016
57cb146
build: fix jshint unused variable warnings
May 18, 2016
bf08042
web: get remoteAddress for socket with cloudflare header
May 18, 2016
522c822
test: use callback instead of ready event
May 18, 2016
6fbadb6
test: stub logging in unit tests
May 18, 2016
1800294
bitcoind: change dataformat of addresstxid event
May 18, 2016
28ff52e
tests: add tests for addresstxid event
May 18, 2016
8388091
docs: add documentation for addresstxid event
May 18, 2016
73197fd
build: update url to download bitcoin-0.12-bitcore-rc3
May 19, 2016
cd9bbc8
scaffold: expanded v2 config checks
braydonf May 23, 2016
4001a41
docs: add additional node about reindexing
braydonf May 23, 2016
bce64d8
scaffold: upgrade message formatting
braydonf May 23, 2016
584dd2c
test: add unit test for node getNetworkName
braydonf May 23, 2016
202971e
test: increase test coverage for bitcoind
braydonf May 23, 2016
a4888e5
test: increase test coverage for lib/node.js
braydonf May 23, 2016
85a302e
test: unit tests for zmq socket setup
braydonf May 23, 2016
f1a9f6d
test: stub logging in bitcoind tests
braydonf May 23, 2016
2a53aad
test: add test for respawn bitcoind
braydonf May 23, 2016
ea3c813
test: check that caching is working
braydonf May 23, 2016
0a95765
bitcoind: fix indentation
braydonf May 23, 2016
35a1b6d
test: more coverage for bitcoind service
braydonf May 24, 2016
3fef6f5
test: increase test coverage of bitcoind service
braydonf May 24, 2016
9c90f05
test: more coverage for bitcoind
braydonf May 24, 2016
4d1b853
test: increase timeout for before all in node address regtest
braydonf May 24, 2016
86b1acd
test: coverage for bitcoind getAddressUnspentOutputs
braydonf May 24, 2016
0c820c5
test: unit tests for bitcoind address details
braydonf May 24, 2016
8d7d78a
build: run coveralls for unit test coverage
braydonf May 24, 2016
52cf300
test: coverage for bitcoind getAddressSummary
braydonf May 24, 2016
0cb795d
test: add bitcoind test for early shutdown while connecting
braydonf May 24, 2016
1d9b89f
test: coverage for getAddressHistory
braydonf May 24, 2016
f76b206
test: coverage for getBlockHeader
braydonf May 24, 2016
2dddf01
test: coverage for spawnChildProcess
braydonf May 24, 2016
88c15f6
scaffold: remove no longer needed '-dev' version handling
braydonf May 24, 2016
f38fa13
bitcoind: account for scriptPubKey.addresses not always being set
braydonf May 25, 2016
c7ec2dc
test: bitcoind test for undefined scriptPubKey.addresses
braydonf May 26, 2016
e8a35e2
bitcoind: bug with getting block hash from address
braydonf May 26, 2016
aa7f0d7
test: remove duplicated test
braydonf May 26, 2016
47e3cf7
build: update download of bitcoind to tag v0.12-bitcore
braydonf May 27, 2016
29b59c6
build: update bitcoind-rpc to version 0.6.0
braydonf May 27, 2016
6df9387
docs: update release process
braydonf May 27, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .coveralls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
repo_token: DvrDb09a8vhPlVf6DT4cGBjcFOi6DfZN1
14 changes: 5 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
node_modules/
node_modules/*
coverage/*
out/
out/*
build/
build/*
.lock-wscript
Makefile.gyp
*.swp
*.Makefile
*.target.gyp.mk
Expand All @@ -19,15 +14,16 @@ Makefile.gyp
*.filters
*.user
*.project
test.js
**/*.dylib
**/*.so
**/*.old
**/*.files
**/*.config
**/*.creator
libbitcoind
libbitcoind*
libbitcoind.includes
*.log
.DS_Store
bin/bitcoin*
bin/SHA256SUMS.asc
regtest/data/node1/regtest
regtest/data/node2/regtest
regtest/data/node3/regtest
16 changes: 8 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
sudo: false
language: node_js
env:
- BITCORENODE_ENV=test BITCORENODE_ASSUME_YES=true CXX=g++-4.8 CC=gcc-4.8
- CXX=g++-4.8 CC=gcc-4.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- gcc-4.8
- libzmq3-dev
node_js:
- "v0.10.25"
- "v0.12.7"
- "v4"
script:
- _mocha -R spec integration/regtest.js
- _mocha -R spec integration/regtest-node.js
- _mocha -R spec integration/p2p.js
- _mocha -R spec --recursive
cache:
directories:
- cache
- npm run regtest
- npm run test
- npm run jshint
after_success:
- npm run coveralls
1 change: 0 additions & 1 deletion PATCH_VERSION

This file was deleted.

27 changes: 9 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Bitcore Node
============

A Bitcoin full node for building applications and services with Node.js. A node is extensible and can be configured to run additional services. At the minimum a node has native bindings to Bitcoin Core with the [Bitcoin Service](docs/services/bitcoind.md). Additional services can be enabled to make a node more useful such as exposing new APIs, adding new indexes for addresses with the [Address Service](docs/services/address.md), running a block explorer, wallet service, and other customizations.
A Bitcoin full node for building applications and services with Node.js. A node is extensible and can be configured to run additional services. At the minimum a node has an interface to [Bitcoin Core with additional indexing](https://github.com/bitpay/bitcoin/tree/0.12-bitcore) for more advanced address queries. Additional services can be enabled to make a node more useful such as exposing new APIs, running a block explorer and wallet service.

## Install

Expand All @@ -10,14 +10,15 @@ npm install -g bitcore-node
bitcore-node start
```

Note: For your convenience, we distribute binaries for x86_64 Linux and x86_64 Mac OS X. Upon npm install, the binaries for your platform will be downloaded. For more detailed installation instructions, or if you want to compile the project yourself, then please see the [Build & Install](docs/build.md) documentation to build the project from source.
Note: For your convenience, we distribute bitcoind binaries for x86_64 Linux and x86_64 Mac OS X. Upon npm install, the binaries for your platform will be downloaded. For more detailed installation instructions, or if you want to compile the project yourself, then please see the Bitcore branch of [Bitcoin Core with additional indexing](https://github.com/bitpay/bitcoin/tree/0.12-bitcore).

## Prerequisites

- Node.js v0.12 or v4.2
- ~100GB of disk storage
- GNU/Linux x86_32/x86_64, or OSX 64bit *(for bitcoind distributed binaries)*
- Node.js v0.10, v0.12 or v4
- ZeroMQ *(libzmq3-dev for Ubuntu/Debian or zeromq on OSX)*
- ~200GB of disk storage
- ~4GB of RAM
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when all is sync'ed and indexed, the final size of just the data directory was 149GB. I would bump this to 200GB.

- Mac OS X >= 10.9, Ubuntu >= 12.04 (libc >= 2.15 and libstdc++ >= 6.0.16)

## Configuration

Expand All @@ -32,12 +33,6 @@ bitcore-node install https://github.com/yourname/helloworld

This will create a directory with configuration files for your node and install the necessary dependencies. For more information about (and developing) services, please see the [Service Documentation](docs/services.md).

To start bitcore-node as a daemon:

```bash
bitcore-node start --daemon
```

## Add-on Services

There are several add-on services available to extend the functionality of Bitcore:
Expand All @@ -48,17 +43,13 @@ There are several add-on services available to extend the functionality of Bitco

## Documentation

- [Upgrade Notes](docs/upgrade.md)
- [Services](docs/services.md)
- [Bitcoind](docs/services/bitcoind.md) - Native bindings to Bitcoin Core
- [Database](docs/services/db.md) - The foundation API methods for getting information about blocks and transactions.
- [Address](docs/services/address.md) - Adds additional API methods for querying and subscribing to events with bitcoin addresses.
- [Bitcoind](docs/services/bitcoind.md) - Interface to Bitcoin Core
- [Web](docs/services/web.md) - Creates an express application over which services can expose their web/API content
- [Build & Install](docs/build.md) - How to build and install from source
- [Testing & Development](docs/testing.md) - Developer guide for testing
- [Development Environment](docs/development.md) - Guide for setting up a development environment
- [Node](docs/node.md) - Details on the node constructor
- [Bus](docs/bus.md) - Overview of the event bus constructor
- [Errors](docs/errors.md) - Reference for error handling and types
- [Patch](docs/patch.md) - Information about the patch applied to Bitcoin Core
- [Release Process](docs/release.md) - Information about verifying a release and the release process.

## Contributing
Expand Down
75 changes: 0 additions & 75 deletions benchmarks/blockhandler.js

This file was deleted.

187 changes: 0 additions & 187 deletions bin/build

This file was deleted.

Loading