问题描述
我是算法交易者和 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