Estoy tratando de enviar testnet con bitcoinjs, pero cuando voy a transmitir el hexadecimal, me da un código de error que dice "la tarifa es demasiado alta: 12372928". Ahora, según tengo entendido, la tarifa es la entrada - salida. Sin embargo, incluso si aumento la salida para que coincida con el saldo de la billetera, recibo exactamente el mismo mensaje de error. Aquí está mi código:
this.setState({
address: 'mphWVWbPgGKuaMpSpGNA3Ffrpva5cRChqP',
privateKey: 'cW6dLEqkk2HAbQTSJaHnn4w3kd2iJfhBREccEE3vzrq8kcVE5TqS',
});
}
createTransaction = (e) => {
e.preventDefault()
const {address, privateKey} = this.state;
var hashURL = `https://api.blockcypher.com/v1/btc/test3/addrs/${address}`
axios.get(hashURL).then((response) => {
this.setState({
hash: response.data.txrefs[0].tx_hash
})
}).then((result) => {
var tx = new bitcoin.TransactionBuilder(testnet);
var txId = this.state.hash;
console.log(txId);
tx.addInput(txId, 0)
tx.addOutput(this.state.add, 1000000)
var keyPair2 = bitcoin.ECPair.fromWIF(privateKey, testnet);
tx.sign(0, keyPair2);
console.log(tx.build().toHex());
}
)
}
¿Habría alguna forma de configurar manualmente la tarifa para que siempre sea algo así como 0,0001?
La tarifa del minero, por defecto, será igual a las entradas y salidas de su transacción.
Noto algunos problemas con tu código. No especifica una dirección de cambio para enviar la cantidad sobrante. Si tengo una salida no gastada de 100
BTC y quiero enviar 10
BTC a otra persona, debería tener 1 entrada (la salida no gastada de la transacción anterior) y 2 salidas (la dirección del receptor y la dirección de cambio). Las entradas y salidas se verán así:
Entradas
100
BTCSalidas
10
BTC89.999
BTCLa tarifa será 0.001
BTC desde (in)(100) - (out)(10 + 89.999) = 0.001
.
Espero haber podido ayudar.