2016-08-19 4 views
2

Я хочу интегрировать Tierion Hash API с PHP, но я новичок, и я не Kwon, как начать ...Как интегрировать API Tierion Hash?

В документации есть этоДля начать: enter image description here

Но я не Не понимаю, как я могу выполнить запрос POST? где я могу это написать? { "username":"xxxxx","password":"xxxx"}

}

+4

Вы, вероятно, лучше всего используете взаимодействие с Gzzle для API –

+0

@MarkTwigg, можете ли вы прислать мне пример использования? – wxcvbn

+0

взгляните на документацию на жужжание, у него есть некоторые действительно подробные примеры и хорошо прокомментированы –

ответ

5

Том из Tierion здесь. С помощью HashAPI вам необходимо сначала предоставить учетные данные учетной записи, чтобы получить токен доступа. Этот токен доступа - это то, что вы отправите с помощью своего запроса POST вашего хэша в HashAPI, аутентифицируя представление. Я пойду за несколько основных запросов с Hash API и CURL-менее реализациями PHP:


1) Получение вашего маркера доступа маркера & обновления через/лексемы/конечную точку, представив свои учетные данные в качестве параметров ,

Сначала вы должны отправить свое имя пользователя и пароль в качестве параметров запроса в наш/токен/конечную точку, чтобы получить токен доступа. Ваши учетные данные отправляются как параметры, а не как заголовки запросов.

Код:

// Specify your request URL and the parameters you need to send. 
$url = 'https://hashapi.tierion.com/v1/auth/token'; 
$data = array('username' => '_YOUR_USERNAME_', 'password' => '_YOUR_PASSWORD_'); 

// Use the "HTTP" key even if you're making an HTTPS request. 
$options = array(
    'http' => array(
     'method' => 'POST', 
     'content' => http_build_query($data) 
    ) 
); 

// Create and submit the HTTP request. 
$context = stream_context_create($options); 
$response = file_get_contents($url, false, $context); 

    // Check for a failed request, handle error according. 
    if ($response === FALSE) { 
     // Handle error 
    } 

// $response now holds your authorization token, expiration time, and refresh token. 
var_dump($response); 

Пример ответа:

{ 
    "access_token": "eyB9eXAiOiJKV1QiLDJhbGciOiJIUzI1NiJ8.eyJpZCI6IjU2ZyyiYzFhNWY5Yjg1MjMyZmRjYWRhNyIsInJsbiI6MjBwMCwicmxpIjoicyIsImlzQWRtaW4iOnRydWUtImlhdCI6MTQ2MTI0NzE2NSwiZXhwIjoxNDYxMjUwNzY1LCJqdGkiOiI1MDUyYmFlZDhkNTM5NjcyNDNiMjkzN2RjNjRjNTcyOTJmNTQwZDZhIn0.KNiG-QHdeaH1jVLJpx0ykov8Kk7ogts69k5OhDkgFVM", 
    "expires_in": 3600, 
    "refresh_token": "ec71236f77ebd665210912ae8891aa08ee8ec3e4" 
} 

2) Получение обновленный маркер доступа с помощью/обновления/конечной точки, представив свой токен обновления в качестве параметров.

Ваш токен доступа действителен в течение одного часа, прежде чем его нужно будет обновить. Вам необходимо отправить токен обновления, полученный с помощью токена авторизации, в нашу/обновленную/конечную точку. Вы получите новый токен авторизации, который будет действителен в течение еще одного часа. Маркер доступа отправляется как параметры, а не заголовок запроса.

Код:

// Specify your request URL and the parameters you need to send. 
$url = 'https://hashapi.tierion.com/v1/auth/refresh'; 
$data = array('refreshToken' => '_YOUR_VALID_REFRESH_TOKEN_'); 

// Use the "HTTP" key even if you're making an HTTPS request. 
$options = array(
    'http' => array(
     'method' => 'POST', 
     'content' => http_build_query($data) 
    ) 
); 

// Create and submit the HTTP request. 
$context = stream_context_create($options); 
$response = file_get_contents($url, false, $context); 

    // Check for a failed request, handle error according. 
    if ($response === FALSE) { 
     // Handle error 
    } 

// $response now holds your NEW authorization token, expiration time, and refresh token. 
var_dump($response); 

Пример ответа:

{ 
    "access_token": "eyoJAxeiOiJKV1QiLCJhbGciOiIUJzI1NiJ9.eyJpZCI6IjU2ZWRiYzFhNWY5Yjg1jMjyZmRjYWRhNyIsInJsbiI6MjAwMCwicmxpIjoicyIsImlzQWRtaW4iOnRydWUsImlhdCI6MTQ2MTI0Nzk5NCwiZXhwIjoxNDYxMjUxNTk0LJCqdGkiOiIyM2M5NjVjMTYwNzM3NWZlMzQ0MWFiNDFjZTZjM2JkODkzODYxNWRiIn0.qFKIpT5q4K0u1P8_jwUsQkxxcCGu3uGsQKi33c-1gEM", 
    "expires_in": 3600,         
    "refresh_token": "ec32176f77ebd556210912ae8891aa08ff8ec3e4" 
} 

