#Datachain
Datachain is a flexible, lightweight and customizable python library for interoperable access of data from underlying blockchains.
Datachain adopts a CRAB (Create-Retrieve-Append-Burn) approach from data management, which is inherent to the basic blockchain principles.
The Datachain model provides CRAB operations for the following:
- Participants
- Assets with immutable and associated data. Multiple asset types as well.
- Transactions... multiple transaction types as well.
Data extracted from underlying blockchains can be retrieved as:
- In
raw
format, meaning exactly as returned from the underlying blockchain. - In
xml
format. - In
json
format. - As a
collection
. Depending on the request this may be a dictionary, list or tuple. - As a
pandas.Series
for 1d orpandas.DataFrame
for 2d data. By simply requestingpandas
the default response is a DataFrame.
Currently, Datachain provides under-the-hood connectors for:
- BigchainDB apps
- Hyperledger Composer apps
Datachain requires a python3 version (tested on v3.7.x). Other required libraries are: numpy, pandas, and dicttoxml.
To use the BigchainDB connector, the bigchaindb_driver is required.
When using the framework please use the following reference to cite our work:
Demetris Trihinas. 2019. Datachain: A Query Framework for Blockchains. In Proceedings of the 11th International Conference on Management of Digital EcoSystems (MEDES ’19). Association for Computing Machinery, New York, NY, USA, 134–141. DOI:https://doi.org/10.1145/3297662.3365796