本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

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

电脑教程 diannaojiaocheng 4℃

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

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

参考国外的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的方法的相关介绍,希望小编的内容能帮到大家!

转载请注明:范的资源库 » 使用.net调用比特儿自动交易api的方法是什么?如何使用.net调用比特儿自动交易?

喜欢 (0)