簡體   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