jdcloud-bds / bds-bsv

Synchronize blockchain data to message queue

Home Page:https://bds.jdcloud.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bds-bsv

logo

Introduction

bds-bsv is one of the independent modules in open source project of block chain data service (BDS) - provides full node service.

bds-bsv Based on the v1.0.2 version of bitcoin-sv/bitcoin-sv,bds-bsv redeveloped to support sending new block data directly to message middleware service of kafka to facilitate upstream services to subscribe and consume.

Architecture

Architecture

Environmental Deployment

Install BSV

Environment Initialization

build-unix

Install steps

  1. Compile
  ./autogen.sh
  ./configure
  make
  make install # optional
  1. Run full node and support sending messages to Kafka
    # log file position: <data_dir>/debug.log

   /usr/local/bin/bitcoind -kafka -kafkaproxyhost=<kafka proxy host> -kafkaproxyport=<kafka proxy port,default 8082> -kafkatopic=bsv -datadir=<data directory> -rpcuser=<user> -rpcpassword=<password>

Install confluent and kafka

Install kafka

See kafka

Modify config/server.properties
  • message.max.bytes=1048576000

Install confluent

see confluent

Unzip the confluent package and run Confluent REST Proxy

Modify /etc/kafka-rest/kafka-rest.properties
  • max.request.size = 1048576000
  • buffer.memory = 1048576000
  • send.buffer.bytes = 1048576000

Install BDS

See BDS

Database

Database we now support SQL Server, PostgreSQL, you can choose one as a data storage method.

SQL Server

Buy JCS For SQL Server

PostgreSQL

Buy JCS For PostgreSQL

Install Grafana

See Grafana Official

New funtion

  1. The new function of sending messages to Kafka is added(every time a new block is synchronized by full node, the data of the block is sent to kafka and the data structure is customized).
  2. Sendblock and sendbatchblock are newly added as RPC interfaces to trigger full node to send data for a specific block.

Source Code Change History

bds-bsv

Contributing

Contributing guide

License

Apache License 2.0

Project Demonstration

Blockchain Data Service

About

Synchronize blockchain data to message queue

https://bds.jdcloud.com/

License:Apache License 2.0


Languages

Language:C++ 66.8%Language:Python 19.2%Language:C 7.6%Language:M4 2.0%Language:Makefile 1.2%Language:Objective-C 1.1%Language:CMake 0.6%Language:Shell 0.5%Language:Java 0.4%Language:Assembly 0.3%Language:HTML 0.3%Language:Groovy 0.1%Language:Dockerfile 0.0%Language:Ruby 0.0%