我很难计算一个随机数以连接到KuCoin交易所。我目前正在使用以下代码来计算C#中的随机数:
long nonce = DateTime.UtcNow.Ticks;
我得到的错误如下:
“ {\” code \“:\” UNAUTH \“,\” msg \“:\”无效的随机数“,\”成功\“:false,\”时间戳\“:1539429475443}”
答案 0 :(得分:2)
Kucoin文档没有明确指出它希望在Unix时间获得该值。 .net中的DateTime.Ticks是基于第一年的1月1日,而unix时代是1970年1月1日。
您可以使用以下代码获取所需的值:
var CurrentTimestamp = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc)).TotalMilliseconds
答案 1 :(得分:1)
根据https://kucoinapidocs.docs.apiary.io/#introduction/authentication,Kucoin API希望现时是一个以毫秒为单位的时间戳。
但是,https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks?view=netframework-4.7.2说DateTime.UtcNow.Ticks
用“滴答”表示时间,滴答是十分之一微秒。
这意味着在一毫秒内有10,000个滴答声,因此要将.Ticks
结果转换为Kucoin希望您必须将其除以10,000的毫秒值:
long nonce = DateTime.UtcNow.Ticks / 10000;