コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: Network.cs プロジェクト: lontivero/BitcoinLite
        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;
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public static string ToString(byte[] wif, DataTypePrefix type)
        {
            var prefix = Network.Current.GetPrefixBytes(type);

            return(Encoders.Base58Check.GetString(prefix.Concat(wif)));
        }
コード例 #5
0
ファイル: Network.cs プロジェクト: lontivero/BitcoinLite
 public byte[] GetPrefixBytes(DataTypePrefix addressType)
 {
     return _prefixType[addressType];
 }
コード例 #6
0
 public byte[] GetPrefixBytes(DataTypePrefix addressType)
 {
     return(_prefixType[addressType]);
 }
コード例 #7
0
ファイル: PrivateKey.cs プロジェクト: lontivero/BitcoinLite
 public static string ToString(byte[] wif, DataTypePrefix type, Network network)
 {
     var prefix = network.GetPrefixBytes(type);
     return Encoders.Base58Check.Encode(prefix.Concat(wif));
 }