utxo

UTXO derivation from a list of transactions

Usage no npm install needed!

<script type="module">
  import utxo from 'https://cdn.skypack.dev/utxo';
</script>

README

utxo

TRAVIS NPM

js-standard-style

Example

let utxo = require('utxo')
let transactions = {
    "2c20ca6ca3a2af32d3ca0c6c1a60f6d3c00101342620a21f3622fc6faf2ddcda": {
        "inputs": [
            {
                "txId": "xxx ...",
                "vout": 0
            },
            {
                "txId": "xxx ...",
                "vout": 1
            }
        ],
        "outputs": [
            { "script": "..." }
        ]
    },
    "bdcdd2fafa1c6c0ac3d23fa2a3ac66cf2263f12a03444310100c3d6c06ac02c3": {
        "inputs": [
            {
                "txId": "2c20ca6ca3a2af32d3ca0c6c1a60f6d3c00101342620a21f3622fc6faf2ddcda"
                "vout": 0
            },
            ...
        ],
        // and so on
    }
}

// equates all transaction outputs for where no matching input exists
// subsequent double spends are ignored in the returned result, with priority given to first-seen
// txId and vout is extended onto the outputs for convenience (outputs are copied, not mutated)
let unspents = utxo(transactions)
[{
    "txId": "2c20ca6ca3a2af32d3ca0c6c1a60f6d3c00101342620a21f3622fc6faf2ddcda",
    "vout": 0,
    "script": "..."
}, ...]

LICENSE MIT