Common Blockchain wrapper for any Bitpay Insight API.
Common Blockchain is a concept invented by Daniel Cousens to normalize the differences between Blockchain APIs so that you can easily switch APIs if you need to.
function(err, results). If an array of addresses is passed, results will be an array.
If a single address is passed, then results will be a single result object.example:
var Blockchain = require('cb-insight')
var blockchain = new Blockchain('https://test-insight.bitpay.com')
var addr = 'mpNDUWcDcZw1Teo3LFHvr8usNdwDLKdTaY'
blockchain.addresses.summary(addr, function(err, result) {
console.dir(result)
})
returns:
{ address: 'mpNDUWcDcZw1Teo3LFHvr8usNdwDLKdTaY',
balance: 20000,
totalReceived: 20000,
txCount: 1 }
function(err, utxos). utxos is an array of unspent outputs.example:
var Blockchain = require('cb-insight')
var blockchain = new Blockchain('https://test-insight.bitpay.com')
var addrs = [
'mpNDUWcDcZw1Teo3LFHvr8usNdwDLKdTaY',
'mv3fK2ME7g9K4HswGXs6mG92e7gRgsTsqM',
'mvJCbQvE6DgVAECMwDprASP3NMwuU53Eie',
'mvwvsPT2J3VPEaYmFdExFc4iBGRRK2Vdkd'
]
blockchain.addresses.unspents(addrs, function(err, utxos) {
console.dir(utxos)
})
returns:
[ { txId: 'ffd316b0c4feb9d29c61c3734fcde0167600441e560931c8c7267a9de3d9e29a',
confirmations: 41097,
address: 'mpNDUWcDcZw1Teo3LFHvr8usNdwDLKdTaY',
value: 20000,
vout: 0 },
{ txId: '30d64580b02f3cbfb487c4bf58d6bcdd90caa655352620357caa14412ea7954d',
confirmations: undefined,
address: 'mv3fK2ME7g9K4HswGXs6mG92e7gRgsTsqM',
value: 420000000,
vout: 0 },
{ txId: 'f611cd3a1d676631b630600695074aab57b98ddc6982e93419438753f8f3fbda',
confirmations: 41097,
address: 'mv3fK2ME7g9K4HswGXs6mG92e7gRgsTsqM',
value: 20000,
vout: 0 },
{ txId: '41017e25bed3b740508fc10286ffd363935698bd541ac8c43d8fad52cde25220',
confirmations: 41097,
address: 'mvJCbQvE6DgVAECMwDprASP3NMwuU53Eie',
value: 20000,
vout: 0 },
{ txId: '3df7613ea58afc4c6c443cad6a8a1eaff4c5ae04e8124ec4e7204811c120101c',
confirmations: 41098,
address: 'mvwvsPT2J3VPEaYmFdExFc4iBGRRK2Vdkd',
value: 20000,
vout: 0 } ]
function(err, results).
If rawTxs is an array of hex strings, then results will be an array, otherwise, result is a single object.example:
var Blockchain = require('cb-insight')
var blockchain = new Blockchain('https://test-insight.bitpay.com')
var rawTxs = ['01000000018a3feea3ee433d5d6ff342c1a73bf67eded7a645725c7cdc4ce3f56b0f55de7d000000008b4830450221009d342a19422d2d16cfeac63b48f91d45df55d3b0e7cf60fe4c60ef337e4c742a0220230b9d2c248d4c85ab53c3efa18ab0a39ed72ab1d1926bdffbaaf9b60f5d165a0141047e646d9a2731ec1eb862e80e9fd262def4137e04dc4b9b1a04e4b1494f4748095a872ee5dd2653df252c84f553fc8d53d143920ae2508edf5798703bcb7ff1d3ffffffff01a0860100000000001976a9146ef4a59431f760a19a3dbf27fb442126f4b876f588ac00000000',
'01000000017ab3341e35059c4c9c5dc7b77b19d8054d69f496a2899b54225ca77bac7f07dd000000008b483045022100ac8f8a90fd735ddcf87ed4f89531977dd350797c84d4709b3dfef2083dad52a102200166b7407e7033763b6c22b8be56d8f7c549515d2b84db641b7f0172554765be0141047e646d9a2731ec1eb862e80e9fd262def4137e04dc4b9b1a04e4b1494f4748095a872ee5dd2653df252c84f553fc8d53d143920ae2508edf5798703bcb7ff1d3ffffffff0110270000000000001976a9146ef4a59431f760a19a3dbf27fb442126f4b876f588ac00000000',
'01000000016a74d477e69af1ad1e336a44a0ddd675d8fab89520c321a77c58884e7a6a0595000000008b4830450221009ee7da1c2921c999413503bd4dc289c0d7bef2f55b63033048aba99ff3c98c3b02202256d291fc1deb62d91c4b959586d69f33ec3df982775c869d4e34d15a5034370141047e646d9a2731ec1eb862e80e9fd262def4137e04dc4b9b1a04e4b1494f4748095a872ee5dd2653df252c84f553fc8d53d143920ae2508edf5798703bcb7ff1d3ffffffff0150c30000000000001976a9146ef4a59431f760a19a3dbf27fb442126f4b876f588ac00000000']
blockchain.transactions.propagate(rawTxs, function(err, results) {
console.dir(results)
})
returns:
[ { txId: 'cbcd40a9c3bff0e85ef3d369fb6d797ac5a21ba5ce6ab0e76a3f3ca2d622824d' },
{ txId: '6214938d01883b1904e42ea9ecd3349a06f0cb16298825ad33727031f8a57a8b' },
{ txId: 'acfdcf2de5ad16d046b90fc6bc60b888005398014f7e2d60905887cd23bcf9d9' } ]