bds-eth is one of the independent modules in open source project of block chain data service (BDS) - provides full node service.
bds-eth Based on the v1.9.9 version of ethereum/go-ethereum,bds-eth redeveloped to support sending new block data directly to message middleware service of kafka to facilitate upstream services to subscribe and consume.
- Compile
make geth
or, to build the full suite of utilities:
make all
- Run full node and support sending messages to Kafka
geth --rpc --datadir <data directory> --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3 --syncmode full --gcmode=archive --cache 4096 console --port <port> --rpcport <rpcport> --kafka.endpoint <kafka rest proxy, default "http://localhost:8082/topics/eth">
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
See BDS
Database we now support SQL Server, PostgreSQL, you can choose one as a data storage method.
See Grafana Official
- 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.