Skip to content

DucatusX/ducatus-core

Repository files navigation

DucatusCore

GitHub commit activity MIT License GitHub contributors

Infrastructure to build Bitcoin and blockchain-based applications for the next generation of financial technology.

Getting Started

Requirements

  • Trusted P2P Peer
  • MongoDB Server >= v3.4
  • make g++ gcc
  • node.js = v10.24.1

Checkout the repo

git clone git@github.com:DUCATUS-revival/ducatus-core.git
git checkout master
npm install

Setup Guide

1. Setup Bitcore config

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 Bitcoin Node

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

3. Run Bitcoin node

Example Starting a Bitcoin Node
# Path to your bitcoin application and path to the config above
/Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt -datadir=/Users/username/blockchains/bitcoin-core/networks/mainnet/

4. Start Bitcore

npm run node

Applications

Libraries

  • 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
  • DucatusCore Lib - A pure and powerful JavaScript Ducatus library
  • DucatusCore P2P - The peer-to-peer networking protocol for Ducatus

Extras

License

Code released under the MIT license.

Copyright 2022 Ducatus.