首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用c# NBitcoin从一个地址发送测试BTC到另一个地址?

如何用c# NBitcoin从一个地址发送测试BTC到另一个地址?
EN

Stack Overflow用户
提问于 2022-02-14 20:43:28
回答 1查看 472关注 0票数 -2

我已经想了三天了。我认为我的问题不在于事务构建器,而在于.AddCoins部分。

代码语言:javascript
复制
TransactionBuilder builder = Network.TestNet.CreateTransactionBuilder();

var transaction = builder
                .AddCoins(coins)
                .AddKeys(myPrivateKey)
                .Send(addressThatIamSendingTo, Money.Coins(amountToSend))
                .SetChange(addressThatIamSendingFrom);
            
var fee = transaction.EstimateFees(new FeeRate(1m));
                
var finalTransaction = transaction.SendFees(fee).BuildTransaction(true);

我在.AddCoins的硬币是从这里来的:

代码语言:javascript
复制
var balance = client.GetBalance(myBtcAddress); // client is from QBitNinjaClient client = new QBitNinjaClient(Network.TestNet);

var sum = 0m;
            
            
foreach (var operation in balance.Result.Operations)
{
    sum += operation.Amount.ToDecimal(MoneyUnit.BTC);
                
}
            
Console.WriteLine("Sum {0} is ", sum);
            
var amountToSend = 0.0002m;
var transaction = Network.TestNet.CreateTransaction();
transaction.Outputs.Add(new TxOut(Money.Coins(sum), myScriptPubKey));
            
Coin[] coins = transaction.Outputs.AsCoins().ToArray();

问题是,builder.Verify(finalTransaction)True,但是在使用QBitNinjaLocal Node广播后,即使配置为命中TestNet,我也得到了事务id,我在任何地方都看不到它,并且BTC没有被传输。

EN

回答 1

Stack Overflow用户

发布于 2022-02-14 21:27:12

结果是我用错误的方式把这该死的平衡。

client.GetBalance(myAddress, true)//真为非废硬币.

然后交易硬币是.AddCoins(client.GetBalance(myAddress, true).Result.Operations.SelectMany(op => op.ReceivedCoins).ToArray())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71118080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档