· 8 years ago · Jan 27, 2018, 12:42 AM
1class GDAXRequestAuth(AuthBase):
2
3def _init_(self, api_key, secret_key, passphrase):<
4 self.api_key = api_key
5 self.secret_key = sec`enter code here`ret_key
6 self.passphrase = passphrase
7def _call_(self, request):
8 timestamp = str(time.time())
9 message = timestamp + request.method + request.path_url + (request.body or '')
10 hmac_key = base64.b64decode(self.secret_key)
11 signature = hmac.new(hmac_key, message.encode('utf-8'), hashlib.sha256)
12 signature_b64 = base64.b64encode(signature.digest())
13 request.headers.update({
14 'CB-ACCESS-SIGN': signature_b64,
15 'CB-ACCESS-TIMESTAMP': timestamp,
16 'CB-ACCESS-KEY': self.api_key,
17 'CB-ACCESS-PASSPHRASE': self.passphrase,
18 'Content-Type': 'application/json'
19 })
20 return request
21
22api_base =
23api_key =
24api_secret =
25passphrase =
26
27
28
29headers = {
30 'CB-ACCESS-SIGN': signature_b64,
31 'CB-ACCESS-TIMESTAMP': timestamp,
32 'CB-ACCESS-KEY': api_key,
33 'CB-ACCESS-PASSPHRASE': passphrase,
34 'Content-Type': 'application/json'
35}
36
37requests.post(order_url, data=data, headers=headers)
38
39
40
41auth = GDAXRequestAuth(api_key, api_secret, passphrase)
42order_url = api_base + '/orders'
43order_data = {
44 'type': 'market',
45 'side': 'buy',
46 'product_id': 'BTC-USD',
47 'size': '0.01'
48}
49response = requests.post(order_url, data= json.dumps(order_data), auth =auth)
50print(response.json())