Exemplo n.º 1
0
        public void ShouldCreateAccount()
        {
            IHDWallet <BitcoinWallet> bitcoinHDWallet = new BitcoinHDWallet("conduct stadium ask orange vast impose depend assume income sail chunk tomorrow life grape dutch", "");

            var account0 = bitcoinHDWallet.GetAccount(0);

            var depositWallet0 = account0.GetExternalWallet(0);

            Assert.AreEqual("0374c393e8f757fa4b6af5aba4545fd984eae28ab84bda09df93d32562123b7a1c", depositWallet0.PublicKey.ToHex());

            var depositWallet1 = account0.GetExternalWallet(1);

            Assert.AreEqual("025166e4e70b4ae6fd0deab416ab1c3704f2aa5dbf451be7639ca48fe6d273773c", depositWallet1.PublicKey.ToHex());

            var changeWallet1 = account0.GetInternalWallet(0);

            Assert.AreEqual("02c1100b710dc70152106bf936cf57cfdafff5505b03790f5dcad45bcdef722921", changeWallet1.PublicKey.ToHex());


            var account1 = bitcoinHDWallet.GetAccount(1);

            var depositWallet10 = account1.GetExternalWallet(0);

            Assert.AreEqual("02b9a6e20677667522d6d710d182950dd5e67f60cee9e704e30f65395fd2cb866e", depositWallet10.PublicKey.ToHex());
            var depositWallet11 = account1.GetExternalWallet(1);

            Assert.AreEqual("02cb36da84d699131d9d9c680d94d5f8aa24a2029752b0b3a706dc4e25282493a0", depositWallet11.PublicKey.ToHex());

            var changeWallet10 = account1.GetInternalWallet(0);

            Assert.AreEqual("020edfe3b196fa8f853887221fd72edc343b168487437dba01b0047fccf96818c8", changeWallet10.PublicKey.ToHex());
            var changeWallet11 = account1.GetInternalWallet(1);

            Assert.AreEqual("02786e8b010eaeb52f22ce7a59c98741299847f1fa9d2bd3ba0bf10a48d613e35e", changeWallet11.PublicKey.ToHex());
        }
Exemplo n.º 2
0
        public void Test1()
        {
            IHDWallet <BitcoinWallet> bitcoinHDWallet = new BitcoinHDWallet("conduct stadium ask orange vast impose depend assume income sail chunk tomorrow life grape dutch", "");
            var depositWallet0 = bitcoinHDWallet.GetAccount(0).GetExternalWallet(0);

            var signature = depositWallet0.Sign(Encoders.Hex.DecodeData("159817a085f113d099d3d93c051410e9bfe043cc5c20e43aa9a083bf73660145"));

            Assert.AreEqual("84de8230e66c6507dea6de6d925c76ac0db85d99ddd3c069659d0970ade8876a", signature.R.ToHexString());
            Assert.AreEqual("0dcd4adb2e40fcf257da419b88c1e7dd4d92750b63381d8379b96f3b7b8a4498", signature.S.ToHexString());
            Assert.AreEqual(1, signature.RecId);
        }
Exemplo n.º 3
0
        public void ShouldGenerateMasterPrivateKeys()
        {
            string words = "push wrong tribe amazing again cousin hill belt silent found sketch monitor";

            IHDWallet <BitcoinWallet> wallet = new BitcoinHDWallet(words);
            var account = wallet.GetMasterWallet();

            var privateKeyHex = account.PrivateKey.ToHex();
            var publicKeyHex  = account.PublicKey.Decompress().ToHex();

            Assert.AreEqual("945ee333591e6a709ed574a7ceba0bc09f650a7822ba0c2b7f5c8a5ead295374", privateKeyHex);
        }
