<p>There are a couple available:</p>

<p><a href="https://github.com/znort987/blockparser" rel="noreferrer">https://github.com/znort987/blockparser</a>
Which is c++ based and has some basic analysis functions already written.</p>

<p><a href="http://codesuppository.blogspot.com/2014/01/how-to-parse-bitcoin-blockchain.html" rel="noreferrer">http://codesuppository.blogspot.com/2014/01/how-to-parse-bitcoin-blockchain.html</a>
describes the basics of parsing the block chain and links to code written by the author of the post.</p>

<p>It looks like most projects don't parse it directly and use the RPC interface of the main bitcoin client.</p>

CC BY-SA 3.0
2014-02-24T16:13:51.127Z
2014-02-24T16:13:51.127Z
jwilkins
<p>A good solution would be to use a trusted third-party that has already parsed the entire block chain for you. For example, the <a href="http://blockchain.info/api" rel="nofollow">Blockchain.info API</a> is quite well suited for your purpose.</p>

<p>Specifically what you want is the <a href="http://blockchain.info/api/blockchain_api" rel="nofollow">Block Explorer API</a> which returns JSON objects.</p>

CC BY-SA 3.0
2014-02-21T13:36:38.353Z
Given that I have a local blockchain, I think it would be more efficient to reach my disk than the network. I've considered this option and the apparent lack of standalone tools bothers me.
Bruno Kim
CC BY-SA 3.0
2014-02-21T12:44:59.913Z
2014-02-21T12:44:59.913Z
Luca Matteis
<p><a href="https://github.com/alecalve/python-bitcoin-blockchain-parser" rel="nofollow noreferrer">https://github.com/alecalve/python-bitcoin-blockchain-parser</a> just parses the blkXXXXX.dat directly for you into Python, no servers needed. Likely much slower than the C++ option from <a href="https://bitcoin.stackexchange.com/a/22621/21282">https://bitcoin.stackexchange.com/a/22621/21282</a> ,  but good at least for quick prototyping since in Python.</p>

CC BY-SA 4.0
2021-01-14T21:42:51.357Z
2021-01-14T21:42:51.357Z
Ciro Santilli OurBigBook.com
<p>I'm using bitcoin-qt and have a local copy of the blockchain, in which I'm running some analysis with the JSON-RPC API using mostly <code>getblock</code> and <code>getrawtransaction</code>. I have no need writing or sending transactions in this use case. It's overkill to run a full node just to read the blockchain, and it hurts my analysis performance, too. </p>

<p>Is there a (preferrably tested) library to parse the blockchain and return objects, JSON or not? Language doesn't matter much. If not, is there a node implementation that allow turning off network and wallet features?</p>

CC BY-SA 3.0
2014-02-24T17:33:32.667Z
It should be easy with bitcoin-qt to effectively disable networking with something like `-connect=0.0.0.0`.  And I don't think the wallet features should have much effect if you just don't use them.
Nate Eldredge
CC BY-SA 4.0
2018-06-22T14:48:59.107Z
Here is the lightweight blockchain parser https://github.com/normanvolt/blockchain-parser
Denis Leonov
<bitcoind><json-rpc>
Is there a lightweight blockchain parser library/server?
Bruno Kim
# Is there a lightweight blockchain parser library/server?

(Asked by: username_0 on 2014-02-21)

I'm using bitcoin-qt and have a local copy of the blockchain, in which I'm running some analysis with the JSON-RPC API using mostly `getblock` and `getrawtransaction`. I have no need writing or sending transactions in this use case. It's overkill to run a full node just to read the blockchain, and it hurts my analysis performance, too.

Is there a (preferrably tested) library to parse the blockchain and return objects, JSON or not? Language doesn't matter much. If not, is there a node implementation that allow turning off network and wallet features?

**Tags:** bitcoind, json-rpc

> **Comments:**
> **username_1**: It should be easy with bitcoin-qt to effectively disable networking with something like `-connect=0.0.0.0`.  And I don't think the wallet features should have much effect if you just don't use them.  
> **username_2**: Here is the lightweight blockchain parser https://github.com/normanvolt/blockchain-parser  

---

## 3 answers

### Answer by username_3 on 2014-02-24. Score: 5

There are a couple available:

<https://github.com/znort987/blockparser>
Which is c++ based and has some basic analysis functions already written.

<http://codesuppository.blogspot.com/2014/01/how-to-parse-bitcoin-blockchain.html>
describes the basics of parsing the block chain and links to code written by the author of the post.

It looks like most projects don't parse it directly and use the RPC interface of the main bitcoin client.


---

### Answer by username_4 on 2014-02-21. Score: 1

A good solution would be to use a trusted third-party that has already parsed the entire block chain for you. For example, the [Blockchain.info API](http://blockchain.info/api) is quite well suited for your purpose.

Specifically what you want is the [Block Explorer API](http://blockchain.info/api/blockchain_api) which returns JSON objects.

> **Comments:**
> **username_0**: Given that I have a local blockchain, I think it would be more efficient to reach my disk than the network. I've considered this option and the apparent lack of standalone tools bothers me.  

---

### Answer by username_5 on 2021-01-14. Score: 0

<https://github.com/alecalve/python-bitcoin-blockchain-parser> just parses the blkXXXXX.dat directly for you into Python, no servers needed. Likely much slower than the C++ option from <https://bitcoin.stackexchange.com/a/22621/21282> , but good at least for quick prototyping since in Python.


---

