In this rather lengthy section, we will use the aggregation framework to process data from the Ethereum blockchain.
Using our Python code from https://github.com/agiamas/mastering-mongodb/tree/master/chapter_5, we have extracted data from Ethereum and loaded it into our MongoDB database.
Our data resides in two collections, blocks and transactions.
A sample block document has the following fields:
- Number of transactions
- Number of contract internal transactions
- Block hash
- Parent block hash
- Mining difficulty
- Gas used
- Block height
> db.blocks.findOne()
{
"_id" : ObjectId("595368fbcedea89d3f4fb0ca"),
"number_transactions" : 28,
"timestamp" : NumberLong("1498324744877"),
"gas_used" : 4694483,
"number_internal_transactions" : 4,
"block_hash" : "0x89d235c4e2e4e4978440f3cc1966f1ffb343b9b5cfec9e5cebc331fb810bded3...