Binance::API:无法连接到交易所

问题描述

我是算法交易者和 Perl 粉丝。 我想创建一个连接到 Binance Future Testnet 的客户端,我决定利用为 Perl 开发的 Binance API 模块。

一旦安装了 Binance::API 模块(那里没有发生错误或警告),我将深入研究脚本的第一行代码,如下所示:

#!/bin/perl 

use Binance::API;

#API di Binance-Testnet
my $api = Binance::API->new(
    apiKey    => 'my api',secretKey => 'my secret key',);
 
$api->account(); 
$api->exchange_info(); 

API KEY 和 SECRET KEY 取自我的 Binance Future Testnet 账户(所有用户均可免费使用),通过 Tradingview 及其 Pine 脚本工具成功使用。

不幸的是,我收到以下错误

[Binance::API::Request::_exec] Unsuccessful request.
Status => 401,Content => {"code":-2015,"msg":"Invalid API-key,IP,or permissions for action."} at C:/StrawBerry/perl/site/lib/Binance/API/Request.pm line 107.
[Binance::API::Request::_exec] Unsuccessful request.
Status => 404,Content => <html><body><h2>404 Not found</h2></body></html> at C:/StrawBerry/perl/site/lib/Binance/API/Request.pm line 107.

知道这有什么问题吗?我不想使用 Python 或 C++,因为我喜欢 Perl 及其多功能性。

解决方法

如果您查看 Binance::API 源代码,您可以看到该模块是为 Spot 市场开发的。不是期货。 https://github.com/taskula/binance-perl-api/blob/master/lib/Binance/Constants.pm

BEGIN {
%constants = (
    BASE_URL => $ENV{BINANCE_API_BASE_URL} || 'https://api.binance.com',#this endpoint is for spot
    DEBUG    => $ENV{BINANCE_API_DEBUG}    || 0,);
}

对于 Spot 测试网,您可以从这里获取 API KEY: https://binance-docs.github.io/apidocs/spot/en/#enabling-accounts

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...