49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
var httpify = require('httpify')
|
|
|
|
var BLOCKTRAIL_API_KEY = process.env.BLOCKTRAIL_API_KEY || 'c0bd8155c66e3fb148bb1664adc1e4dacd872548'
|
|
|
|
function faucetWithdraw (address, amount, callback) {
|
|
httpify({
|
|
method: 'POST',
|
|
url: 'https://api.blocktrail.com/v1/tBTC/faucet/withdrawl?api_key=' + BLOCKTRAIL_API_KEY,
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({
|
|
address: address,
|
|
amount: amount
|
|
})
|
|
}, callback)
|
|
}
|
|
|
|
function pollUnspent (blockchain, address, done) {
|
|
blockchain.addresses.unspents(address, function (err, unspents) {
|
|
if (err) return done(err)
|
|
|
|
if (!unspents || unspents.length === 0) {
|
|
return setTimeout(function () {
|
|
pollUnspent(blockchain, address, done)
|
|
}, 200)
|
|
}
|
|
|
|
done(null, unspents)
|
|
})
|
|
}
|
|
|
|
function pollSummary (blockchain, address, done) {
|
|
blockchain.addresses.summary(address, function (err, result) {
|
|
if (err) return done(err)
|
|
|
|
if (result.balance === 0) {
|
|
return setTimeout(function () {
|
|
pollSummary(blockchain, address, done)
|
|
}, 200)
|
|
}
|
|
|
|
done(null, result)
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
faucetWithdraw: faucetWithdraw,
|
|
pollUnspent: pollUnspent,
|
|
pollSummary: pollSummary
|
|
}
|