Exemplo n.º 4
0
        public void ShouldGenerateWalletFromPrivateKey()
        {
            IHDWallet <BitcoinWallet> tronHDWallet = new BitcoinHDWallet("conduct stadium ask orange vast impose depend assume income sail chunk tomorrow life grape dutch", "");
            var           account0 = tronHDWallet.GetAccount(0);
            BitcoinWallet wallet0  = account0.GetExternalWallet(0);

            Assert.AreEqual("cdce32b32436ff20c2c32ee55cd245a82fff4c2dc944da855a9e0f00c5d889e4", wallet0.PrivateKey.ToHex());

            var tronWallet = new BitcoinWallet("cdce32b32436ff20c2c32ee55cd245a82fff4c2dc944da855a9e0f00c5d889e4");

            Assert.AreEqual(wallet0.PrivateKey.ToHex(), tronWallet.PrivateKey.ToHex());
            Assert.AreEqual(wallet0.PublicKey, tronWallet.PublicKey);
        }
        public void ShouldGenerateTestnetAddress()
        {
            var privateKey    = "xprv9yMdbZB9vP8EPKaUZveRTJUuipCJEu4nJG5Dqih2Gi8LrunoNAGXfMeHBginxcpCtD3M6NJb64rfncoB76YeVhWshoZSb1gBdCrMRWLzxFs";
            var hdWallet      = BitcoinHDWallet.GetAccountFromMasterKey(privateKey, 0);
            var walletDeposit = hdWallet.GetInternalWallet(0);

            var publicKey      = walletDeposit.PublicKey;
            var depositAddress = walletDeposit.GetAddress(NetworkType.Testnet);

            Assert.AreEqual(expected: "tb1qdynrthkttgqkazjjgpd2qhh37868nvgyp2nn0u", actual: depositAddress);

            Console.WriteLine($"Public key: {publicKey.ToHex()}");
        }
        public void ShouldGenerateExtendedPrivateKey()
        {
            var privateKey    = "xprv9yMdbZB9vP8EPKaUZveRTJUuipCJEu4nJG5Dqih2Gi8LrunoNAGXfMeHBginxcpCtD3M6NJb64rfncoB76YeVhWshoZSb1gBdCrMRWLzxFs";
            var hdWallet      = BitcoinHDWallet.GetAccountFromMasterKey(privateKey, 0);
            var walletDeposit = hdWallet.GetExternalWallet(0);

            var publicKey      = walletDeposit.PublicKey;
            var depositAddress = walletDeposit.Address;

            Assert.AreEqual(expected: "bc1qpznrn52ajq3uqf3ckmfsqdp2wspaggpl47ul3d", actual: depositAddress);

            Console.WriteLine($"Public key: {publicKey.ToHex()}");
        }
Exemplo n.º 7
0
        public void ShouldGenerateFromSeed()
        {
            var seed = "ba78b733ffe929e400f844751a48dded5ebc7c62635a1590e97b066e3b9e8b890741602a69279c45ed5d17dfd6e8703e3c575de4ea4712868df5f1997e2b97b2";
            IHDWallet <BitcoinWallet> hdWallet = new BitcoinHDWallet(seed);

            var wallet = hdWallet.GetAccount(0).GetExternalWallet(0);
            // var address = wallet.Address;
            var publicKey  = wallet.PublicKey;
            var privateKey = wallet.PrivateKey;

            // TODO: Assert the address
            // Assert.AreEqual(expected: "5G6tXDeie2KaUgGrwkBfzApKSCm9sE5QvBm1bi1vmBZ4gcCN", actual: address);
            Assert.AreEqual(expected: "0354b36b66431bbcf41607901d1a55e083cedbc3446b9849e06bcff81d0a3b517d", actual: publicKey.ToHex());
            Assert.AreEqual(expected: "cdcbe9ad36e694b5686ec4ad937a4fdf7eba7ced829e2452f66aeff0363e5114", actual: privateKey.ToHex());
        }
        public void ShouldGenerateDepositAddress()
        {
            IHDWallet <BitcoinWallet> hdWallet = new BitcoinHDWallet(mnemonic, "");
            var seed = ((HdWalletBase)hdWallet).BIP39Seed;

            Assert.AreEqual("ba78b733ffe929e400f844751a48dded5ebc7c62635a1590e97b066e3b9e8b890741602a69279c45ed5d17dfd6e8703e3c575de4ea4712868df5f1997e2b97b2", seed);

            var walletDeposit = hdWallet.GetAccount(0).GetExternalWallet(0);
            var publicKey     = walletDeposit.PublicKey;

            var depositAddress = walletDeposit.Address;

            Assert.AreEqual(expected: "bc1qpznrn52ajq3uqf3ckmfsqdp2wspaggpl47ul3d", actual: depositAddress);

            Console.WriteLine($"Public key: {publicKey.ToHex()}");
        }
Exemplo n.º 9
0
 public void ShouldCreateAccountWallet()
 {
     IHDWallet <BitcoinWallet> bitcoinHDWallet = new BitcoinHDWallet("conduct stadium ask orange vast impose depend assume income sail chunk tomorrow life grape dutch", "");
     var accountWallet = bitcoinHDWallet.GetAccountWallet(0);
     // TODO: Get xpiv and assert in unit test
 }