Fehlermeldung 10007 Bitunix -Signaturfehler beim Versuch, den Rand zu ändernPython

Python-Programme
Anonymous
 Fehlermeldung 10007 Bitunix -Signaturfehler beim Versuch, den Rand zu ändern

Post by Anonymous »

Verwenden der Bitunix -API über Antworten Ich erhalte immer einen Signaturfehler. Dies ist mein Code: < /p>

Code: Select all

def auth_headers(self, query_params: dict = None, body: dict = None) -> dict:
"""
Generate signed authentication headers for Bitunix API using strict formatting:
- query_params: dict used in signature (for GET requests or query parameters)
- body: dict used in signature (for POST requests)
"""
import json
import hashlib

def sha256_hex(input_string):
return hashlib.sha256(input_string.encode('utf-8')).hexdigest()

# Generate nonce (32-bit random string) and timestamp
nonce = str(int(time.time() * 1000))[-6:]  # Last 6 digits like "123456"
timestamp = str(int(time.time() * 1000))  # Milliseconds timestamp

# 1. Sort query params in ascending ASCII order by key
query_str = ""
if query_params:
# Convert all values to strings and sort by key
sorted_params = sorted(query_params.items())
query_str = ''.join(f"{k}{str(v)}" for k, v in sorted_params)

# 2. Convert body to string with no spaces (if present)
body_str = "uid1234"
if body:
body_str = json.dumps(body, separators=(',', ':'), ensure_ascii=True)
print(body_str)

# 3. First hash: SHA256(nonce + timestamp + apiKey + queryParams + body)
pre_digest = nonce + timestamp + self.api_key + query_str + body_str
digest = sha256_hex(pre_digest)

# 4. Final sign: SHA256(digest + secretKey)
sign = sha256_hex(digest + self.secret_key)

# Debug info
print("Nonce:", nonce)
print("Timestamp:", timestamp)
print("Query String:", query_str)
print("Body String:", body_str)
print("Pre-digest:", pre_digest)
print("Digest:", digest)
print("Sign:", sign)

return {
'api-key': self.api_key,
'sign': sign,
'nonce': nonce,
'timestamp': timestamp,
'Content-Type': 'application/json'
}

def change_marginmode(self):
"""
Change margin mode following the exact signature pattern from documentation.
"""
url = 'https://fapi.bitunix.com/api/v1/futures/account/change_margin_mode'

# Query parameters must be included in signature
query_params = {
"symbol": "BTCUSDT",
"marginCoin": "USDT",
"marginMode": "ISOLATION"
}
< /code>
Wenn ich jetzt die Methode aufrufe, erhalte ich diesen Fehler: < /p>
{'code': 10007, 'data': None, 'msg': 'Signature Error'}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post