Extensible full node using Bitcore
Clone or download

README.md

Bitcore Node

A Bitcoin blockchain indexing and query service. Intended to be used with as a Bitcoin full node or in conjunction with a Bitcoin full node.

Upgrading from previous versions of Bitcore Node

There is no upgrade path from previous versions of Bitcore Node due to the removal of the included Bitcoin Core software. By installing this version, you must resynchronize the indexes from scratch.

Install

npm install
./bin/bitcore-node start

Note: A default configuration file is placed in the bitcore user's home directory (~/.bitcore/bitcore-node.json). Or, alternatively, you can copy the provided "bitcore-node.json.sample" file to the project's root directory as bitcore-node.json and edit it for your preferences. If you don't have a preferred block source (trusted peer), Bcoin will be started automatically and synchronized with the mainnet chain.

Prerequisites

  • Node.js v8.2.0+
  • ~500GB of disk storage
  • ~4GB of RAM

Configuration

The main configuration file is called "bitcore-node.json". This file instructs bitcore-node for the following options:

  • location of database files (datadir)
  • tcp port for web services, if configured (port)
  • bitcoin network type (e.g. mainnet, testnet3, regtest), (network)
  • what services to include (services)
  • the services' configuration (servicesConfig)

Add-on Services

There are several add-on services available to extend the functionality of Bitcore:

Documentation

  • Services
    • Fee - Creates a service to handle fee queries
    • Header - Creates a service to handle block headers
    • Block - Creates a service to handle blocks
    • Transaction - Creates a service to handle transactions
    • Address - Creates a service to handle addresses
    • Mempool - Creates a service to handle mempool
    • Timestamp - Creates a service to handle timestamp
    • Db - Creates a service to handle the database
    • p2p - Creates a service to handle the peer-to-peer network
    • Web - Creates an express application over which services can expose their web/API content
  • Development Environment - Guide for setting up a development environment
  • Node - Details on the node constructor
  • Bus - Overview of the event bus constructor
  • Release Process - Information about verifying a release and the release process.

Contributing

Please send pull requests for bug fixes, code optimization, and ideas for improvement. For more information on how to contribute, please refer to our CONTRIBUTING file.

License

Code released under the MIT license.

Copyright 2013-2017 BitPay, Inc.

  • bitcoin: Copyright (c) 2009-2015 Bitcoin Core Developers (MIT License)