上篇文章 查詢餘額有多少,包含尚未確認的 餘額,所以我從有發送測試貨幣的網站,打了 0.01 的比特幣到我的測試錢包 (mvJh993ZpnVFgX4Bs9jacjFLsKPhXj3nkj) ,你可以在測試鏈上的交易看到這筆交易
今天我們的範例是,如果透過 NBitcoin + QBitNinja.Client 來取的錢包的收入的資料紀錄,畢竟總不可能每次都要靠查詢的,我們目標依然是針對 mvJh993ZpnVFgX4Bs9jacjFLsKPhXj3nkj 這錢包,現在我在測試的時候目前只有一筆交易資料 Transaction Id 為d3425d5f912552a47358df8b6647330e914019b1745c88b89d376896d35864e5 請注意,雖然這是你的交易紀錄,但是比特幣是可以打包的也就是說一筆交易ID ,裡面其實不一定裡面的都是給你的資料,有時候節點或是負責打包者,會將多筆交易打包成一包,都是同一個 Transaction Id ,這時候你得交易是在裡面第幾筆都要列出來,有時候你可能在不同的 Transaction Id 中 會出現數次,所以我在程式碼裡面,我取的時候是用 string.Join(";", operation.ReceivedCoins.Select(coin => coin as NBitcoin.Coin).Select(x => x.Outpoint.N)) 這方式撈取來展示就是這原因,在有些裝況下,可能會兩筆打給你的資料被包成一包
private static void CheckWalletAllReceiveCoin(string walletAddress)
{
QBitNinja.Client.QBitNinjaClient client = new QBitNinja.Client.QBitNinjaClient(NBitcoin.Network.TestNet);
var balance = client.GetBalance(new NBitcoin.BitcoinPubKeyAddress(walletAddress), false).Result;
Console.WriteLine("");
Console.WriteLine("TransactionId : BitCoin , Index");
Console.WriteLine("-------------------------------------------");
foreach (var operation in balance.Operations)
{
Console.Write(operation.TransactionId + " : " + operation.ReceivedCoins.Select(coin => coin as NBitcoin.Coin).Sum(x => x.Amount.ToDecimal(NBitcoin.MoneyUnit.BTC)) + ",");
//To highline INDEX so chnage color .
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(string.Join(";", operation.ReceivedCoins.Select(coin => coin as NBitcoin.Coin).Select(x => x.Outpoint.N)));
Console.ForegroundColor = ConsoleColor.White;
}
}
呼叫
CheckWalletAllReceiveCoin("mvJh993ZpnVFgX4Bs9jacjFLsKPhXj3nkj");
你看到了,那個 0 我也用綠色標記,就是我這收款錢包 有這筆 d3425d5f912552a47358df8b6647330e914019b1745c88b89d376896d35864e5 收款交易紀錄,而且給我錢的那筆紀錄是位在 0 這位置,收到的金額是 0.01 比特幣。
這篇先寫到這,接下來就是來做交易了。 在交易的時候 你本身位於某Trasaction Id 中第幾筆很重要是要填寫的,所以你就攜帶者 d3425d5f912552a47358df8b6647330e914019b1745c88b89d376896d35864e5 還有 0 這數字,我們到下篇見 :)
不客觀,非教學,純分享,真體驗,如果有覺得寫得不夠清楚的,就在網路上多看看其他寫得比我更詳細的文章吧
老話一句,請注意,該文章範例都是測試鏈上面的,如果你需要在正式鏈上面使用,請記得改參數
---
請你暫時把你的勇氣給我 在夢想快消失的時候 讓我的 Code 用力的穿過天空 為愛我的人做一秒英雄 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...