bds-xlm
Introduction
bds-xlm is one of the independent modules in open source project of block chain data service (BDS) - provides full node data service.
bds-xlm Based on the horizon-v0.16.0 version of stellar/go,bds-xlm redeveloped to support sending new block data directly to message middleware service of kafka to facilitate upstream services to subscribe and consume.
Architecture
Environmental Deployment
Install BDS-XLM
Environment Initialization
Install steps
- Compile
dep ensure -v
go build -v $GOPATH/src/github.com/stellar/go/services/horizon
- Run full node and support sending messages to Kafka
./horizon --ingest --port <port> --kafka=true --kafka-proxy-host=<kafka host> --kafka-proxy-port=<kafka port> --kafka-topic=<kafka topic>
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
PostgreSQL
Install Grafana
See Grafana Official
New funtion
- 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).
- Sendblock and sendbatchblock are newly added as RPC interfaces to trigger full node to send data for a specific block.