Converting cashaddr to legacy address format
- address
string
cashaddr address to be converted
legacyAddress string
legacy base 58 check encoded address
// mainnet w/ prefix
bitbox.Address.toLegacyAddress('bitcoincash:qzm47qz5ue99y9yl4aca7jnz7dwgdenl85jkfx3znl')
// 1HiaTupadqQN66Tvgt7QSE5Wg13BUy25eN
// mainnet w/ no prefix
bitbox.Address.toLegacyAddress('qzm47qz5ue99y9yl4aca7jnz7dwgdenl85jkfx3znl')
// 1HiaTupadqQN66Tvgt7QSE5Wg13BUy25eN
// testnet w/ prefix
bitbox.Address.toLegacyAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// mqc1tmwY2368LLGktnePzEyPAsgADxbksi
// testnet w/ no prefix
bitbox.Address.toLegacyAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// mqc1tmwY2368LLGktnePzEyPAsgADxbksi
Converting legacy to cashAddress format
- address
string
required: legacy address to be converted - prefix
boolean
optional: include prefix - regtest
boolean
optional: return regtest address
cashAddress string
cashAddr encoded address
// mainnet
bitbox.Address.toCashAddress('1HiaTupadqQN66Tvgt7QSE5Wg13BUy25eN')
// bitcoincash:qzm47qz5ue99y9yl4aca7jnz7dwgdenl85jkfx3znl
// mainnet no prefix
bitbox.Address.toCashAddress('1HiaTupadqQN66Tvgt7QSE5Wg13BUy25eN', false)
// qzm47qz5ue99y9yl4aca7jnz7dwgdenl85jkfx3znl
// tesnet
bitbox.Address.toCashAddress('msDbtTj7kWXPpYaR7PQmMK84i66fJqQMLx')
// bchtest:qzq9je6pntpva3wf6scr7mlnycr54sjgeqxgrr9ku3
// testnet no prefix
bitbox.Address.toCashAddress('msDbtTj7kWXPpYaR7PQmMK84i66fJqQMLx', false)
// qzq9je6pntpva3wf6scr7mlnycr54sjgeqxgrr9ku3
Detect if legacy base58check encoded address
- address
string
: address to determine
isLegacyAddress boolean
: true/false if legacy address
// cashaddr
bitbox.Address.isLegacyAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// false
// w/ no cashaddr prefix
bitbox.Address.isLegacyAddress('qzm47qz5ue99y9yl4aca7jnz7dwgdenl85jkfx3znl')
// false
// legacy
bitbox.Address.isLegacyAddress('1HiaTupadqQN66Tvgt7QSE5Wg13BUy25eN')
// true
// testnet w/ cashaddr prefix
bitbox.Address.isLegacyAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// testnet w/ no cashaddr prefix
bitbox.Address.isLegacyAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// legacy testnet
bitbox.Address.isLegacyAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// true
Detect if cashAddr encoded address
- address
string
: address to determine
isCashAddress boolean
: true/false if cashaddress
// mainnet cashaddr
bitbox.Address.isCashAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// true
// mainnet w/ no cashaddr prefix
bitbox.Address.isCashAddress('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// true
// mainnet legacy
bitbox.Address.isCashAddress('18HEMuar5ZhXDFep1gEiY1eoPPcBLxfDxj')
// false
// testnet w/ cashaddr prefix
bitbox.Address.isCashAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// true
// testnet w/ no cashaddr prefix
bitbox.Address.isCashAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// true
// testnet legacy
bitbox.Address.isCashAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// false
Detect if mainnet address
- address
string
: address to determine
isMainnetAddress boolean
: true/false if mainnet address
// mainnet cashaddr
bitbox.Address.isMainnetAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// true
// mainnet cashaddr w/ no prefix
bitbox.Address.isMainnetAddress('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// true
// mainnet legacy
bitbox.Address.isMainnetAddress('14krEkSaKoTkbFT9iUCfUYARo4EXA8co6M')
// true
// testnet cashaddr
bitbox.Address.isMainnetAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// testnet w/ no cashaddr prefix
bitbox.Address.isMainnetAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// testnet legacy
bitbox.Address.isMainnetAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// false
Detect if testnet address
- addresss
string
: address to determine
isTestnetAddresss boolean
: true/false if is testnet address
// cashaddr mainnet
bitbox.Address.isTestnetAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
//false
// w/ no cashaddr prefix
bitbox.Address.isTestnetAddress('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// false
// legacy mainnet
bitbox.Address.isTestnetAddress('14krEkSaKoTkbFT9iUCfUYARo4EXA8co6M')
// false
// cashaddr testnet
bitbox.Address.isTestnetAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// true
// testnet w/ no cashaddr prefix
bitbox.Address.isTestnetAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// true
// testnet legacy
bitbox.Address.isTestnetAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// true
Detect if regtest address
- addresss
string
: address to determine
isRegtestAddresss boolean
: true/false if is regtest address
// regtest
bitbox.Address.isRegTestAddress('bchreg:qzq9je6pntpva3wf6scr7mlnycr54sjgequ54zx9lh')
// true
// regtest w/ no prefix
bitbox.Address.isRegTestAddress('qzq9je6pntpva3wf6scr7mlnycr54sjgequ54zx9lh')
// true
// cashaddr mainnet
bitbox.Address.isRegTestAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
//false
// w/ no cashaddr prefix
bitbox.Address.isRegTestAddress('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// false
// legacy mainnet
bitbox.Address.isRegTestAddress('14krEkSaKoTkbFT9iUCfUYARo4EXA8co6M')
// false
// cashaddr testnet
bitbox.Address.isRegTestAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// testnet w/ no cashaddr prefix
bitbox.Address.isRegTestAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
Detect if p2pkh address
- address
string
address to determine
isP2PKHAddress boolean
true/false if is p2pkh address
// cashaddr
bitbox.Address.isP2PKHAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// true
// w/ no cashaddr prefix
bitbox.Address.isP2PKHAddress('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// true
// legacy
bitbox.Address.isP2PKHAddress('14krEkSaKoTkbFT9iUCfUYARo4EXA8co6M')
// true
// legacy testnet
bitbox.Address.isP2PKHAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// true
// testnet w/ no cashaddr prefix
bitbox.Address.isP2PKHAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// true
// legacy testnet
bitbox.Address.isP2PKHAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// true
Detect if p2sh address
- address
string
address to determine
isP2SHAddress boolean
true/false if is p2sh address
// cashaddr
bitbox.Address.isP2SHAddress('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// false
// cashaddr w/ no prefix
bitbox.Address.isP2SHAddress('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// false
// legacy
bitbox.Address.isP2SHAddress('1NoYQso5UF6XqC4NbjKAp2EnjJ59yLNn74')
// false
// cashaddr testnet
bitbox.Address.isP2SHAddress('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// cashaddr testnet w/ no prefix
bitbox.Address.isP2SHAddress('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// false
// legacy testnet
bitbox.Address.isP2SHAddress('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// false
Detect address format
- address
string
address to determine format
addressFormat string
address format
// cashaddr
bitbox.Address.detectAddressFormat('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// cashaddr
// cashaddr w/ no prefix
bitbox.Address.detectAddressFormat('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// cashaddr
// legacy
bitbox.Address.detectAddressFormat('1NoYQso5UF6XqC4NbjKAp2EnjJ59yLNn74')
// legacy
// cashaddr testnet
bitbox.Address.detectAddressFormat('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// cashaddr
// cashaddr testnet w/ no prefix
bitbox.Address.detectAddressFormat('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// cashaddr
// legacy testnet
bitbox.Address.detectAddressFormat('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// legacy
Detect address network
- address
string
address to determine network
addressNetwork string
address network
// cashaddr
bitbox.Address.detectAddressNetwork('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// mainnet
// cashaddr w/ no prefix
bitbox.Address.detectAddressNetwork('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s')
// mainnet
// legacy
bitbox.Address.detectAddressNetwork('1NoYQso5UF6XqC4NbjKAp2EnjJ59yLNn74')
// mainnet
// cashaddr testnet
bitbox.Address.detectAddressNetwork('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// testnet
// cashaddr testnet w/ no prefix
bitbox.Address.detectAddressNetwork('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy')
// testnet
// legacy testnet
bitbox.Address.detectAddressNetwork('mqc1tmwY2368LLGktnePzEyPAsgADxbksi')
// testnet
Detect address network
- address
string
address to determine network
addressNetwork string
address network
// cashaddr
bitbox.Address.detectAddressType('bitcoincash:qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s');
// p2pkh
// cashaddr w/ no prefix
bitbox.Address.detectAddressType('qqfx3wcg8ts09mt5l3zey06wenapyfqq2qrcyj5x0s');
// p2pkh
// legacy
bitbox.Address.detectAddressType('1NoYQso5UF6XqC4NbjKAp2EnjJ59yLNn74');
// p2pkh
// cashaddr testnet
bitbox.Address.detectAddressType('bchtest:qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy');
// p2pkh
// cashaddr testnet w/ no prefix
bitbox.Address.detectAddressType('qph2v4mkxjgdqgmlyjx6njmey0ftrxlnggt9t0a6zy');
// p2pkh
// legacy testnet
bitbox.Address.detectAddressType('mqc1tmwY2368LLGktnePzEyPAsgADxbksi');
// p2pkh
Generates an address for an extended public key (xpub)
- xpub
string
: extended public key to be used - path
string
optional: derivation path of external change address. Default is0/0
changeAddress string
: cashaddr encoded change address
// generate 5 mainnet external change addresses for xpub6DTNmB7gWa8RtQAfmy8wSDikM5mky4fhsnqQd9AqoCaLcekqNgRZW5JCSXwXkLDkABHTD1qx7kqrbGzT6xBGfAvCJSj2rwvKWP8eZBR2EVA
let xpub = 'xpub6DTNmB7gWa8RtQAfmy8wSDikM5mky4fhsnqQd9AqoCaLcekqNgRZW5JCSXwXkLDkABHTD1qx7kqrbGzT6xBGfAvCJSj2rwvKWP8eZBR2EVA';
for(let i = 0; i <= 4; i++) {
console.log(bitbox.Address.fromXPub(xpub, "0/" + i))
}
// bitcoincash:qptnmya5wkly7xf97wm5ak23yqdsz3l2cyj7k9vyyh
// bitcoincash:qrr2suh9yjsrkl2qp3p967uhfg6u0r6xxsn9h5vuvr
// bitcoincash:qpkfg4kck99wksyss6nvaqtafeahfnyrpsj0ed372t
// bitcoincash:qppgmuuwy07g0x39sx2z0x2u8e34tvfdxvy0c2jvx7
// bitcoincash:qryj8x4s7vfsc864jm0xaak9qfe8qgk245y9ska57l
// generate 5 testnet external change addresses for tpubDCrnMSKwDMAbxg82yqDt97peMvftCXk3EfBb9WgZh27mPbHGkysU3TW7qX5AwydmnVQfaGeNhUR6okQ3dS5AJTP9gEP7jk2Wcj6Xntc6gNh
let xpub = 'tpubDCrnMSKwDMAbxg82yqDt97peMvftCXk3EfBb9WgZh27mPbHGkysU3TW7qX5AwydmnVQfaGeNhUR6okQ3dS5AJTP9gEP7jk2Wcj6Xntc6gNh';
for(let i = 0; i <= 4; i++) {
console.log(bitbox.Address.fromXPub(xpub, "0/" + i))
}
// bchtest:qrth8470sc9scek9u0jj2d0349t62gxzdstw2jukl8
// bchtest:qpm56zc5re0nhms96r7p985aajthp0vxvg6e4ux3kc
// bchtest:qqtu3tf6yyd73ejhk3a2ylqynpl3mzzhwuzt299jfd
// bchtest:qzd7dvlnfukggjqsf5ju0qqwwltakfumjsck33js6m
// bchtest:qq322ataqeas4n0pdn4gz2sdereh5ae43ylk4qdvus
Generates an address for an extended private key (xpriv)
- xpriv
string
: extended private key to be used - path
string
optional: derivation path of change address. Default is0'/0
changeAddress string
: cashaddr encoded change address
// generate 5 mainnet addresses for xprvA2WwD9mk1Qd3rMjQ4ZRHvCWCj47jbXjY9Nf7npNRBmGUJngpRAvJzNpNgt7h2dDQ5huG7yFwYfz4PFJDPzkqfvBNPHnaio4yAbbUuv3EBnL
let xpriv = 'xprvA2WwD9mk1Qd3rMjQ4ZRHvCWCj47jbXjY9Nf7npNRBmGUJngpRAvJzNpNgt7h2dDQ5huG7yFwYfz4PFJDPzkqfvBNPHnaio4yAbbUuv3EBnL';
for(let i = 0; i <= 4; i++) {
console.log(bitbox.Address.fromXPriv(xpriv, "0'/" + i))
}
// bitcoincash:qpmcs78tpfvfphhedcczydaddu5wmcx0xvrwf3fjph
// bitcoincash:qppfr7fu4dzxguen85rjwa6ress3sl839qyudganxj
// bitcoincash:qpuaaaseccxyjj04d2l3qv4vd2wxj6gtwvnfe3ckh8
// bitcoincash:qp46n7a53jvkarp9ps595fjv8czfd045v5zk4xhspm
// bitcoincash:qprjdqx7cnrac4uemp2fza08k875wsgzfcapk76n9n
// generate 5 testnet addresses for tprv8jBszV65QgT8TAxvj8Go5r8C3BXwq3mYUvaEfEnsfjkx6PRuQYG4W8Bpc4HM2zbiT9S384shi2Zrr6qxXD6nUySxuvztP9o25hLuMcDvMYD
let xpriv = 'tprv8jBszV65QgT8TAxvj8Go5r8C3BXwq3mYUvaEfEnsfjkx6PRuQYG4W8Bpc4HM2zbiT9S384shi2Zrr6qxXD6nUySxuvztP9o25hLuMcDvMYD';
for(let i = 0; i <= 4; i++) {
console.log(bitbox.Address.fromXPub(xpriv, "0'/" + i))
}
// bchtest:qpmcs78tpfvfphhedcczydaddu5wmcx0xv8udkt9xt
// bchtest:qppfr7fu4dzxguen85rjwa6ress3sl839qqwf0lypw
// bchtest:qpuaaaseccxyjj04d2l3qv4vd2wxj6gtwvhmak6psm
// bchtest:qp46n7a53jvkarp9ps595fjv8czfd045v5xy3p48x8
// bchtest:qprjdqx7cnrac4uemp2fza08k875wsgzfcenjecyz0
Detect an addess from an OutputScript.
- scriptPubKey
Buffer
: scriptPubKey - network
string
optional: defaults to "mainnet"
changeAddress string
: cashaddr encoded change address
const script = bitbox.Script.encode([
Buffer.from("BOX", "ascii"),
bitbox.Script.opcodes.OP_CAT,
Buffer.from("BITBOX", "ascii"),
bitbox.Script.opcodes.OP_EQUAL
]);
const p2sh_hash160 = bitbox.Crypto.hash160(script);
const scriptPubKey = bitbox.Script.scriptHash.output.encode(p2sh_hash160);
// mainnet address from output script
bitbox.Address.fromOutputScript(scriptPubKey);
// bitcoincash:pz0qcslrqn7hr44hsszwl4lw5r6udkg6zqncnufkrl
// testnet address from output script
bitbox.Address.fromOutputScript(scriptPubKey, 'testnet');
// bchtest:pz0qcslrqn7hr44hsszwl4lw5r6udkg6zqh2hmtpyr
Detect if an addess is a hash160.
- address
string
: address
isHash160 boolean
: true/false if address is hash160
let hash160Address = '428df38e23fc879a25819427995c3e6355b12d33';
bitbox.Address.isHash160(hash160Address);
// true
let notHash160Address = 'bitcoincash:pz8a837lttkvjksg0jjmmulqvfkgpqrcdgufy8ns5s';
bitbox.Address.isHash160(notHash160Address);
// false
Convert legacy address to hash160.
- address
string
: legacy address
hash160 string
: hash160
// legacy mainnet p2pkh
bitbox.Address.legacyToHash160("18xHZ8g2feo4ceejGpvzHkvXT79fi2ZdTG")
// 573d93b475be4f1925f3b74ed951201b0147eac1
// legacy mainnet p2sh
bitbox.Address.legacyToHash160("3DA6RBcFgLwLTpnF6BRAee8w6a9H6JQLCm")
// 7dc85da64d1d93ef01ef62e0221c02f512e3942f
// legacy testnet p2pkh
bitbox.Address.legacyToHash160("mhTg9sgNgvAGfmJs192oUzQWqAXHH5nqLE")
// 155187a3283b08b30519db50bc23bbba9f4b6657
Convert cash address to hash160.
- address
string
: cash address
hash160 string
: hash160
// cash address mainnet p2pkh
bitbox.Address.cashToHash160("bitcoincash:qptnmya5wkly7xf97wm5ak23yqdsz3l2cyj7k9vyyh")
// 573d93b475be4f1925f3b74ed951201b0147eac1
// cash address mainnet p2sh
bitbox.Address.cashToHash160("bitcoincash:pp7ushdxf5we8mcpaa3wqgsuqt639cu59ur5xu5fug")
// 7dc85da64d1d93ef01ef62e0221c02f512e3942f
// cash address testnet p2pkh
bitbox.Address.cashToHash160("bchtest:qq24rpar9qas3vc9r8d4p0prhwaf7jmx2u22nzt946")
// 155187a3283b08b30519db50bc23bbba9f4b6657
Convert hash160 to legacy address.
- hash160
string
: hash160 - network
number
optional
legacyAddress string
: the address in legacy format
// legacy mainnet p2pkh
bitbox.Address.hash160ToLegacy("573d93b475be4f1925f3b74ed951201b0147eac1")
// 18xHZ8g2feo4ceejGpvzHkvXT79fi2ZdTG
// legacy mainnet p2sh
bitbox.Address.hash160ToLegacy("7dc85da64d1d93ef01ef62e0221c02f512e3942f", 0x05)
// 3DA6RBcFgLwLTpnF6BRAee8w6a9H6JQLCm
// legacy testnet p2pkh
bitbox.Address.hash160ToLegacy("155187a3283b08b30519db50bc23bbba9f4b6657", 0x6f)
// mhTg9sgNgvAGfmJs192oUzQWqAXHH5nqLE
Convert hash160 to cash address.
- hash160
string
: hash160 - network
number
optional
cashAddress string
: the address in cash format
bitbox.Address.hash160ToCash("573d93b475be4f1925f3b74ed951201b0147eac1")
'bitcoincash:qptnmya5wkly7xf97wm5ak23yqdsz3l2cyj7k9vyyh'
bitbox.Address.hash160ToCash("7dc85da64d1d93ef01ef62e0221c02f512e3942f", 0x05)
'bitcoincash:pp7ushdxf5we8mcpaa3wqgsuqt639cu59ur5xu5fug'
bitbox.Address.hash160ToCash("155187a3283b08b30519db50bc23bbba9f4b6657", 0x6f)
'bchtest:qq24rpar9qas3vc9r8d4p0prhwaf7jmx2u22nzt946'
Return details about an address including balance.
- addresses (required):
string
: A single string containing a legacy or cash address.Array
of strings: Array with maximum of 20 legacy or cash addresses.
- details:
Promise<AddressDetailsResult>
: containing details about the single address.Promise<AddressDetailsResult[]>
: Array of Objects with details about addresses.
(async () => {
try {
let details = await bitbox.Address.details('1BFHGm4HzqgXXyNX8n7DsQno5DAC4iLMRA');
console.log(details)
} catch(error) {
console.error(error)
}
})()
// {
// "addrStr": "1BFHGm4HzqgXXyNX8n7DsQno5DAC4iLMRA",
// "balance": 0.36781097,
// "balanceSat": 36781097,
// "totalReceived": 0.36781097,
// "totalReceivedSat": 36781097,
// "totalSent": 0,
// "totalSentSat": 0,
// "unconfirmedBalance": 0,
// "unconfirmedBalanceSat": 0,
// "unconfirmedTxAppearances": 0,
// "txAppearances": 7,
// "transactions": [
// "f737485aaee3c10b13013fa109bb6294b099246134ca9885f4cc332dbc6c9bb4",
// "decd5b9c0c959e4e543182093e8f7f8bc7a6ecd96a8a062daaeff3667f8feca7",
// "94e69a627a34ae27fca81d15fff4323a7ce1f7c275c7485762ce018221017632",
// "e67c70787af7f3506263c9eda007f3d2d24bd750ff95b5c50a120d9118dfd807",
// "8e5e00704a147d54028f94d52df7730e821b9c6cd4bd29494e5636f49c199d6a",
// "15102827c108566ea5daf725c09079c1a3f42ef99d1eb68ea8c584f7b16ab87a",
// "cc27be8846276612dfce5924b7be96556212f0f0e62bd17641732175edb9911e"
// ]
// }
(async () => {
try {
let details = await bitbox.Address.details(['1BFHGm4HzqgXXyNX8n7DsQno5DAC4iLMRA', "bitcoincash:qp7ekaepv3wf2nq035hevcma4x9sxmp3w56048g6ra"]);
console.log(details)
} catch(error) {
console.error(error)
}
})()
// [ { balance: 0.36781097,
// balanceSat: 36781097,
// totalReceived: 0.36781097,
// totalReceivedSat: 36781097,
// totalSent: 0,
// totalSentSat: 0,
// unconfirmedBalance: 0,
// unconfirmedBalanceSat: 0,
// unconfirmedTxAppearances: 0,
// txAppearances: 7,
// transactions:
// [ 'f737485aaee3c10b13013fa109bb6294b099246134ca9885f4cc332dbc6c9bb4',
// 'decd5b9c0c959e4e543182093e8f7f8bc7a6ecd96a8a062daaeff3667f8feca7',
// '94e69a627a34ae27fca81d15fff4323a7ce1f7c275c7485762ce018221017632',
// 'e67c70787af7f3506263c9eda007f3d2d24bd750ff95b5c50a120d9118dfd807',
// '8e5e00704a147d54028f94d52df7730e821b9c6cd4bd29494e5636f49c199d6a',
// '15102827c108566ea5daf725c09079c1a3f42ef99d1eb68ea8c584f7b16ab87a',
// 'cc27be8846276612dfce5924b7be96556212f0f0e62bd17641732175edb9911e' ],
// legacyAddress: '1BFHGm4HzqgXXyNX8n7DsQno5DAC4iLMRA',
// cashAddress: 'bitcoincash:qpcxf2sv9hjw08nvpgffpamfus9nmksm3chv5zqtnz' },
// { balance: 0,
// balanceSat: 0,
// totalReceived: 0,
// totalReceivedSat: 0,
// totalSent: 0,
// totalSentSat: 0,
// unconfirmedBalance: 0,
// unconfirmedBalanceSat: 0,
// unconfirmedTxAppearances: 0,
// txAppearances: 0,
// transactions: [],
// legacyAddress: '1CT9huFgxMFveRvzZ7zPPJNoaMm2Fo64VH',
// cashAddress: 'bitcoincash:qp7ekaepv3wf2nq035hevcma4x9sxmp3w56048g6ra' } ]
Return list of uxto for address. This includes confirmed and unconfirmed utxos.
- addresses (required) - 2 formats allowed:
string
: A single string containing a legacy or cash address.Array
of strings: Array with maximum of 20 legacy or cash addresses.
- utxo (2 formats based on the argument format):
- utxo
Promise<AddressUtxoResult>
- utxos
Promise<AddressUtxoResult[]>
- utxo
(async () => {
try {
let utxo = await bitbox.Address.utxo('1M1FYu4zuVaxRPWLZG5CnP8qQrZaqu6c2L');
console.log(utxo);
} catch(error) {
console.error(error)
}
})()
// {
// "utxos": [
// {
// "txid": "27ec8512c1a9ee9e9ae9b98eb60375f1d2bd60e2e76a1eff5a45afdbc517cf9c",
// "vout": 0,
// "amount": 0.001,
// "satoshis": 100000,
// "height": 560430,
// "confirmations": 5163
// },
// {
// "txid": "6e1ae1bf7db6de799ec1c05ab2816ac65549bd80141567af088e6f291385b07d",
// "vout": 0,
// "amount": 0.0013,
// "satoshis": 130000,
// "height": 560039,
// "confirmations": 5554
// }
// ],
// "legacyAddress": "1M1FYu4zuVaxRPWLZG5CnP8qQrZaqu6c2L",
// "cashAddress": "bitcoincash:qrdka2205f4hyukutc2g0s6lykperc8nsu5u2ddpqf",
// "scriptPubKey": "76a914db6ea94fa26b7272dc5e1487c35f258391e0f38788ac"
// }
(async () => {
try {
let utxo = await bitbox.Address.utxo([
"bitcoincash:qrdka2205f4hyukutc2g0s6lykperc8nsu5u2ddpqf",
"bitcoincash:qpdh9s677ya8tnx7zdhfrn8qfyvy22wj4qa7nwqa5v"
]);
console.log(utxo);
} catch(error) {
console.error(error)
}
})()
// [
// {
// "utxos": [
// {
// "txid": "27ec8512c1a9ee9e9ae9b98eb60375f1d2bd60e2e76a1eff5a45afdbc517cf9c",
// "vout": 0,
// "amount": 0.001,
// "satoshis": 100000,
// "height": 560430,
// "confirmations": 5163
// },
// {
// "txid": "6e1ae1bf7db6de799ec1c05ab2816ac65549bd80141567af088e6f291385b07d",
// "vout": 0,
// "amount": 0.0013,
// "satoshis": 130000,
// "height": 560039,
// "confirmations": 5554
// }
// ],
// "legacyAddress": "1M1FYu4zuVaxRPWLZG5CnP8qQrZaqu6c2L",
// "cashAddress": "bitcoincash:qrdka2205f4hyukutc2g0s6lykperc8nsu5u2ddpqf",
// "scriptPubKey": "76a914db6ea94fa26b7272dc5e1487c35f258391e0f38788ac"
// },
// {
// "utxos": [],
// "legacyAddress": "19LXyLnux1tbTdHnMuYAgDZ81ZQDWEi12g",
// "cashAddress": "bitcoincash:qpdh9s677ya8tnx7zdhfrn8qfyvy22wj4qa7nwqa5v"
// }
// ]
Return list of unconfirmed transactions for address
- addresses (required):
string
: A single string containing a legacy or cash address.Array
of strings: Array with maximum of 20 legacy or cash addresses.
- unconfirmed:
- utxo
Promise<AddressUnconfirmedResult>
: containingutxo
array of utxos, pluslegacyAddress
andcashAddress
properties. - utxos
Promise<AddressUnconfirmedResult[]>
: Array of utxo Objects.
- utxo
(async () => {
try {
let unconfirmed = await bitbox.Address.unconfirmed('1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R');
console.log(unconfirmed);
} catch(error) {
console.error(error)
}
})()
// {
// "utxos": [
// {
// "address": "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R",
// "txid": "5ddf277cecefab4bb75fb5d6ba21170cec756ef28a045cb4ec45ccffda28cdaf",
// "vout": 0,
// "scriptPubKey": "76a914bcbc83f8fadb704a6aeccf38079e428da445b11e88ac",
// "amount": 0.0001,
// "satoshis": 10000,
// "confirmations": 0,
// "ts": 1547670883
// }
// ],
// "legacyAddress": "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R",
// "cashAddress": "bitcoincash:qz7teqlcltdhqjn2an8nspu7g2x6g3d3rcq8nk4nzs"
// }
(async () => {
try {
let unconfirmed = await bitbox.Address.unconfirmed(['1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R', "bitcoincash:qqcp8fw06dmjd2gnfanpwytj7q93w408nv7usdqgsk"])
console.log(unconfirmed);
} catch(error) {
console.error(error)
}
})()
// [
// {
// "utxos": [
// {
// "address": "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R",
// "txid": "5ddf277cecefab4bb75fb5d6ba21170cec756ef28a045cb4ec45ccffda28cdaf",
// "vout": 0,
// "scriptPubKey": "76a914bcbc83f8fadb704a6aeccf38079e428da445b11e88ac",
// "amount": 0.0001,
// "satoshis": 10000,
// "confirmations": 0,
// "ts": 1547670883
// }
// ],
// "legacyAddress": "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R",
// "cashAddress": "bitcoincash:qz7teqlcltdhqjn2an8nspu7g2x6g3d3rcq8nk4nzs"
// },
// {
// "utxos": [
// {
// "address": "15PCyMYPK6EX4xGenwG55FwdNnuyoHzYAX",
// "txid": "f15ea5a836165bff9d711e9a1340e23554e28e03239aa3f4f9951c11ca1b6962",
// "vout": 0,
// "scriptPubKey": "76a9143013a5cfd37726a9134f66171172f00b1755e79b88ac",
// "amount": 0.0001,
// "satoshis": 10000,
// "confirmations": 0,
// "ts": 1547670908
// }
// ],
// "legacyAddress": "15PCyMYPK6EX4xGenwG55FwdNnuyoHzYAX",
// "cashAddress": "bitcoincash:qqcp8fw06dmjd2gnfanpwytj7q93w408nv7usdqgsk"
// }
// ]
Returns decoded transactions for an address
- addresses (required):
string
: A single string containing a legacy or cash address.Array
of strings: Array with maximum of 20 legacy or cash addresses.
- transaction:
Object
: containingtxs
array of decoded transactions, pluslegacyAddress
andcashAddress
properties.Array
: Array of txs Objects.
(async () => {
try {
let transaction = await bitbox.Address.transactions('bitcoincash:qz7teqlcltdhqjn2an8nspu7g2x6g3d3rcq8nk4nzs');
console.log(transaction);
} catch(error) {
console.error(error)
}
})()
// {
// "pagesTotal": 1,
// "txs": [
// {
// "txid": "5ddf277cecefab4bb75fb5d6ba21170cec756ef28a045cb4ec45ccffda28cdaf",
// "version": 2,
// "locktime": 0,
// "vin": [
// {
// "txid": "d0ff03c2429810991e8e23cfe2f253891eaae391bcbfd61706d340d9d649abea",
// "vout": 0,
// "sequence": 4294967295,
// "n": 0,
// "scriptSig": {
// "hex": "483045022100fc121a12774e7f212f42898ea123ecc03099dc610a48627649f58490f183027b0220113964a117dc5aaed7c76a569a287797ccffad192cc346114340e59a706a1cd841210242faa7cc02f9e6c3a0aec97a946b9d3793fa6ab76362e02dd239bc56393671cd",
// "asm": "3045022100fc121a12774e7f212f42898ea123ecc03099dc610a48627649f58490f183027b0220113964a117dc5aaed7c76a569a287797ccffad192cc346114340e59a706a1cd8[ALL|FORKID] 0242faa7cc02f9e6c3a0aec97a946b9d3793fa6ab76362e02dd239bc56393671cd"
// },
// "addr": "1GQTe9EdBaF4fCTC2esvPNXewkUZoytADL",
// "valueSat": 3466913,
// "value": 0.03466913,
// "doubleSpentTxID": null
// }
// ],
// "vout": [
// {
// "value": "0.00010000",
// "n": 0,
// "scriptPubKey": {
// "hex": "76a914bcbc83f8fadb704a6aeccf38079e428da445b11e88ac",
// "asm": "OP_DUP OP_HASH160 bcbc83f8fadb704a6aeccf38079e428da445b11e OP_EQUALVERIFY OP_CHECKSIG",
// "addresses": [
// "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R"
// ],
// "type": "pubkeyhash"
// },
// "spentTxId": null,
// "spentIndex": null,
// "spentHeight": null
// },
// {
// "value": "0.03456687",
// "n": 1,
// "scriptPubKey": {
// "hex": "76a914a8f9b1307fa412da6a909f08930e5a502d27a74a88ac",
// "asm": "OP_DUP OP_HASH160 a8f9b1307fa412da6a909f08930e5a502d27a74a OP_EQUALVERIFY OP_CHECKSIG",
// "addresses": [
// "1GQTe9EdBaF4fCTC2esvPNXewkUZoytADL"
// ],
// "type": "pubkeyhash"
// },
// "spentTxId": null,
// "spentIndex": null,
// "spentHeight": null
// }
// ],
// "blockheight": -1,
// "confirmations": 0,
// "time": 1547674527,
// "valueOut": 0.03466687,
// "size": 226,
// "valueIn": 0.03466913,
// "fees": 0.00000226
// }
// ],
// "legacyAddress": "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R",
// "cashAddress": "bitcoincash:qz7teqlcltdhqjn2an8nspu7g2x6g3d3rcq8nk4nzs",
// "currentPage": 0
// }
(async () => {
try {
let transaction = await bitbox.Address.transactions([
"bitcoincash:qz7teqlcltdhqjn2an8nspu7g2x6g3d3rcq8nk4nzs",
"bitcoincash:qqcp8fw06dmjd2gnfanpwytj7q93w408nv7usdqgsk"
]);
console.log(transaction);
} catch(error) {
console.error(error)
}
})()
// [
// {
// "pagesTotal": 1,
// "txs": [
// {
// "txid": "5ddf277cecefab4bb75fb5d6ba21170cec756ef28a045cb4ec45ccffda28cdaf",
// "version": 2,
// "locktime": 0,
// "vin": [
// {
// "txid": "d0ff03c2429810991e8e23cfe2f253891eaae391bcbfd61706d340d9d649abea",
// "vout": 0,
// "sequence": 4294967295,
// "n": 0,
// "scriptSig": {
// "hex": "483045022100fc121a12774e7f212f42898ea123ecc03099dc610a48627649f58490f183027b0220113964a117dc5aaed7c76a569a287797ccffad192cc346114340e59a706a1cd841210242faa7cc02f9e6c3a0aec97a946b9d3793fa6ab76362e02dd239bc56393671cd",
// "asm": "3045022100fc121a12774e7f212f42898ea123ecc03099dc610a48627649f58490f183027b0220113964a117dc5aaed7c76a569a287797ccffad192cc346114340e59a706a1cd8[ALL|FORKID] 0242faa7cc02f9e6c3a0aec97a946b9d3793fa6ab76362e02dd239bc56393671cd"
// },
// "addr": "1GQTe9EdBaF4fCTC2esvPNXewkUZoytADL",
// "valueSat": 3466913,
// "value": 0.03466913,
// "doubleSpentTxID": null
// }
// ],
// "vout": [
// {
// "value": "0.00010000",
// "n": 0,
// "scriptPubKey": {
// "hex": "76a914bcbc83f8fadb704a6aeccf38079e428da445b11e88ac",
// "asm": "OP_DUP OP_HASH160 bcbc83f8fadb704a6aeccf38079e428da445b11e OP_EQUALVERIFY OP_CHECKSIG",
// "addresses": [
// "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R"
// ],
// "type": "pubkeyhash"
// },
// "spentTxId": null,
// "spentIndex": null,
// "spentHeight": null
// },
// {
// "value": "0.03456687",
// "n": 1,
// "scriptPubKey": {
// "hex": "76a914a8f9b1307fa412da6a909f08930e5a502d27a74a88ac",
// "asm": "OP_DUP OP_HASH160 a8f9b1307fa412da6a909f08930e5a502d27a74a OP_EQUALVERIFY OP_CHECKSIG",
// "addresses": [
// "1GQTe9EdBaF4fCTC2esvPNXewkUZoytADL"
// ],
// "type": "pubkeyhash"
// },
// "spentTxId": null,
// "spentIndex": null,
// "spentHeight": null
// }
// ],
// "blockheight": -1,
// "confirmations": 0,
// "time": 1547674527,
// "valueOut": 0.03466687,
// "size": 226,
// "valueIn": 0.03466913,
// "fees": 0.00000226
// }
// ],
// "legacyAddress": "1JCwsMQtiV85fGjps4zXceaCCgxpQ1u84R",
// "cashAddress": "bitcoincash:qz7teqlcltdhqjn2an8nspu7g2x6g3d3rcq8nk4nzs",
// "currentPage": 0
// },
// {
// "pagesTotal": 1,
// "txs": [
// {
// "txid": "f15ea5a836165bff9d711e9a1340e23554e28e03239aa3f4f9951c11ca1b6962",
// "version": 2,
// "locktime": 0,
// "vin": [
// {
// "txid": "5ddf277cecefab4bb75fb5d6ba21170cec756ef28a045cb4ec45ccffda28cdaf",
// "vout": 1,
// "sequence": 4294967295,
// "n": 0,
// "scriptSig": {
// "hex": "47304402206124fca6aecc35e48b5d1293bd97cadb39f830308c75331b3e5fd2e6806efe9b0220014cf3ecf0be1cb1bee7e362257b33e0905451d44f0902b13ada2765d53332d741210242faa7cc02f9e6c3a0aec97a946b9d3793fa6ab76362e02dd239bc56393671cd",
// "asm": "304402206124fca6aecc35e48b5d1293bd97cadb39f830308c75331b3e5fd2e6806efe9b0220014cf3ecf0be1cb1bee7e362257b33e0905451d44f0902b13ada2765d53332d7[ALL|FORKID] 0242faa7cc02f9e6c3a0aec97a946b9d3793fa6ab76362e02dd239bc56393671cd"
// },
// "addr": "1GQTe9EdBaF4fCTC2esvPNXewkUZoytADL",
// "valueSat": 3456687,
// "value": 0.03456687,
// "doubleSpentTxID": null
// }
// ],
// "vout": [
// {
// "value": "0.00010000",
// "n": 0,
// "scriptPubKey": {
// "hex": "76a9143013a5cfd37726a9134f66171172f00b1755e79b88ac",
// "asm": "OP_DUP OP_HASH160 3013a5cfd37726a9134f66171172f00b1755e79b OP_EQUALVERIFY OP_CHECKSIG",
// "addresses": [
// "15PCyMYPK6EX4xGenwG55FwdNnuyoHzYAX"
// ],
// "type": "pubkeyhash"
// },
// "spentTxId": null,
// "spentIndex": null,
// "spentHeight": null
// },
// {
// "value": "0.03446461",
// "n": 1,
// "scriptPubKey": {
// "hex": "76a914a8f9b1307fa412da6a909f08930e5a502d27a74a88ac",
// "asm": "OP_DUP OP_HASH160 a8f9b1307fa412da6a909f08930e5a502d27a74a OP_EQUALVERIFY OP_CHECKSIG",
// "addresses": [
// "1GQTe9EdBaF4fCTC2esvPNXewkUZoytADL"
// ],
// "type": "pubkeyhash"
// },
// "spentTxId": null,
// "spentIndex": null,
// "spentHeight": null
// }
// ],
// "blockheight": -1,
// "confirmations": 0,
// "time": 1547674527,
// "valueOut": 0.03456461,
// "size": 225,
// "valueIn": 0.03456687,
// "fees": 0.00000226
// }
// ],
// "legacyAddress": "15PCyMYPK6EX4xGenwG55FwdNnuyoHzYAX",
// "cashAddress": "bitcoincash:qqcp8fw06dmjd2gnfanpwytj7q93w408nv7usdqgsk",
// "currentPage": 0
// }
// ]
{
balance: number
balanceSat: number
totalReceived: number
totalReceivedSat: number
totalSent: number
totalSentSat: number
unconfirmedBalance: number
unconfirmedBalanceSat: number
unconfirmedTxApperances: number
txApperances: number
transactions: string[]
legacyAddress: string
cashAddress: string
}
{
legacyAddress: string
cashAddress: string
scriptPubKey: string
utxos: [
{
txid: string
vout: number
amount: number
satoshis: number
height: number
confirmations: number
}
]
}
{
txid: string
vout: number
scriptPubKey: string
amount: number
satoshis: number
confirmations: number
ts: number
legacyAddress: string
cashAddress: string
}