在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → BTC&ETH开发实例

BTC&ETH开发实例

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:2.15M
  • 下载次数:3
  • 浏览次数:91
  • 发布时间:2019-09-19
  • 实例类别:一般编程问题
  • 发 布 人:szlevin
  • 文件格式:.rar
  • 所需积分:2
 相关标签: bi

实例介绍

【实例简介】

【实例截图】


from clipboard

【核心代码】


using BitCoin.Dtos;
using BlockChain.Dtos;
using BlockChain.xWinForm.Common.Redis;
using BlockChain.xWinForm.Utils;
using System;
using System.Configuration;
using System.Numerics;
using System.Windows.Forms;

namespace BlockChain.xWinForm
{
    public partial class Form2 : Form
    {
        static RedisStackExchangeHelper redis = new RedisStackExchangeHelper();

        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.ToLower();
            this.txtTo.Text = this.txtTo.Text.ToLower();
            this.txtFrom.Text = this.txtFrom.Text.ToLower();
            TransferP2PInput input = new TransferP2PInput();
            input.BizID = "A0002256";
            input.Id = System.Guid.NewGuid().ToString();
            input.mType = 5;
            input.BlockchainType = (int)BlockchainType.ETH;
            input.SourceAddress = this.txtFrom.Text.Trim().ToLower();
            input.PrivateKey = this.txtFromPrvKey.Text.Trim().ToLower();
            //input.PrivatePassword = this.txtFromPwd.Text.Trim();
            input.TargetAddress = this.txtTo.Text.Trim().ToLower(); ;
            input.Amount = long.Parse(this.txtAmount.Text);
            input.TradeFee = 50;
            input.TradeNumber = "A123456789";
            input.TradeMemo = "我是备注";
            input.Timestamp = DateUtil.GetTimeStamp(DateTime.Now);
            this.txtAddress.Text = this.txtAddress.Text.Trim().ToLower();
            redis.Publish<TransferP2PInput>("API_BC_Translate", input);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtQueryTransaction.Text))
            {
                MessageBox.Show("请输入信息");
                return;
            }
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            ConfirmationsInput input = new ConfirmationsInput();
            input.BizID = "确认数Id00001";
            input.mType = 12;
            input.TxHash = this.txtQueryTransaction.Text.Trim();
            input.Id = "cf0769b8-bc40-4121-bf26-6db98a346ad9";
            input.ConfirmType = ConfirmType.Immediately;
            input.BlockchainType = (int)BlockchainType.ETH;

            redis.Publish<ConfirmationsInput>("API_BC_GetTxConfirmCount", input);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            QueryBalanceInput input = new QueryBalanceInput();
            input.mType = 6;
            input.BizID = System.Guid.NewGuid().ToString();
            input.Address = this.txtAddress.Text.Trim();
            input.BlockchainType = (int)BlockchainType.ETH;
            redis.Publish<QueryBalanceInput>("API_BC_Getbalance", input);
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void Form2_Load(object sender, EventArgs e)
        {
            this.lblAmount.Text =  (new Random().Next(2, 18) / 17m ).ToString("f2");
            this.txtAmount.Text = "100";
            //this.txtAmount.Text = (new Random().Next(2, 30) / 17m * 10000000000000000).ToString("f2");
            this.txtFrom.Text = ConfigurationSettings.AppSettings["txtFrom"].ToString();
            this.txtFromPrvKey.Text = ConfigurationSettings.AppSettings["txtFromPrvKey"].ToString();
            //this.txtFromPwd.Text = ConfigurationSettings.AppSettings["txtFromPwd"].ToString();
            this.txtTo.Text = ConfigurationSettings.AppSettings["txtTo"].ToString();
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            this.txtBsKey.Text = "BS00001";
            this.txtBsValue.Text = "VVVV123456789VVV";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            TradeTicket buy =   new TradeTicket() {  OrderType = 1, Amount = decimal.Parse(this.txtBidAmount.Text), Price = decimal.Parse(this.txtBidPrice.Text), BuySplit = (chkBidSplitOrder.Checked)?"1":"0", SellSplit = "1", mType = "1", OrderId = System.Guid.NewGuid().ToString(),  Timestamp = DateUtil.GetTimeStamp(DateTime.Now), Id = System.Guid.NewGuid().ToString(), TradeObjNum = 1 };           
            redis.Publish<TradeTicket>("API_MatchOrder", buy);
        }

        private void button5_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            TradeTicket sell1 = new TradeTicket() { OrderType = 2, Amount = decimal.Parse(this.txtBidAmount.Text), Price = decimal.Parse(this.txtBidPrice.Text), BuySplit = "1", SellSplit = (chkBidSplitOrder.Checked) ? "1" : "0", mType = "1", OrderId = System.Guid.NewGuid().ToString(), Timestamp = DateUtil.GetTimeStamp(DateTime.Now), Id = System.Guid.NewGuid().ToString(), TradeObjNum = 1 };
            redis.Publish<TradeTicket>("API_MatchOrder", sell1);
        }

        private void button6_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            AddMonitorInput ticket = new AddMonitorInput() { mType = 3, BlockchainType = 2, Address =this.txtAddress.Text.Trim().ToLower(), BizID = System.Guid.NewGuid().ToString() };
            redis.Publish<AddMonitorInput>("API_BC_AddMonitor", ticket);
        }

        private void button7_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            CancelMonitorInput ticket = new CancelMonitorInput() { mType=4, BlockchainType=2, Address = this.txtAddress.Text.Trim().ToLower(), BizID=System.Guid.NewGuid().ToString() };
            redis.Publish<CancelMonitorInput>("API_BC_DelMonitor", ticket);
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void button8_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.Trim();
            QueryMonitorInput ticket = new QueryMonitorInput() { mType = 7, BlockchainType = 2,  BizID = System.Guid.NewGuid().ToString() };
            redis.Publish<QueryMonitorInput>("API_BC_GetMonitorAddress", ticket);
        }

        private void button9_Click(object sender, EventArgs e)
        {
            WriteStringInput input = new WriteStringInput();
            input.BStringKey = this.txtBsKey.Text;
            input.BStringValue = this.txtBsValue.Text;
            input.BizID = "b00001";
            input.mType = 8;
            input.BlockchainType = 2;
            redis.Publish<WriteStringInput>("API_BC_SaveString", input);

        }

        private void button10_Click(object sender, EventArgs e)
        {
            ReadStringInput input = new ReadStringInput();
            input.BStringKey = this.txtBsKey.Text;            
            input.BizID = "b00001";
            input.mType = 9;
            input.BlockchainType = 2;
            redis.Publish<ReadStringInput>("API_BC_ReadString", input);
        }

        public class WriteStringInput : CmdInput
        {
            public string BStringKey { set; get; }

            public string BStringValue { set; get; }

        }

        public class ReadStringInput : CmdInput
        {
            public string BStringKey { set; get; }
        }

        private void button11_Click(object sender, EventArgs e)
        {
            NewAddressInput input = new NewAddressInput();
           
            input.BizID = "b00001";
            input.mType = 11;
            input.BlockchainType = 2;
            input.Password = "123456";
            redis.Publish<NewAddressInput>("API_BC_Create", input);
        }

        private void button12_Click(object sender, EventArgs e)
        {
            CreateERC20MonitorInput input = new CreateERC20MonitorInput();
            input.Address = this.txtTokenAddress.Text.Trim();
            input.ContractAddress = this.txtContractAddress.Text.Trim();
            input.BizID = "b00001";
            input.mType = 17;
            input.BlockchainType = 2;
            redis.Publish<CreateERC20MonitorInput>("API_BC_Eth_Token_AddMonitor", input);
        }

        private void button14_Click(object sender, EventArgs e)
        {
            CancelTokenMonitorInput input = new CancelTokenMonitorInput();
            input.Address = this.txtTokenAddress.Text.Trim();
            input.ContractAddress = this.txtContractAddress.Text.Trim();
            input.BizID = "b00001";
            input.mType = 18;
            input.BlockchainType = 2;
            redis.Publish<CancelTokenMonitorInput>("API_BC_Eth_Token_DelMonitor", input);
        }

        private void button13_Click(object sender, EventArgs e)
        {
            QueryTokenMonitorInput input = new QueryTokenMonitorInput();

            input.BizID = "b00001";
            input.mType = 19;
            input.BlockchainType = 2;
            redis.Publish<QueryTokenMonitorInput>("API_BC_Eth_Token_GetMonitorList", input);
        }

        private void button15_Click(object sender, EventArgs e)
        {
            TokenBalanceInput input = new TokenBalanceInput();

            input.BizID = "b00001";
            input.mType = 15;
            input.BlockchainType = 2;
            input.ContractAddress = this.txtContractAddress.Text.Trim();
            input.Address = this.txtTokenAddress.Text.Trim();
            redis.Publish<TokenBalanceInput>("API_BC_Eth_Token_Getbalance", input);

        }

        private void button16_Click(object sender, EventArgs e)
        {
            this.txtAddress.Text = this.txtAddress.Text.ToLower();
            this.txtTo.Text = this.txtTo.Text.ToLower();
            this.txtFrom.Text = this.txtFrom.Text.ToLower();
            TransferTokenInput input = new TransferTokenInput();
            input.BizID = "A0002256";
            input.Id = System.Guid.NewGuid().ToString();
            input.mType = 14;
            input.BlockchainType = (int)BlockchainType.ETH;
            input.ContractAddress = this.txtTransferTokenAddress.Text.Trim().ToLower();
            input.SourceAddress = this.txtFrom.Text.Trim().ToLower();
            input.PrivateKey = this.txtFromPrvKey.Text.Trim().ToLower();
       
            input.TargetAddress = this.txtTo.Text.Trim().ToLower(); ;
            input.Amount = long.Parse(this.txtAmount.Text);

            //input.TradeFee = 50;
            input.TradeNumber = "A123456789";
            input.TradeMemo = "我是备注";
            input.Timestamp = DateUtil.GetTimeStamp(DateTime.Now);
            this.txtAddress.Text = this.txtAddress.Text.Trim().ToLower();
            redis.Publish<TransferTokenInput>("API_BC_Eth_Token_Transfer", input);
        }
    }

    public class TransferTokenInput : CmdInput
    {

        public string SourceAddress { set; get; }

        public string PrivateKey { set; get; }

        public string PrivatePassword { set; get; }

        public string TargetAddress { set; get; }

        /// <summary>
        /// 合约地址
        /// </summary>
        public string ContractAddress { set; get; }

        public BigInteger Amount { set; get; }

        //public BigInteger TradeFee { set; get; }

        public string TradeNumber { set; get; }

        public string TradeMemo { set; get; }



    }

    public class TokenBalanceInput : CmdInput
    {
        public string ContractAddress { set; get; }

        public string Address { set; get; }

        /// <summary>
        /// 没有使用
        /// </summary>
        public string PrivatePassword { set; get; }
    }


    public class QueryTokenMonitorInput : CmdInput
    {
       
    }


    public class CancelTokenMonitorInput : CmdInput
    {
        public string Address { set; get; }

        public string ContractAddress { set; get; }
    }
    public class CreateERC20MonitorInput : CmdInput
    {
        public string Address { set; get; }

        public string ContractAddress { set; get; }
    }

    public class TradeTicket
    {
        public string Id { set; get; }

        public string mType { set; get; }

        public string OrderId { set; get; }

        public int OrderType { set; get; }

        public int TradeObjNum { set; get; }

        public string BuySplit { set; get; }

        public string SellSplit { set; get; }

        public decimal Price { set; get; }

        public decimal Amount { set; get; }

        public string Timestamp { set; get; }

    }
}


标签: bi

实例下载地址

BTC&ETH开发实例

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警