繁体   English   中英

如何获取/了解比特币交易ID

[英]How to get/understand Bitcoin Transaction ID

我正在使用c#和NBitcoin编写自己的Programm。 (阅读“编程区块链”一书)我可以发送比特币,但很复杂。 这是由于我对交易ID缺乏了解。

目前,我需要从我的比特币中获取最后一个交易ID。 借助此ID,我可以将此比特币发送到其他地方。

这也是我的主要问题。 我是否需要保存我收到的每个BItcoin的每个交易ID? 在这句话中,我使用“ Bitcoin”来表示任何数量的比特币。 如果我有一个地址,我收到了2个比特币(1 + 1),现在我想花1.5个BItcoin,该怎么办? 如果我花了一个“完整”硬币,我可以忘记交易ID,而只保留剩下的一半?

一个使我的困惑更加清楚的例子:我有一个地址(ABCDEFGH),我收到了10个比特币,并进行了10次不同的交易(交易ID 1-10),因为我没有参与发送(索蒙人向我赠送了礼物)不知道那10个交易的交易ID。 如何以编程方式获取它们? 获取所有TransactionID之后,我是否必须立即将它们全部记下来并跟踪它们作为我的ABCDEFGH地址以用于将来的支出,还是可以通过某种方式只说“花费此地址的x金额”?

从书中我以某种方式了解到,我每次交易总是需要花费1个比特币。 因此,如果我想发送0.3比特币,我必须将0.3比特币发送给接收者,再将0.7比特返回给我?!?!

有没有办法像这样编程:

交易(MoneyAmount,RecieverAddress,SenderAddress);

我认为我找到了一种方法来执行此操作,但是缺少最后的C#智慧:

var balance = client.GetBalance(new BitcoinPubKeyAddress(bitcoinPrivateKey.GetAddress().ToString())).Result;

var tid = new List<String>();
foreach (var operation in balance.Operations)
                //Console.WriteLine(operation.TransactionId.ToString());
                tid.AddRange(operation.TransactionId.ToString());

如果我使用Console.WriteLine,我将获得正确的交易ID。 但是由于某种原因,我无法将TransactionID字符串添加到列表中。 它说它不能将“字符串”转换为System.Collections.Generic.IEnumerable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM