Exemplo n.º 1
0
        private void btnSend_Click(object sender, EventArgs e)
        {
            var from_address = lbAddress.Text.Trim();
            var to_address   = txtToAddress.Text.Trim();

            if (!(to_address.Length == 42 && to_address.IndexOf("0x") == 0))
            {
                EasyMsg.ShowTips("请输入合法的转入账户地址!");
                return;
            }
            var to_num = decimal.Parse(txtToNum.Text.Trim());
            var money  = decimal.Parse(lbMoney.Text.Trim());

            if (to_num > money)
            {
                EasyMsg.ShowTips("余额不足!");
                return;
            }
            LogMessage("您发起了一个转赠请求!\r\n接收地址:" + to_address + "\r\n转赠数量:" + to_num);
            FormSend send = new FormSend();

            send.to_num       = to_num.ToString();
            send.from_address = from_address;
            send.to_address   = to_address;
            send.ShowDialog(this);
        }
Exemplo n.º 2
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            var     password = txtPassword.Text.Trim();
            var     keyFile  = Application.StartupPath + "\\KeyStore\\" + from_address;
            Account account;

            try
            {
                account = LinkClass.TransactionEx.UnlockAccountFromKeyStoreFile(keyFile, password);
            }
            catch (Exception)
            {
                account = null;
            }
            if (account == null)
            {
                EasyMsg.ShowTips("密码错误!");
                return;
            }
            var nonce = LinkClass.TransactionEx.GetTransactionCount(from_address);
            var sing  = LinkClass.TransactionEx.SignTransaction(account.PrivateKey, to_address, decimal.Parse(to_num), nonce);
            var msg   = LinkClass.TransactionEx.SendRawTransaction(sing);

            if (msg.IndexOf("0x") == 0)
            {
                LogMessage("转赠成功!\r\nhash值:" + msg);
            }
            else
            {
                LogError("转赠失败:" + msg);
            }
            this.Close();
        }
Exemplo n.º 3
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter = "钱包文件|*.*";
            Stream myStream = null;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    if ((myStream = dialog.OpenFile()) != null)
                    {
                        StreamReader st         = new StreamReader(dialog.FileName);
                        string       str        = st.ReadLine();
                        var          resultJson = JsonConvert.DeserializeObject <dynamic>(str);
                        string       address    = "0x" + resultJson.address;
                        var          targetFile = GlobalVar.keystore_path + "\\" + address;
                        var          UTF8NoBom  = new UTF8Encoding(false);
                        StreamWriter sw         = new StreamWriter(targetFile, false, UTF8NoBom);
                        sw.Write(str);
                        sw.Close();
                        cboxAccount.Items.Add(address);
                        cboxAccount.SelectedItem = address;
                        LogMessage("导入账户成功:\r\n" + address);
                    }
                }
                catch (Exception ex)
                {
                    EasyMsg.ShowTips("导入账户失败!");
                }
            }
        }
Exemplo n.º 4
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            string         KeyStorePath = Application.StartupPath + @"\KeyStore";
            OpenFileDialog dialog       = new OpenFileDialog();

            dialog.Filter = "链克口袋文件|*.*";
            Stream myStream = null;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    if ((myStream = dialog.OpenFile()) != null)
                    {
                        StreamReader st         = new StreamReader(dialog.FileName);
                        string       str        = st.ReadLine();
                        var          resultJson = JsonConvert.DeserializeObject <dynamic>(str);
                        string       address    = "0x" + resultJson.address;
                        var          targetFile = KeyStorePath + "\\" + address;
                        var          UTF8NoBom  = new UTF8Encoding(false);
                        StreamWriter sw         = new StreamWriter(targetFile, false, UTF8NoBom);
                        sw.Write(str);
                        sw.Close();
                        BindAccount();
                        LogMessage("导入账户成功:\r\n" + address);
                    }
                }
                catch (Exception ex)
                {
                    EasyMsg.ShowTips("导入账户失败!");
                }
            }
        }
Exemplo n.º 5
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            var pwd1 = txtPassword1.Text.Trim();
            var pwd2 = txtPassword2.Text.Trim();

            if (pwd1.Length < 8 || pwd2.Length < 8)
            {
                EasyMsg.ShowTips("密码长度不能小于8位!");
                return;
            }
            if (pwd1 != pwd2)
            {
                EasyMsg.ShowTips("两次密码输入不一致!");
                return;
            }
            this.Close();
        }
Exemplo n.º 6
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            var a = listBoxAccount.SelectedIndex;

            if (a >= 0)
            {
                var address = listBoxAccount.SelectedItem.ToString();
                listBoxAccount.Items.RemoveAt(a);
                var path = Application.StartupPath + "\\KeyStore\\" + address;
                File.Delete(path);
                //BindAccount();
                LogMessage("删除账户 " + address + " 成功!");
            }
            else
            {
                EasyMsg.ShowTips("请选中一个链克口袋!");
            }
        }
Exemplo n.º 7
0
        private void btnSnedTransaction_Click(object sender, EventArgs e)
        {
            var     keyPath = GlobalVar.keystore_path + "\\" + cboxAccount.Text;
            var     keyPwd  = txtKeyPwd.Text;
            Account account;

            try
            {
                account = TransactionEx.UnlockAccountFromKeyStoreFile(keyPath, keyPwd);
            }
            catch (Exception)
            {
                account = null;
            }
            if (account == null)
            {
                EasyMsg.ShowTips("密码错误!");
                return;
            }
            var trans = new TransactionEx(cBoxRpc.Text);
            var nonce = trans.GetTransactionCount(account.Address);
            var sign  = trans.SignTransaction(account.PrivateKey, txtReciveAddress.Text, decimal.Parse(txtAmount.Text), nonce, account.Address);
            var msg   = trans.SendRawTransaction(sign);

            if (string.IsNullOrEmpty(msg))
            {
                EasyMsg.ShowTips("网络异常,请重新尝试!");
                return;
            }
            if (msg.IndexOf("0x") == 0)
            {
                EasyMsg.ShowTips("转赠成功!\r\nhash值:" + msg);
                var balance = decimal.Parse(txtBalance.Text);
                var amount  = decimal.Parse(txtAmount.Text);
                txtBalance.Text = (balance - amount).ToString();
            }
            else
            {
                EasyMsg.ShowTips("转赠失败:" + msg);
                return;
            }
        }
Exemplo n.º 8
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            var pwd1 = txtPassword1.Text.Trim();
            var pwd2 = txtPassword2.Text.Trim();

            if (pwd1.Length < 8 || pwd2.Length < 8)
            {
                EasyMsg.ShowTips("密码长度不能小于8位!");
                return;
            }
            if (pwd1 != pwd2)
            {
                EasyMsg.ShowTips("两次密码输入不一致!");
                return;
            }
            string   address = KeyStoreEx.GenerateKeyStore(pwd1, Application.StartupPath + "\\KeyStore");
            FormMain main    = (FormMain)this.Owner;

            main.AddNewAccount(address);
            this.Close();
        }