/// <summary>
/// Download the block chain from peers.
/// </summary>
/// <remarks>
/// This method wait until the download is complete. "Complete" is defined as downloading
/// from at least one peer all the blocks that are in that peer's inventory.
/// </remarks>
public void DownloadBlockChain()
{
var listener = new DownloadListener();
StartBlockChainDownload(listener);
listener.Await();
}