无效的缺失输入nbitcoin

时间:2018-09-12 09:54:53

标签: c# bitcoin bitcoin-testnet nbitcoin

我正在建立一个比特币钱包,但收到错误消息:无效的输入。

这是示例代码

var transaction = new Transaction();

List<NBitcoin.ICoin> receivedCoins = new List<NBitcoin.ICoin>();

OutPoint outPointToSpend = null;
if (balance.Operations.Count > 0)
{
    foreach (var operation in balance.Operations)
    {
            foreach (Coin receivedCoin in operation.ReceivedCoins)
            {
                outPointToSpend = receivedCoin.Outpoint;
                {
                    if (receivedCoin.TxOut.ScriptPubKey == mk.ScriptPubKey)
                    {
                        outPointToSpend = receivedCoin.Outpoint;
                    }
                }

                if (outPointToSpend == null)
                    throw new Exception("TxOut doesn't contain our ScriptPubKey");

                transaction.Inputs.Add(new TxIn() { PrevOut = outPointToSpend });

                receivedCoins.Add(receivedCoin);
            }

一切似乎都正常,我没有收到其他错误。这也是事务生成器。

TransactionBuilder builder = new TransactionBuilder();
var tx = builder
            .AddCoins(receivedCoins)
            .AddKeys(mk)
            .Send(Stranger, Money.Coins(k))
            .SetChange(mk)
            .SendFees(Money.Coins(0.0001m))
            .BuildTransaction(sign: true);

有什么想法吗?

这不是编译错误。在MessageBox,ErrorCode:和Error message:

中构建项目时收到错误消息
BroadcastResponse broadcastResponse = client.Broadcast(tx).Result;
if (!broadcastResponse.Success)
{
    MessageBox.Show("ErrorCode: " + broadcastResponse.Error.ErrorCode);
    MessageBox.Show("Error message: " + broadcastResponse.Error.Reason);
}
else
{
    MessageBox.Show("Success! You can check out the hash of the transaciton in any block explorer:");
    Console.WriteLine(tx.GetHash());
}

0 个答案:

没有答案