Попробуйте использовать bitcore-insight, чтобы заставить getUtxos работать.
Предпочтительный способ сделать это - вернуть обещание в функции getUtxos (), которое вы затем можете использовать, предпочтительно используя async-await в функции sendBtc ().
Вот выдержка из кода, чтобы помочь вам.
var bitcore = require('node_modules/bitcore-explorers/node_modules/bitcore-lib');
var Insight = require("node_modules/bitcore-explorers").Insight;
var insight = new Insight("testnet");
function getUtxos(address){
return new Promise((resolve, reject)=>{
insight.getUnspentUtxos(address, (err, utxos)=>{
if(err) reject(err)
else{
resolve(utxos);
}
})
})
}
async function sendingBtc() {
console.log(req.body)
let utxos = await getUtxos(address);
// Another function to derive your private key
let privateKey = await generatePrivKey
bitcore.Transaction()
.from(utxos)
.to(req.body.txSendAddress,amount*100000000 - 3000)
.change(changeAddress)
.sign(privateKey);
insight.broadcast(tx, (err, returnedTxId)=>{
if(!err) console.log(returnedTxId)
})
Надеюсь, этот фрагмент кода поможет вам, помните, что вам также нужно получить свой закрытый ключ для подписания транзакции и установить адрес изменения (необязательно, но рекомендуется)!