Esempio n. 1
0
        public async Task Start()
        {
            var data = (await _walletCredentials.GetDataAsync()).ToList();

            Console.WriteLine($"Items count: [{data.Count}]");
            var idx = 0;

            foreach (var item in data)
            {
                try
                {
                    var secret  = new BitcoinSecret(item.PrivateKey);
                    var address = secret.GetAddress().ToString();

                    if (await _keyRepository.GetPrivateKey(address) == null)
                    {
                        var encrypted = Encryption.EncryptAesString(secret.ToString(), _password);
                        await _keyRepository.CreatePrivateKey(address, encrypted);
                    }

                    idx++;
                    if (idx % 10 == 0)
                    {
                        Console.WriteLine($"Processed {idx} of {data.Count} records");
                    }
                }
                catch (Exception e)
                {
                    var c = Console.BackgroundColor;
                    Console.BackgroundColor = ConsoleColor.Red;
                    Console.WriteLine($"Error: db id [{item.RowKey}], exception: [{e.Message}]");
                    Console.BackgroundColor = c;
                }
            }
        }