浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ 新闻资讯/ 软件教程 /使用.net调用比特儿自动交易api的方法是什么?如何使用.net调用比特儿自动交易?

使用.net调用比特儿自动交易api的方法是什么?如何使用.net调用比特儿自动交易?

2023-02-22 20:18:02 编辑:匿名

比特儿是国内主流的比特币/山寨币交易网站,其上能够进行大部分虚拟货币之间及与人民币的交易和兑换。下面小编给大家介绍一下它,希望你能喜欢!

参考国外的btc-e网站,能看到bter.com几乎是btc-e的一个克隆版。bter同btc-e一样提供有自动交易API接口。并在网站上提供了一个php版的例子,查看两个网站的php例子,发现几乎完全相同。而btc-e网站提供了多种语言的访问例子。其中的.net接口例子是比较完整和精巧的。它将btc-e的原始网站api接口进行二次封装生成dll,在.net程序中可以非常简单的调用。现在我们看一下如何改动btc-e.com的.net例程以用于比特儿交易网站。

在https://github.com/DmT021/BtceApi下载到btc-e的.net例程源码包。我们看到,在项目里一个BtceApi的子项目才是访问btc-e自动交易API的核心源码,这个子项目生成Btceapi.dll,被apitest主程序引用。

btceapi项目中,btceapi.cs是程序核心,而btcdpair.cs及Depth.cs,Funds.cs等等用于一些常数或结构的定义。在btceapi.cs源码中,我们查找https://btc-e.com/tapi,将此地址改为bter.com的相应地址:

//var request = WebRequest.Create(new Uri(https://btc-e.com/tapi)) as HttpWebRequest;

var request = WebRequest.Create(new Uri(https://bter.com/api)) as HttpWebRequest;

而具体api调用也需要更改:

//string queryStr = string.Format(https://btc-e.com/api/2/{0}/depth, BtcePairHelper.ToString(pair));

string queryStr = string.Format(https://bter.com/api/1/depth/{0}, BtcePairHelper.ToString(pair));

其余类似地方均作修改即可。好,现在我们写些代码测试下bter的交易行情api。确认btceapi.cs已经做过如下修改:

//string queryStr = string.Format(https://btc-e.com/api/2/{0}/ticker, BtcePairHelper.ToString(pair));

string queryStr = string.Format(https://bter.com/api/1/ticker/{0}, BtcePairHelper.ToString(pair));

然后我们在调用者程序中用以下语句调用封装过的接口:

var ticker1 = BtceApi.GetTicker(BtcePair.LtcBtc);

System.Console.Out.WriteLine(Convert.ToString(ticker1.High) + | + Convert.ToString(ticker1.Low));

我们查看的是ltc兑换btc的行情数据。ticker.cs已定义了btc-e.com的交易行情API的返回结构,比如ticker.sell是卖单数量,ticker.low是最低价等,测试起见,以上语句只显示最高价和最低价以验证结果。

编译运行,悲剧,出现异常了。显示未定义的变量之类,不要紧,让我们调试一下代码:

public static Ticker GetTicker(BtcePair pair)

{

string resStr;

//string queryStr = string.Format(https://btc-e.com/api/2/{0}/ticker, BtcePairHelper.ToString(pair));

string queryStr = string.Format(https://bter.com/api/1/ticker/{0}, BtcePairHelper.ToString(pair));

resStr = Query(queryStr);

var res = JObject.Parse(resStr);

return Ticker.ReadFromJObject(res[ticker] as JObject);

}

我们在btceapi.cs的getticker方法中,看到一直到var res = JObject.Parse(resStr)句都是正常的。甚至变量res也得到了正确的结果。然而与原btc-e网站的返回结果比较,btc-e网站的结果虽也是json格式,但却是放在一个ticker结构里面,而bter.com返回的json则未将各high,low等数据项外面再加一层ticker结构包装,导致res[ticker] as JObject一句出现异常。所以只需将res[ticker]改为res即可。

好再次编译运行,正常。正确打印出了当前的最高价和最低价。

使用自动交易API,可根据自己的创意做许多事情,此处不再啰嗦。如果您觉得本文有用,可以支持些BTC或LTC,本人十分感谢。当然不支持也随时欢迎大家光临本博客,哈哈。

BTC捐赠地址:1DkC3uMTcvRyghsMzbPcM7WY7GMLFh1987

LTC捐赠地址:LVbTBZjXzzBXRcur3Qzfm6UVwF3ZN8uncR

以上就是关于使用.net调用比特儿自动交易api的方法的相关介绍,希望小编的内容能帮到大家!

相关推荐

软件更新