예제 #1
0
        private static void CreateWallet(out Safe safe)
        {
            Network network = null;

            safe = null;
            CommonWalletHelper.SelectNetwork(out network);
            string filePath       = string.Empty;
            string password       = string.Empty;
            bool   shouldContinue = true;

            do
            {
                Console.WriteLine("Please enter valid folder file path where .json file should be saved\n");
                filePath = Console.ReadLine();
                CommonWalletHelper.CheckForSpecialCommand(filePath.ToLower());
                shouldContinue = !CommonWalletHelper.CheckDirectory(filePath);
            } while (shouldContinue);
            CreateWalletHelper.GetPassword(out password);
            Mnemonic mnemonic;

            CreateWalletHelper.CreateJsonFile(password, filePath, network, out mnemonic, out safe);
            Console.WriteLine("File Successfuly Created!\nAfter 2 second full information will be presented\n");
            _safe = safe;
            Thread.Sleep(2000);
            Console.Clear();
            CreateWalletHelper.PrintInformation(safe, filePath, mnemonic, password);
            var sha256PublicKey = CryptoHelper.GetSHA256(safe.GetBitcoinExtPubKey().ToString());

            CommonWalletHelper.AddNewRecordInWalletConfig(_config, sha256PublicKey);
        }
예제 #2
0
        public static void LoadWallet(out Safe safe)
        {
            safe = null;
            string path;
            bool   @continue = true;
            string password;

            Console.WriteLine();
            RecoverWalletHelper.GetPassword(out password);
            do
            {
                Console.WriteLine("Please enter the full file path of the wallet json file:");
                path      = Console.ReadLine();
                @continue = !CommonWalletHelper.CheckDirectory(path);
            } while (@continue);
            Console.WriteLine("Please enter the name of the wallet: ");
            var name = Console.ReadLine();

            RecoverWalletHelper.LoadFromExistingWalletFile(password, string.Format("{0}\\{1}", path, name), out safe);
            _safe = safe;
            var sha256Public = CryptoHelper.GetSHA256(safe.GetBitcoinExtPubKey().ToString());

            if (!CommonWalletHelper.IsWalletSavedInConfig(_config, sha256Public))
            {
                CommonWalletHelper.AddNewRecordInWalletConfig(_config, sha256Public);
            }
        }