src/PSBitcoinCore/Core.cs
using AutoMapper;
using BitcoinSimpleClientObjects; using NBitcoin; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace PSBitcoinClientCore { public class Core { IMapper Mapper = new Mapper(AutoMapperConfiguration.Configuration); public string GenerateWIF(BitcoinSimpleClientObjects.Network network) { Key key = new Key(); string wif = key.GetWif(Mapper.Map<BitcoinSimpleClientObjects.Network, NBitcoin.Network>(network)).ToString(); return wif; } public PrivateKey GeneratePrivateKey(BitcoinSimpleClientObjects.Network network) { Key key = new Key(); PrivateKey result = new PrivateKey(); result.WIF = key.GetWif(Mapper.Map<BitcoinSimpleClientObjects.Network, NBitcoin.Network>(network)).ToString(); result.Decimal = PrivateKeyTools.GetPrivateDecimalKey(key); result.Binary = PrivateKeyTools.GetPrivateBinaryKey(key); return result; } //public void xx() //{ // GeneratePrivateKey(Network.TestNet); // xx(Network.TestNet); //} //public void xx(Network network) //{ // string WIF = GenerateNewPrivateKeyAndGetWIF(network); // var b1 = GenerateNewDataSet(network, WIF); // Write(b1); // var b2 = GenerateNewDataSet(network, WIF); // Write(b2); // var b4 = GenerateNewDataSet(network, WIF); // Write(b4); //} //public void Write(BitcoinDataSet b) //{ // Console.WriteLine(b.ToString()); //} //public string GenerateNewPrivateKeyAndGetWIF() //{ // return GenerateNewPrivateKeyAndGetWIF(Network.TestNet); ////} //public string GenerateNewPrivateKeyAndGetWIF(Network network) //{ // Key privateKey = new Key(); // var wif = privateKey.GetWif(network); // return wif.ToString(); //} private static BitcoinDataSet GenerateNewDataSet(NBitcoin.Network network, string wif) { BitcoinSecret privateKey = new BitcoinSecret(wif); BitcoinDataSet btds = new BitcoinDataSet(); btds.WIF = privateKey.ToWif().ToString(); btds.PublicKey = privateKey.PubKey.ToString(); btds.Hash = privateKey.PubKey.Hash.ToString(); btds.Address = privateKey.PubKey.GetAddress(network).ToString(); btds.ScriptPubKey = privateKey.PubKey.GetAddress(network).ScriptPubKey.ToString(); return btds; } } } |