bounty还有4天到期。回答此问题可获得+150声望奖励。Dave正在寻找一个答案从一个有信誉的来源。
我想使用Python 3.9客户端和Kraken REST API。我使用的是他们发布在这里的代码库--https://support.kraken.com/hc/en-us/articles/360025180232-REST-API-command-line-client-Python-。我想测试这些调用,所以最近在https://demo-futures.kraken.com/上创建了一个API密钥。我遇到的麻烦是弄清楚演示API URL是什么。具体地说,我想用这段代码
api_domain = "https://api.kraken.com"
...
if api_method in api_private or api_method in api_trading or api_method in api_funding or api_method in api_staking:
api_path = "/0/private/"
api_nonce = str(int(time.time()*1000))
try:
api_key = open("API_Public_Key").read().strip()
api_secret = base64.b64decode(open("API_Private_Key").read().strip())
except:
print("API public key and API private (secret) key must be in plain text files called API_Public_Key and API_Private_Key")
sys.exit(1)
api_postdata = api_data + "&nonce=" + api_nonce
api_postdata = api_postdata.encode('utf-8')
api_sha256 = hashlib.sha256(api_nonce.encode('utf-8') + api_postdata).digest()
api_hmacsha512 = hmac.new(api_secret, api_path.encode('utf-8') + api_method.encode('utf-8') + api_sha256, hashlib.sha512)
api_request = urllib.request.Request(api_domain + api_path + api_method, api_postdata)
api_request.add_header("API-Key", api_key)
api_request.add_header("API-Sign", base64.b64encode(api_hmacsha512.digest()))
api_request.add_header("User-Agent", "Kraken REST API")
elif api_method in api_public:
api_path = "/0/public/"
api_request = urllib.request.Request(api_domain + api_path + api_method + '?' + api_data)
api_request.add_header("User-Agent", "Kraken REST API")
但我不确定我需要改变什么“API_domain”,以便与演示期货的关键工作。我得到“异常:EAPI:Invalid key”当我使用我的API密钥从演示期货帐户与
1条答案
按热度按时间gtlvzcf81#
要使用Kraken Python REST API与Sandbox/demo环境交互,您应该将代码中的
api_domain
变量更改为demo环境URL。演示环境的URL是“https://demo-futures.kraken.com“。参见“The Base Clients”
如果选择了沙盒环境,则必须从演示环境的设置页面生成密钥:
https://demo-futures.kraken.com/settings/api
。访问Kraken Futures API的标准URL是“https://futures.kraken.com“,其端点可以通过向
https://futures.kraken.com/derivatives/api/v3
发送HTTP请求来访问。但是,对于沙盒环境,您应该使用“https://demo-futures.kraken.com“域。请确保您使用的API密钥是从沙箱环境中生成的,因为生产环境中的密钥在沙箱环境中不起作用,反之亦然。