Пытаюсь написать запрос на API coinbase.com, но не могу правильно сгенерировать подпись. Уже 2 дня пытаюсь найти свою ошибку, но не могу. Я проанализировал код для других языков на странице: https://developers.coinbase.com/docs/wallet/api-key-autumnicathion, но я не вижу различий в реализации.
Помоги мне, пожалуйста.
<?php
$g_coinbase_key = 'KcxisxqmWRVgtwsj';
$g_coinbase_secret = 'isOLGBLaEkCy3ROQMvmjonGmXK0KRmUS';
$time = time();
$method = "GET";
$path = '/v2/accounts/';
$sign = base64_encode(hash_hmac("sha256", $time.$method.$path, $g_coinbase_secret));
$ch = curl_init('https://api.coinbase.com'.$path);
$headers = array(
"CB-VERSION: 2017-10-26",
"CB-ACCESS-SIGN: ".$sign,
"CB-ACCESS-TIMESTAMP: ".$time,
"CB-ACCESS-KEY: ".$g_coinbase_key,
"Content-Type: application/json"
);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
var_dump($result);
?>
Результат:
{"errors":[{"id":"authentication_error","message":"invalid signature"}]}