· 7 years ago · Aug 10, 2018, 06:18 PM
1import base64, hashlib, hmac, time
2import json
3import requests
4from requests.auth import AuthBase
5
6api_base = 'https://api-public.sandbox.gdax.com'
7
8
9class GDAXRequestAuth(AuthBase):
10 def __init__(self, api_key, secret_key, passphrase):
11 self.api_key = api_key
12 self.secret_key = secret_key
13 self.secret_key += "000"
14 print(self.secret_key)
15 self.passphrase = passphrase
16
17 def __call__(self, request):
18 timestamp = str(time.time())
19 message = timestamp + request.method + request.path_url + (request.body or '')
20 hmac_key = base64.b64decode(self.secret_key)
21 signature = hmac.new(hmac_key, message.encode('utf-8'), hashlib.sha256)
22 signature_b64 = base64.b64encode(signature.digest())
23 request.headers.update({
24 'CB-ACCESS-SIGN': signature_b64,
25 'CB-ACCESS-TIMESTAMP': timestamp,
26 'CB-ACCESS-KEY': self.api_key,
27 'CB-ACCESS-PASSPHRASE': self.passphrase,
28 'Content-Type': 'application/json'
29 })
30 return request
31
32
33auth = GDAXRequestAuth('f9fc5ceab1d0f7652cb72cc1f25c317e',
34 '0000', '7iaxxywyy6e')
35order_url = api_base + '/orders'
36order_data = {
37 'type': 'market',
38 'side': 'buy',
39 'product_id': 'BTC-USD',
40 'size': '0.01'
41}
42response = requests.post(order_url, data=json.dumps(order_data), auth=auth)
43print(response.json())
44
45File "C:UsersaarshAppDataLocalProgramsPythonPython36-32libbase64.py", line 87, in b64decode
46return binascii.a2b_base64(s)
47binascii.Error: Incorrect padding
48
49Process finished with exit code 1