2017-07-28 214 views
2

我試圖按照教程here之前設置RNG(RandomUtils.Random)。我的代碼如下:必須產生隨機數

static void Main(string[] args) 
{ 
    try 
    { 
     Key privateKey = new Key(); // generate a random private key 
     PubKey publicKey = privateKey.PubKey; 
     Console.WriteLine(publicKey); // 0251036303164f6c458e9f7abecb4e55e5ce9ec2b2f1d06d633c9653a07976560c 

     Console.WriteLine(publicKey.GetAddress(Network.Main)); // 1PUYsjwfNmX64wS368ZR5FMouTtUmvtmTY 
     Console.WriteLine(publicKey.GetAddress(Network.TestNet)); // n3zWAo2eBnxLr3ueohXnuAa8mTVBhxmPhq 

     var publicKeyHash = publicKey.Hash; 
     Console.WriteLine(publicKeyHash); // f6889b21b5540353a29ed18c45ea0031280c42cf 
     var mainNetAddress = publicKeyHash.GetAddress(Network.Main); 
     var testNetAddress = publicKeyHash.GetAddress(Network.TestNet); 

     Console.WriteLine(mainNetAddress); // 1PUYsjwfNmX64wS368ZR5FMouTtUmvtmTY 
     Console.WriteLine(testNetAddress); // n3zWAo2eBnxLr3ueohXnuAa8mTVBhxmPhq 

     Console.ReadLine(); 
    } 
    catch (Exception) 
    {  
     throw; 
    } 
} 

但是在第一行,我收到此錯誤:

You must set the RNG (RandomUtils.Random) before generating random numbers

+2

那麼,爲什麼沒有按照錯誤給你的指示。 –

+0

不知道怎麼回事! –

回答

2

需要初始化隨機數生成器的加密庫將使用。對於測試,您可以使用您正在使用的NBitcoin庫附帶的UnsecureRandom類。

RandomUtils.Random = new UnsecureRandom(); // set the random number generator. 
Key privateKey = new Key(); // generate a random private key 
+0

謝謝,這本書沒有被挖掘! –