3) Отправка хэш Hash API с вашего жетона авторизации в качестве заголовка в запросе.

Теперь, когда у вас есть токен доступа, вы можете отправлять хэши в Hash API. Вам нужно сделать запрос с вашим хешем в качестве параметра запроса, а ваш токен авторизации - в качестве заголовка запроса.

Код:

// Specify your request URL and the parameters you need to send. 
$url = 'https://hashapi.tierion.com/v1/hashitems'; 
$data = array('hash' => '_YOUR_SHA256_HASH_'); 

// Use the "HTTP" key even if you're making an HTTPS request. 
$options = array(
    'http' => array(
     'header' => "Authorization: Bearer _YOUR_VALID_ACCESS_TOKEN_", 
     'method' => 'POST', 
     'content' => http_build_query($data) 
    ) 
); 

// Create and submit the HTTP request. 
$context = stream_context_create($options); 
$response = file_get_contents($url, false, $context); 

    // Check for a failed request, handle error according. 
    if ($response === FALSE) { 
     // Handle error 
    } 

// $response now holds your blockchain receipt ID and timestamp. 
var_dump($response); 

Пример ответа:

{ 
    "receiptId": "571694dd6b5c7b711861ea67", 
    "timestamp": 1461097693 
} 

4) Получить соответствующий blockchain квитанцию ​​с receiptId.

После того, как вы отправите хэш, вы получите квитанцию. Этот идентификатор является уникальным указателем в системе Tierion для получения вашей цепочки. Этот идентификатор не коррелирует с самой блок-цепочкой, квитанция делает. Чтобы получить квитанцию, вы отправляете квитанцию ​​в нашу/квитанцию ​​/ конечную точку.

Вы добавляете квитанцию ​​к концу URL-адреса запроса, а не отправляете его через параметр запроса.

Код:

// Specify your request URL and the parameters you need to send. 
$url = 'https://hashapi.tierion.com/v1/receipts' + _YOUR_RECEIPT_ID_; 

// Use the "HTTP" key even if you're making an HTTPS request. 
$options = array(
    'http' => array(
     'header' => "Authorization: Bearer _YOUR_VALID_ACCESS_TOKEN_", 
     'method' => 'POST', 
    ) 
); 

// Create and submit the HTTP request. 
$context = stream_context_create($options); 
$response = file_get_contents($url, false, $context); 

    // Check for a failed request, handle error according. 
    if ($response === FALSE) { 
     // Handle error 
    } 

// $response now holds your blockchain receipt. 
var_dump($response); 

Пример ответа:

{ 
    "receipt": "{\"@context\":\"https://w3id.org/chainpoint/v2\",\"type\":\"ChainpointSHA256v2\",\"targetHash\":\"a83a2c5c11a2bc814d0b1dca0a385d71a1f4d662b4e31335ba7562c56cce15b1\",\"merkleRoot\":\"2d21167d2f2f73e309d5ac00ab9faaf8b530478c5b64dcd5755511c8a3eccfa3\",\"proof\":[{\"left\":\"7c6e3b0159f1359d0f9f5a3b923011b7466bdf1423317ca09121b5dc61ad1836\"},{\"right\":\"541c5ae04e83c2880296818978511893ba1b00f1515162cd865f25da54f636d0\"},{\"right\":\"67b7ced55a4db4bb0fbaf2036901888a08ab7d8126556431258017652cf62092\"}],\"anchors\":[{\"type\":\"BTCOpReturn\",\"sourceId\":\"33884d525ca1cc54313fa2f27be4cf3442b35314866851cc7fc5ec3973d80250\"}]}" 
} 

Если у вас есть какие-либо дополнительные вопросы, не стесняйтесь обратиться к нашей команде в [email protected] или ознакомьтесь с нашим Hash API documentation. В ответе here содержится дополнительная информация о HTTP-запросах PHP.

+0

Большое спасибо !!! Я понимаю, что мне теперь нужно делать !!!! – wxcvbn

+0

Как я могу найти эту транзакцию в blockchain? Например, у меня есть receipId = "57bb2143c7a7eb032af78b25", но когда я нажимаю это на строку поиска на blockchain.info, появляется эта ошибка: непризнанный шаблон поиска – wxcvbn

+0

Я добавил четвертый пункт вышеприведенного ответа о получении вашей квитанции. Вы должны отправить квитанцию ​​к нашей/квитанции/конечной точке, чтобы получить полную цепочку получения цепочки, в которой содержится идентификатор источника, который вы можете посмотреть на Blockchain.info. –

 Смежные вопросы

  • Нет связанных вопросов^_^