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
Install
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-2escd $GOPATH/src/github.com/wenweih/btc-chaindata-2esdep 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
Usage
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.ymlbtc_host: "127.0.0.1"btc_port: "8791"btc_usr: "usertest"btc_pass: "passtest"btc_http_mode: truebtc_disable_tls: trueelastic_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 &
Links
- wenweih/btc-chaindata-2es