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 github.com/wenweih/btc-chaindata-2es
cd $GOPATH/src/github.com/wenweih/btc-chaindata-2es
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: "127.0.0.1"
btc_port: "8791"
btc_usr: "usertest"
btc_pass: "passtest"
btc_http_mode: true
btc_disable_tls: true
elastic_url: "http://127.0.0.1:9200"
elastic_sniff: false
Start the service:
nohup ~/btc-chaindata-2es sync > /tmp/btc-chaindata-2es.log 2>&1 &