<?php
class Bitfinex {
private $api_key;
private $api_secret;
private $api_version;
private $base_url = 'https://api.bitfinex.com';
public function __construct($api_key, $api_secret, $api_version = 'v1')
{
$this->api_key = $api_key;
$this->api_secret = $api_secret;
$this->api_version = $api_version;
}
public function get_balances()
{
$request = '/' . $this->api_version . '/balances';
echo $request;
$data = array(
'request' => $request,
'options' => array()
);
return $this->send_signed_request($data);
}
private function prepare_header($data)
{
$data['nonce'] = 144800329405116;
//(string) number_format(round(microtime(true) * 100000),0,'.','');
echo $data;
echo '<br/>';
echo "Json encode";
echo '<br/>';
echo json_encode($data);
echo '<br/>';
$payload = base64_encode(json_encode($data));
$signature = hash_hmac('sha384', $payload, $this->api_secret);
echo "payload ";
echo $payload;
echo " sig ";
echo $signature;
echo " ";
return array(
'X-BFX-APIKEY: ' . $this->api_key,
'X-BFX-PAYLOAD: ' . $payload,
'X-BFX-SIGNATURE: ' . $signature
);
}
private function send_signed_request($data)
{
$ch = curl_init();
$url = $this->base_url . $data['request'];
// echo $url;
$headers = $this->prepare_header($data);
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POSTFIELDS => ""
));
// echo $result;
if( !$result = curl_exec($ch) )
{
echo "NO <br/>";
return false;
}
else
{
echo "YES <br/>";
return json_decode($result, true);
}
}
}
$la = new Bitfinex('1', '1', '1');
$drek = $la->get_balances();
echo '<br/>';
echo 'Recived data';
//echo $drek;
?>
preferences:
38.72 ms | 402 KiB | 5 Q