public static byte[] FromString(string wif, out Network network, out DataTypePrefix type) { var bytes = Encoders.Base58Check.GetBytes(wif); network = Network.GetFromPrefix(bytes, out type); var prefix = network.GetPrefixBytes(type); return(bytes.Slice(prefix.Length)); }
public static Network GetFromPrefix(byte[] bytes, out DataTypePrefix type) { var p = from network in new[] {Main, Test, Reg} from prefix in network._prefixType let prefixLen = prefix.Value.Length where prefix.Value.IsEqualTo(bytes.Take(prefixLen).ToArray()) select new {Network = network, Type = prefix.Key}; var first = p.FirstOrDefault(); if(first == null) throw new FormatException("Data with unknown prefix"); type = first.Type; return first.Network; }
public static Network GetFromPrefix(byte[] bytes, out DataTypePrefix type) { var p = from network in new[] { BitcoinMain, BitcoinTest, BitcoinReg } from prefix in network._prefixType let prefixLen = prefix.Value.Length where prefix.Value.IsEqualTo(bytes.Take(prefixLen).ToArray()) select new { Network = network, Type = prefix.Key }; var first = p.FirstOrDefault(); if (first == null) { throw new FormatException("Data with unknown prefix"); } type = first.Type; return(first.Network); }
public static string ToString(byte[] wif, DataTypePrefix type) { var prefix = Network.Current.GetPrefixBytes(type); return(Encoders.Base58Check.GetString(prefix.Concat(wif))); }
public byte[] GetPrefixBytes(DataTypePrefix addressType) { return _prefixType[addressType]; }
public byte[] GetPrefixBytes(DataTypePrefix addressType) { return(_prefixType[addressType]); }
public static string ToString(byte[] wif, DataTypePrefix type, Network network) { var prefix = network.GetPrefixBytes(type); return Encoders.Base58Check.Encode(prefix.Concat(wif)); }