首页 > 解决方案 > FTX FIX 协议返回“无效签名”消息

问题描述

我一直在尝试在 Go 中实现一个 FIX 客户端来与 FTX 交互。为了发送初始登录消息,FTX 的 API 文档要求客户端在消息中包含签名。

在 FTX 的返回消息中,它显示“无效签名”。

下面是我生成签名的实现:

func signatureGenerator(msgType, msgSeqNum, senderCompID, targetCompID string) string {

    timeNow := time.Now().UTC().Format("20060102-15:04:05")

    message := [][]byte{[]byte(timeNow),
                        []byte(msgType),
                        []byte(msgSeqNum), 
                        []byte(senderCompID),
                        []byte(targetCompID)}
    SOH := []byte{0x01}
    signature := bytes.Join(message, SOH)

    signSha256 := hmac.New(sha256.New, []byte(userInfo.CLIENT_API_SECRET))
    signSha256.Write(signature)

    strSig := hex.EncodeToString(signSha256.Sum(nil))
    return strSig
}

标签: apigosha256hmacfix-protocol

解决方案


推荐阅读