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