npm.io
1.0.2 • Published 11 years ago

blkdat-stream

Licence
MIT
Version
1.0.2
Deps
1
Vulns
0
Weekly
0
Stars
14

blkdat-stream

A lite blk*.dat streaming module, useful for parsing the Bitcoin blockchain

Example


var fs = require('fs')
var glob = require('glob')

var CombinedStream = require('combined-stream')
var BlkDatStream = require('../')

glob(process.env.BLOCKS_DIR + '/blk*.dat', function (err, fileNames) {
  if (err) throw err

  var cs = new CombinedStream()

  fileNames.forEach(function(fileName) {
    cs.append(fs.createReadStream(fileName, { mode: '0444' }))
  })

  var bds = new BlkDatStream()
  var j = 0
  bds.on('data', function(blockData) {
    console.log('>> Read block (', j, ')')
    j++

    // ... now, parse the block data buffer
  })

  cs.pipe(bds)
})

To parse the returned block data, use a library such as bitcoinjs-lib or bitcore

Keywords