Bitcore Node
A standardized API to interact with multiple blockchain networks
Currently supporting:
Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Ripple, Ethereum and Polygon
Getting Started
Requirements
- Trusted P2P Client with an open RPC endpoint
- MongoDB Server >= v3.4
- make g++ gcc
Checkout the repo
git clone git@github.com:bitpay/bitcore.git
git checkout master
npm install
Setup Guide
1. Setup Bitcore config
The definition for all the chain configuration can be found in src/types/Config.ts
Example bitcore.config.json
{
"bitcoreNode": {
"chains": {
"BTC": {
"mainnet": {
"chainSource": "p2p",
"trustedPeers": [
{
"host": "127.0.0.1",
"port": 20008
}
],
"rpc": {
"host": "127.0.0.1",
"port": 20009,
"username": "username",
"password": "password"
}
},
"regtest": {
"chainSource": "p2p",
"trustedPeers": [
{
"host": "127.0.0.1",
"port": 20020
}
],
"rpc": {
"host": "127.0.0.1",
"port": 20021,
"username": "username",
"password": "password"
}
}
},
"BCH": {
"mainnet": {
"parentChain": "BTC",
"forkHeight": 478558,
"trustedPeers": [
{
"host": "127.0.0.1",
"port": 30008
}
],
"rpc": {
"host": "127.0.0.1",
"port": 30009,
"username": "username",
"password": "password"
}
},
"regtest": {
"chainSource": "p2p",
"trustedPeers": [
{
"host": "127.0.0.1",
"port": 30020
}
],
"rpc": {
"host": "127.0.0.1",
"port": 30021,
"username": "username",
"password": "password"
}
}
}
}
}
}
2. Setup Your Blockchain Nodes
Example Bitcoin Mainnet Config
whitelist=127.0.0.1
txindex=0
listen=1
server=1
irc=1
upnp=1
port=20008
rpcport=20009
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
3. Run Your Blockchain Nodes
Example Starting a Bitcoin Node
/Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt -datadir=/Users/username/blockchains/bitcoin-core/networks/mainnet/
4. Start Bitcore
npm run node
Bitcore will begin using your blockchain nodes to synchronize its own database so that you can use standardized queries to get data from each of your supported blockchains.
API Documentation
Contributing
See CONTRIBUTING.md on the main bitcore repo for information about how to contribute.
License
Code released under the MIT license.
Copyright 2013-2023 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.