Infrastructure to build Bitcoin and blockchain-based applications for the next generation of financial technology.
- Trusted P2P Peer
- MongoDB Server >= v3.4
- Docker
- nodejs >= 10
- make g++ gcc
git clone git@github.com:bitpay/bitcore.git
cd bitcore
git checkout master
npm install
Start Docker by running
dockerd
docker-compose -f docker-compose.test.yml up
docker ps
# Get IP Addresses of the Dockers
docker inspect deviceID | grep IPAddress
# Enter your docker device ID in place of deviceID
# Replace the hostname with that respective IP address of your docker in Bitcore-test.config.json
mv Bitcore-test.config.json Bitcore.config.json
npm run node
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"
}
}
}
}
}
}
Example Bitcoin Mainnet Config
whitelist=127.0.0.1
txindex=0
listen=1
server=1
irc=1
upnp=1
# Make sure port & rpcport matches the
# bitcore.config.json ports for BTC mainnet
# if using Bitcoin Core v0.17+ prefix
# [main]
port=20008
rpcport=20009
rpcallowip=127.0.0.1
rpcuser=username
rpcpassword=password
- Bitcore Node - A full node with extended capabilities using Bitcoin Core
- Bitcore Wallet - A command-line based wallet client
- Bitcore Wallet Client - A client for the wallet service
- Bitcore Wallet Service - A multisig HD service for wallets
- Bitpay Wallet - An easy-to-use, multiplatform, multisignature, secure bitcoin wallet
- Insight - A blockchain explorer web user interface
- Bitcore Channel - Micropayment channels for rapidly adjusting bitcoin transactions
- Bitcore ECIES - Uses ECIES symmetric key negotiation from public keys to encrypt arbitrarily long data streams
- Bitcore Lib - A pure and powerful JavaScript Bitcoin library
- Bitcore Lib Cash - A pure and powerful JavaScript Bitcoin Cash library
- Bitcore Message - Bitcoin message verification and signing
- Bitcore Mnemonic - Implements mnemonic code for generating deterministic keys
- Bitcore P2P - The peer-to-peer networking protocol for BTC
- Bitcore P2P Cash - The peer-to-peer networking protocol for BCH
- Crypto Wallet Core - A coin-agnostic wallet library for creating transactions, signing, and address derivation
- Bitcore Build - A helper to add tasks to gulp
- Bitcore Client - A helper to create a wallet using the bitcore-v8 infrastructure
See CONTRIBUTING.md on the main bitcore repo for information about how to contribute.
Code released under the MIT license.
Copyright 2013-2019 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.