在 VB.NET 中实现 bittrex API

Posted

技术标签:

【中文标题】在 VB.NET 中实现 bittrex API【英文标题】:Implement bittrex API in VB.NET 【发布时间】:2018-01-27 11:30:00 【问题描述】:

根据 Bittrex API Docs,它说他们使用标准 HMAC-SHA512 签名。将 apikey 和 nonce 附加到您的请求并计算 HMAC 哈希并将其包含在 apisign 标头下。注意:nonce 现在不被遵守,但会在以后强制执行。

$apikey='xxx';
$apisecret='xxx';
$nonce=time();
$uri='https://bittrex.com/api/v1.1/market/getopenorders?apikey='.$apikey.'&nonce='.$nonce;
$sign=hash_hmac('sha512',$uri,$apisecret);
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign));
$execResult = curl_exec($ch);
$obj = json_decode($execResult);

弃用 要求: https://bittrex.com/api/v1.1/account/getbalances?apikey=apikey

为了在 vb.net 中实现这一点,我尝试了以下操作:

Dim nonce = DateTime.Now.ToString()
        Dim apiurl = "https://bittrex.com/api/v1.1/account/getbalances?apikey=" + "apikey" + nonce
        sign = HashString(apiurl, "apisecret")
        Dim request As WebRequest
        request = WebRequest.Create(site)
        Dim response As WebResponse
        request.Method = "GET"
        request.Headers.Add("apisign:" + sign)
        response = request.GetResponse()

但出现错误:(

"success":false,"message":"NONCE_NOT_PROVIDED","re​​sult":null

【问题讨论】:

"getting error :(" 什么也没告诉我们。发布它。 我很好奇,因为我现在遇到了币安问题。你的错误是什么? 得到 "success":false,"message":"NONCE_NOT_PROVIDED","re​​sult":null 【参考方案1】:
    Dim nonce = DateTime.Now.Ticks.ToString
       Dim apiurl = "https://bittrex.com/api/v1.1/account/getbalances?apikey=" + "ApiKey" + "&nonce=" + nonce
        sign = HashString(apiurl, "apisecret")
        Dim request As WebRequest
        request = WebRequest.Create(site)
        Dim response As WebResponse
        request.Method = "GET"
        request.Headers.Add("apisign:" + sign)
        response = request.GetResponse()

【讨论】:

problem is in nonce... 我正在发送 nonce = DateTime.Now.ToString() 但将其发送为 nonce = DateTime.Now.Ticks.ToString() 解决问题。而且apiurl格式也有问题

以上是关于在 VB.NET 中实现 bittrex API的主要内容,如果未能解决你的问题,请参考以下文章

当两个方法同名但参数不同时如何在VB.Net中实现一个接口

如何在选择案例语句中实现枚举

将 QueueClientOptions 传递给 VB.NET 中的 Queueclient 构造函数

拖放 - vb.net

VB.net 创建日期 Killswitch(比较两个日期)

使用 C#/VB.NET 实现 SQL Server Profiler