‚̧Noble Programming Mantra
    Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    bitcoin-inventory

    1.2.3¬†‚Äʬ†Public¬†‚Äʬ†Published

    bitcoin-inventory

    npm version Build Status Dependency Status

    Exchange transactions with peers

    Usage

    npm install bitcoin-inventory

    var Inventory = require('bitcoin-inventory')
     
    // "peers" is a PeerGroup or Peer from the `bitcoin-net` package
    var inv = Inventory(peers)
     
    // get a tx that was sent to us
    inv.get(hash) // returns tx
     
    // add a tx and announce its hash to our peers
    inv.broadcast(tx)
     
    inv.on('tx', (tx) => { /* got tx */ })
    inv.on('tx:<txid>', (tx) => { /* got tx with hex hash `txid` */ })

    Inventory handles the exchange of Bitcoin transactions with peers.

    When a peer discovers a new transaction, they send us a message (inv) announcing its hash. If we have not yet seen this transaction, Inventory will request it from the peer and add it to the inventory.

    If we create a new transaction, Inventory will announce the hash to our peers, and send the transaction data to them if they request it.


    new Inventory(peers, [opts])

    Creates an Inventory which listens for and fetches new transactions from peers, and announces transactions to peers.

    Transactions are only kept in the Inventory for a limited amount of time, after which they are automatically pruned. (The amount of time is configurable via the ttl option).

    peers should be an instance of PeerGroup or Peer, from the bitcoin-net package.

    opts may be an object containing:

    • ttl Number (default: 120000 (2 minutes)) - the amount of time to keep transactions in the inventory before pruning them (in ms)

    inv.get(hash)

    Returns the transaction from the inventory with the specified hash (which is a Buffer).


    inv.broadcast(tx)

    Adds tx to the inventory, and announces its hash to the peers. Also listens for peers to request the full transaction from us.


    inv.close()

    Closes the inventory and clears timers.

    Install

    npm i bitcoin-inventory

    DownloadsWeekly Downloads

    6

    Version

    1.2.3

    License

    MIT

    Unpacked Size

    6.99 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar