GeezerVison is showing github.com — First page of Bitcoin Addresses throws an error. · Issue #73 · ProgrammingBlockchain/ProgrammingBlockchain
First page of Bitcoin Addresses throws an error. #73DescriptionI am a dummy. I am following along with the book. In "Bitcoin Address" the chapter gives the following code examples.
Key privateKey = new Key(); // generate a random private key
PubKey publicKey = privateKey.PubKey;
Console.WriteLine(publicKey);
When executed in Visual Studio 2017 against the latest nuget package new Key(); throws this error: "You must set the RNG (RandomUtils.Random) before generating random numbers"
As a dummy, I am not sure what code needs to be added to make the example work. ActivityNicolasDorier commented on Aug 7, 2017 it should work... you created a UWP application I suppose ? NicolasDorier commented on Aug 7, 2017 See MetacoSA/NBitcoin#120 either do not created UWP application, or use the fix in the issue, or wait for october.
If you did not created a UWP application then this is another bug. Please let me know. BillStrait commented on Aug 7, 2017 ContributorAuthor More actions This is a console application. Same problem in Visual Studio 2015. I'm on Windows 10, maybe that's the problem? Here's the entire application.
using System;
using NBitcoin;
namespace BitcoinExperiments
{
class Program
{
static void Main(string[] args)
{
var privateKey = new Key();
var publicKey = privateKey.PubKey;
Console.WriteLine(publicKey);
Console.ReadLine();
}
}
}
NicolasDorier commented on Aug 7, 2017 NicolasDorier commented on Aug 7, 2017 fixing it now... not normal NicolasDorier commented on Aug 7, 2017 NicolasDorier commented on Aug 7, 2017 Ok tested it, it works. Thanks for reporting! BillStrait commented on Aug 7, 2017 ContributorAuthor More actions Confirmed working, thanks. mmcc1 commented on Apr 29, 2018 This is still an issue with the recent build (4.1.1.3) and mono. NicolasDorier commented on Apr 29, 2018 strange, are you using a recent version of mono? mmcc1 commented on Apr 29, 2018 Yes, the latest. It threw the error in a debug session of a console app. Then I ended up here looking for a resolution. It works fine in VS 2017. I just added RandomUtils.Random = new UnsecureRandom(); as a quick fix. NicolasDorier commented on Apr 29, 2018 Do you have a way to find out which DLL mono is using? I would have expected it takes .netstandard2.0 which have the Random... but if it fails it means it takes netstandard1.1 which is very strange. mmcc1 commented on Apr 30, 2018 Its the .NET Framework version (NETFramework,Version=v4.5) 4.1.1.3. NicolasDorier commented on May 1, 2018 but there is no NETFramework,Version=v4.5 in the package! I think you are not using latest version of mono. NicolasDorier commented on May 1, 2018 Can you tell me in command line what you are doing? mmcc1 commented on May 3, 2018 I pulled it apart a little and found the proper version information:
[assembly: AssemblyVersion ("4.1.1.3")]
[assembly: Debuggable (DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyCompany ("Metaco SA")]
[assembly: AssemblyConfiguration ("Release")]
[assembly: AssemblyCopyright ("Copyright © Metaco SA 2017")]
[assembly: AssemblyDescription ("The C# Bitcoin Library")]
[assembly: AssemblyFileVersion ("4.1.1.3")]
[assembly: AssemblyInformationalVersion ("4.1.1.3")]
[assembly: AssemblyProduct ("NBitcoin")]
[assembly: AssemblyTitle ("NBitcoin")]
[assembly: CompilationRelaxations (8)]
[assembly: InternalsVisibleTo ("NBitcoin.Tests")]
[assembly: RuntimeCompatibility (WrapNonExceptionThrows = true)]
[assembly: ComVisible (false)]
[assembly: TargetFramework (".NETStandard,Version=v1.1", FrameworkDisplayName = "")]
I think what happened here was that the program was originally made in VS2017, then copied to Xamarin studio and recompiled. NicolasDorier commented on May 3, 2018 the program is still using VS2017.
By Xamarin Studio you mean Visual Studio for Mac ? because xamarin studio is outdated. mmcc1 commented on May 3, 2018 I'm running Xamarin Studio 6.1.2 on Windows. knocte commented on May 3, 2018 XamarinStudio is an old product that doesn't receive updates anymore. If you use Windows, use VisualStudio, if you use Mac, use VisualStudioForMac (which is based on XamarinStudio's foundation); if you use Linux, use MonoDevelop. NicolasDorier commented on May 3, 2018 if you don't develop for mobile apps, use Visual Studio Code and .NET Core instead of Mono.
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|