2017年3月26日日曜日

"Programming The Blockchain in C# 日本語"のトランザクションパートでエラーが出るpart2

NBitcoinのトランザクションパートでエラーが出るpart2

問題

前回の投稿に引き続き、引っかかったところとその対応方法についてまとめます。
file: 'file:///Program.cs'
severity: 'エラー'
message: 'The type or namespace name 'List<>' could not be found (are you missing a using directive or an assembly reference?) [/Users/kichino/Documents/nbtc/nbtc.csproj]'
at: '64,13'
source: ''

問題のコードを以下に示す。
List<ICoin> receivedCoins = transactionResponse.ReceivedCoins;
            foreach (var coin in receivedCoins)
            {
                Money amount = (Moneycoin.Amount;

                Console.WriteLine(amount.ToDecimal(MoneyUnit.BTC));
                var paymentScript1 = coin.TxOut.ScriptPubKey;
                Console.WriteLine(paymentScript1); //これはScriptPubKey
                var address = paymentScript1.GetDestinationAddress(Network.Main);
                Console.WriteLine(address);
                Console.WriteLine();
            }

対処法

前回と引き続きインポートするライブラリが正しくないためメソッドの参照がされなかったということでしょう。以下のようにインポート文を追記します。

using System;
using NBitcoin;
using QBitNinja.Client.Models;
using QBitNinja.Client;
using System.Collections.Generic;

結果



「受け取った」BTCの情報である以下3つを取得することができた。
  • BTC量
  • スクリプト
  • 受け取りアドレス


まとめ

前回の投稿に引き続きライブラリのインポートで2回も引っかかった。このことから言えるのは初心者にはその点の理解が不足しているため説明をもう少し付け加えた方がわかりやすくなると思う。しかし総じて良い教材である。

0 件のコメント:

コメントを投稿