public static void Run(string[] args)
{
var file = new FileInfo(args[0]);
var wallet = Wallet.LoadFromFile(file);
Console.WriteLine(wallet.ToString());
// Set up the components and link them together.
var @params = NetworkParameters.TestNet();
using (var blockStore = new MemoryBlockStore(@params))
{
var chain = new BlockChain(@params, wallet, blockStore);
var peerGroup = new PeerGroup(blockStore, @params, chain);
peerGroup.AddAddress(new PeerAddress(IPAddress.Loopback));
peerGroup.Start();
wallet.CoinsReceived +=
(sender, e) =>
{
Console.WriteLine();
Console.WriteLine("Received tx " + e.Tx.HashAsString);
Console.WriteLine(e.Tx.ToString());
};
// Now download and process the block chain.
peerGroup.DownloadBlockChain();
peerGroup.Stop();
}
wallet.SaveToFile(file);
Console.WriteLine();
Console.WriteLine("Done!");
Console.WriteLine();
Console.WriteLine(wallet.ToString());
}