JD Cloud Blockchain Data Service (BDS) is a realtime data aggregating, analyzing and visualization service for chain-like unstructured data from all kinds of 3rd party Blockchains
Splitter is the key module of Blockchain Data Service (BDS) and provides data analysis capability.
Splitter is responsible for consuming blockchain data from message queue (kafka) and inserting data into persistent data storage services (relational database, data warehouse, etc.) for further processing
Before compiling and running BDS, you must install go's compilation environment locally: go install
- Set the path of project :
$GOPATH/src/github.com/jdcloud-bds/bds/
- Input
go build -v github.com/jdcloud-bds/bds/cmd/bds-splitter
,compile to get executable file bds-splitter - Build new configuration file splitter.conf, see
/config/splitter_example.conf
configuration file template - Run programe
./bds-splitter -c splitter.conf
See kafka
- message.max.bytes=1048576000
see confluent
Unzip the confluent package and run Confluent REST Proxy
- max.request.size = 1048576000
- buffer.memory = 1048576000
- send.buffer.bytes = 1048576000
Database we now support SQL Server, PostgreSQL, you can choose one as a data storage method.
After you run the database, you need to manually create new database and use the database name initialization splitter.conf.
See Grafana Official
- Define the data structure of Kafka messages.
- Define table structure.
- Analyze Kafka message and store data in database.