Python FIX API - Logon没有响应

时间:2018-01-13 18:28:15

标签: python bitcoin fix-protocol algorithmic-trading gdax-api

我一直在尝试为GDAX crpyto交换机建立与FIX API的连接,但我似乎无法正常登录。我正在使用下面的代码生成消息:

import time
import simplefix
import socket
import base64
import hmac
import hashlib
from datetime import datetime

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 4197))

API_KEY = "KEY_GOES_HERE"
PASSPHRASE = "PASSPHRASE_GOES_HERE"
API_SECRET = "SECRET_GOES_HERE"

seq_num = "1"
sendingTime = str(datetime.utcnow()).replace("-","").replace(" ", "-")[:-3]
rawSig = "\x01".join([sendingTime, "A", seq_num, API_KEY, "Coinbase", PASSPHRASE]).encode("utf-8")

hmac_key  = base64.b64decode(API_SECRET)
signature = hmac.new(hmac_key, rawSig, hashlib.sha256)
sign_b64  = base64.b64encode(signature.digest()).decode()

msg = simplefix.FixMessage()

msg.append_pair(8, "FIX.4.2")
msg.append_pair(35, "A")
msg.append_pair(49, API_KEY)
msg.append_pair(52, sendingTime)
msg.append_pair(56, "Coinbase")
msg.append_pair(98, "0")
msg.append_pair(108, "30")
msg.append_pair(554, PASSPHRASE)
msg.append_pair(96, sign_b64)
msg.append_pair(8013, "Y")

print(msg.encode())
s.sendall(msg.encode("ascii"))
print(s.recv(4096))

我从服务器得到0字节的响应。据我所知,stunnel工作正常(成功连接并验证证书,但在发送登录消息后断开连接)。

刚刚尝试使用新生成的API密钥,密码和秘密,但无济于事。

作为参考,我正在处理这里提出的问题:How to send FIX logon message with Python to GDAX但我不允许在那里发表评论。

如果有人有任何想法,将不胜感激。下面是生成修复消息的示例,在帖子中删除了密码:

8=FIX.4.2\x019=161\x0135=A\x0149=[KEY_REMOVED]\x0152=20180113-18:24:07.889\x0156=Coinbase\x0198=0\x01108=30\x01554=[PASSPHRASE_REMOVED]\x0196=jueSJHoSNQM2BOCN3KM0mgB2/9tXpICbg4amqDKc2wY=\x018013=Y\x0110=053\x01

0 个答案:

没有答案
相关问题