0

我正在使用比特币现金JS创建一个交易,我的代码如下:

let BITBOXCli = require('bitbox-cli/lib/bitbox-cli').default;
const explorers = require('bitcore-explorers')
const insight = new explorers.Insight('https://test-bch-insight.bitpay.com')
let BITBOX = new BITBOXCli();
let txb = new BITBOX.TransactionBuilder('testnet');
var To = 'mkiuwbSQQVxMvvbBcYEKUdZgJfURhu3hrW'
var from = 'mvStb7hPtDCL8dmyifPGcYTuToVzf7ajTb';
var bch = require('bitcoincashjs')
var bchLib = require('@owstack/bch-lib')
const buf = new Buffer('b27ab45d3e3d157e8b95f800347974f9991cf13ceb814e1992f40c5e4e6d5253', 'hex')
const privateKey = new bch.PrivateKey(buf, bch.Networks.testnet)
const address = privateKey.toAddress('testnet')
insight.getUnspentUtxos(address.toString(), function (error, utxos) {
  if (error) {
    console.error(error)
    return
  }
  console.log(utxos)

  const utxo = {
    txid: utxos[0].txid,
    outputIndex: utxos[0].vout,
    script: utxos[0].scriptPubKey,
    satoshis: utxos[0].satoshis
  }
  const transaction = new bch.Transaction()
    .from(utxo)
    .to(To, 50000)
    .sign(0, privateKey)
  console.log(transaction.toString())
});

现在,当我运行此代码时,我可以获得原始交易哈希,但无法广播交易,消息如下:

缺少输入错误:-25

关于这个错误的任何想法?或者有没有其他方法可以创建 BCH 交易?

4

1 回答 1

1

看起来您正在尝试创建一个简单的交易以将 BCH 从一个地址发送到另一个地址。现在在 BITBOX SDK 存储库中有一个用于此确切用例的示例:

https://github.com/Bitcoin-com/bitbox-javascript-sdk/blob/master/examples/applications/wallet/send-bch/send-bch.js

还有其他示例,例如创建钱包检查余额:

https://github.com/Bitcoin-com/bitbox-javascript-sdk/tree/master/examples/applications/wallet

Wormhole SDK 中还有更多示例。(Wormhole SDK 是 BITBOX 的超集,所以它可以做任何 BITBOX 可以做的事情):

https://github.com/Bitcoin-com/wormhole-sdk/tree/master/examples

于 2018-10-26T00:38:31.857 回答