Coder Social home page Coder Social logo

insight-api-btx's Introduction

Bitcore

Circle CI

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

Easy Setup Guide for BTX (with docker-compose)

Checkout the repo bitcore-btx
git clone https://github.com/dalijolijo/bitcore-btx.git
cd bitcore-btx
git checkout master
Install docker.io and docker-compose v.3
cd bitcore-btx
./install_docker.sh
Modify Insight IP in docker-compose.yml file

Change YOUR_IP in environment variable - "API_PREFIX=http://YOUR_IP:3000/api"

  insight:
    image: insight
    build:
      context: .
      dockerfile: ./Dockerfile.insight.btx
    container_name: insight
    restart: always
    networks:
      insight-net:
        ipv4_address: 172.21.0.14
    ports:
      - 80:80
    environment:
      - "ENV=prod"
      - "CHAIN=BTX"
      - "NETWORK=mainnet"
      - "API_PREFIX=http://YOUR_IP:3000/api"
    depends_on:
      - bitcore-node
Starting Bitcore-Node, BTX Node, Mongo DB and Insight in Docker Containers
cd bitcore-btx
docker-compose up -d -f docker-compose.btx.json
Show logging of docker containers
#show all running docker containers
docker ps

#show logs of all docker containers
docker-compose logs -f

#show only a specific docker container log
docker logs -f <DOCKER NAME>
Check Insight and API in your browser

Find the REST API Documentation with examples here

Getting Started on Ubuntu (without docker-compose)

Requirements

  • Trusted P2P Peer
  • MongoDB Server >= v3.4
  • docker-compose v3
  • Node.js v8

Preparations

Checkout the repo bitcore-btx
git clone https://github.com/dalijolijo/bitcore-btx.git
cd bitcore-btx
git checkout master
npm install -g [--unsafe-perm]

Hint: After error, cleanup with:

npm cache clean --force
rm -rf ./node_modules
rm -rf packages/*/node_modules
Install docker-compose v3
./install_docker.sh
Install Node.js v18
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
apt-get install nodejs

Setup Guide for BTX

1. Setup Bitcore config for BTX

Configfile bitcore.config.json for BTX Mainnet
{
  "bitcoreNode": {
    "chains": {
      "BTX": {
        "mainnet": {
          "parentChain": "BTC",
          "forkHeight": 492820,
          "trustedPeers": [
            {
              "host": "127.0.0.1",
              "port": 40008
            }
          ],
          "rpc": {
            "host": "127.0.0.1",
            "port": 40009,
            "username": "username",
            "password": "password"
          }
        }
      }
    }
  }
}

2. Setup BTX Node

Build Docker Image for BTX Node
cd bitcore-btx/docker-bitcored
docker build -t dalijolijo/bitcored:<VERSION> .
# Example for VERSION 0.15.2.1
docker build -t dalijolijo/bitcored:0.15.2.1 .

3. Run BTX Node

Starting BTX Node Docker Container
cd bitcore-btx/docker-bitcored
docker run --rm --name bitcored -v /home/.bitcore:/data -d -p 40008:40008 -p 40009:40009 dalijolijo/bitcored:<VERSION> -rpcuser=<USER> -rpcpassword=<PWD>
# Example for VERSION 0.15.2.1
docker run --rm --name bitcored -v /home/.bitcore:/data -d -p 40008:40008 -p 40009:40009 dalijolijo/bitcored:0.15.2.1 -rpcuser=btx -rpcpassword=btx
Check if BTX Node is fully synced
docker logs --tail 30 bitcored

4. Start MongoDB Server with docker-compose

Configfile docker-compose.yml for MongoDB Server
version: '3'
services:
  database:
    image: mongo:3.4-jessie
    ports:
    - 27017:27017
    volumes:
    - /data/db:/data/db
Starting MongoDB Server Docker Container
cd bitcore-btx
docker-compose up -d
docker-compose logs

5. Start Bitcore

Starting Bitcore
npm run node

Setup Guide for BTC

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"
          }
        }
      },
      "BTX": {
        "mainnet": {
          "parentChain": "BTC",
          "forkHeight": 492820,
          "trustedPeers": [
            {
              "host": "127.0.0.1",
              "port": 40008
            }
          ],
          "rpc": {
            "host": "127.0.0.1",
            "port": 40009,
            "username": "username",
            "password": "password"
          }
        },
        "regtest": {
          "chainSource": "p2p",
          "trustedPeers": [
            {
              "host": "127.0.0.1",
              "port": 40020
            }
          ],
          "rpc": {
            "host": "127.0.0.1",
            "port": 40021,
            "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

Starting 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 Lib BTX - A pure and powerful JavaScript Bitcore BTX 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
  • Bitcore P2P BTX - The peer-to-peer networking protocol for BTX
  • Crypto Wallet Core - A coin-agnostic wallet library for creating transactions, signing, and address derivation

Extras

Contributing

See CONTRIBUTING.md on the main bitcore repo for information about how to contribute.

License

Code released under the MIT license.

Copyright 2013-2019 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.

insight-api-btx's People

Contributors

avidprogrammerc avatar dalijolijo avatar egyptianbman avatar extrazeldev avatar thetrunk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.