How to use @tradle/bitcoinjs-lib - 10 common examples

To help you get started, we’ve selected a few @tradle/bitcoinjs-lib examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github tradle / tim-old-engine / lib / optimizations.js View on Github external
utils.sharedEncryptionKey = function (aPriv, bPub, cb) {
    // TODO: unhardcode network
    if (typeof aPriv !== 'string') aPriv = aPriv.toWIF(bitcoin.networks.testnet)
    if (typeof bPub !== 'string') bPub = bPub.toHex()

    var key = aPriv + bPub
    var cached = ecdhCache.get(key)
    if (!cb) {
      if (!cached) {
        cached = sharedEncryptionKey.apply(this, arguments)
        ecdhCache.set(key, cached)
      }

      return cached
    }

    if (cached) return cb(null, cached)

    sharedEncryptionKey.call(utils, aPriv, bPub, function (err, result) {
github tradle / engine / test / bitcoin-fakechain.js View on Github external
const unspents = []
  opts.unspents.forEach(({ address, amounts }) => {
    const tx = fund(address, amounts)
    tx.outs.forEach(function (o, i) {
      unspents.push({
        txId: tx.getId(),
        confirmations: 6,
        address,
        value: o.value,
        vout: i
      })
    })
  })

  const fakechain = createFakeChain({
    network: bitcoin.networks[network.name],
    unspents,
    blocktime
  })

  const wrapper = utils.extend(new EventEmitter(), network.wrapCommonBlockchain(fakechain))
  fakechain.on('block', block => wrapper.emit('block', block))
  return wrapper
}
github tradle / engine / test / bitcoin-fakechain.js View on Github external
function fund (address, amounts) {
  const prevTx = new bitcoin.Transaction()
  prevTx.addInput(new bitcoin.Transaction(), 0)
  amounts.forEach(function (amount) {
    prevTx.addOutput(address.toString(), amount)
  })

  return prevTx
}
github tradle / engine / test / bitcoin-fakechain.js View on Github external
function fund (address, amounts) {
  const prevTx = new bitcoin.Transaction()
  prevTx.addInput(new bitcoin.Transaction(), 0)
  amounts.forEach(function (amount) {
    prevTx.addOutput(address.toString(), amount)
  })

  return prevTx
}
github tradle / engine / test / bitcoin-fakechain.js View on Github external
function addFakeBlock (blocks) {
  const b = new bitcoin.Block()
  if (blocks.length) {
    b.prevHash = blocks[blocks.length - 1].getHash()
  } else {
    b.prevHash = crypto.randomBytes(32)
  }

  b.merkleRoot = crypto.randomBytes(32)
  b.timestamp = Date.now() / 1000
  b.bits = Math.random() * 100000000 | 0
  b.nonce = Math.random() * 100000000 | 0
  b.height = b.blockHeight = blocks.length
  b.transactions = []
  blocks.push(b)
  return b
}
github tradle / engine / test / bitcoin-fakechain.js View on Github external
function getAddressFromInput (input, network) {
  const pubKeyBuf = input.script.chunks[1]
  const pub = bitcoin.ECPubKey.fromBuffer(pubKeyBuf)
  return pub.getAddress(network).toString()
}
github tradle / engine / test / bitcoin-fakechain.js View on Github external
function getAddressFromOutput (output, network) {
  if (bitcoin.scripts.classifyOutput(output.script) === 'pubkeyhash') {
    return bitcoin.Address
      .fromOutputScript(output.script, network)
      .toString()
  }
}
github tradle / engine / test / bitcoin-fakechain.js View on Github external
function getAddressFromOutput (output, network) {
  if (bitcoin.scripts.classifyOutput(output.script) === 'pubkeyhash') {
    return bitcoin.Address
      .fromOutputScript(output.script, network)
      .toString()
  }
}
github tradle / tim-old-engine / lib / optimizations.js View on Github external
var Q = require('q')
var bitcoin = require('@tradle/bitcoinjs-lib')
var ECPubKey = bitcoin.ECPubKey
var Keys = require('@tradle/kiki').Keys
var ECKey = bitcoin.ECKey
var Cache = require('lru-cache')
var EllipticKeyPair = require('elliptic/lib/elliptic/ec/key')
var utils = require('@tradle/utils')
var extend = require('xtend')
var Driver = require('../')
var enabled = false
var ID = 0
var UINT16    = 0xffff;
var getNextId = function () {
  return (ID++) & UINT16
}

function enable () {
  if (enabled) return
github tradle / tim-old-engine / lib / optimizations.js View on Github external
var Q = require('q')
var bitcoin = require('@tradle/bitcoinjs-lib')
var ECPubKey = bitcoin.ECPubKey
var Keys = require('@tradle/kiki').Keys
var ECKey = bitcoin.ECKey
var Cache = require('lru-cache')
var EllipticKeyPair = require('elliptic/lib/elliptic/ec/key')
var utils = require('@tradle/utils')
var extend = require('xtend')
var Driver = require('../')
var enabled = false
var ID = 0
var UINT16    = 0xffff;
var getNextId = function () {
  return (ID++) & UINT16
}

function enable () {
  if (enabled) return

  enabled = true