Parse Bitcoin Ledger To Elasticsearch

Dump Bitcoin Mainnet ledger to elasticsearch. constructed specify format so we can query balance and utxo, the main propose of the repo is for wallet or block explorer


Environment require:

  • Golang (compile)
  • Dep (package dependency)
  • Elasticsearch (database)

Before clone the repo, I wanna let claim that there is a bug I have verified the btcd, an alternative full node bitcoin implementation written in Go. See the detail: [RPC] getblock command has been changed, and I have given a solution how to fixed the problem

go get -u
cd $GOPATH/src/
dep ensure -v -update

After dep ensure -v -update to load the repo dependency, you should modify btcd package in vendor fold flowing by 修复开源项目 btcd RPC 实现比特币获取区块的问题.

cross compile, such as for my Ubuntu Server:

GOARCH=amd64 GOOS=linux go build


Because of btc-chaindata-2es service interacts with bitcoind by RPC and Elasticsearch by HTTP protocol, to avoid network request delay, I hightly recommend you run the three services (btc-chaindata-2ex, bitcoind and elasticsearch) in the same server.

Copy configure to ~/ directory

cat ~/btc-chaindata-2es.yml
btc_host: ""
btc_port: "8791"
btc_usr: "usertest"
btc_pass: "passtest"
btc_http_mode: true
btc_disable_tls: true
elastic_url: ""
elastic_sniff: false

Start the service:

nohup ~/btc-chaindata-2es sync > /tmp/btc-chaindata-2es.log 2>&1 &
0 条评论