2016-08-19 3 views
2

Ich möchte Tierion Hash-API mit PHP, aber ich bin Anfänger integrieren und ich Kwon nicht, wie ...Wie integriere ich die Tierion Hash API?

In der Dokumentation zu starten, gibt es thisto beginnen: enter image description here

Aber ich don verstehe nicht, wie kann ich die POST-Anfrage machen? Wo kann ich das schreiben? { "username":"xxxxx","password":"xxxx"}

}

+4

Sie sind wahrscheinlich am besten mit Guzzle für API-Interaktionen –

+0

@MarkTwigg, können Sie mir ein Beispiel schicken, um es zu verwenden? – wxcvbn

+0

Werfen Sie einen Blick auf die Dokumentation von guzzle es hat einige wirklich detaillierte Beispiele und gut kommentiert –

Antwort

5

Tom aus Tierion hier. Mit der HashAPI müssen Sie zuerst Ihre Kontoanmeldeinformationen senden, um ein temporäres Zugriffstoken zu erhalten. Dieses Zugriffstoken ist das, was Sie mit Ihrer POST-Anfrage Ihres Hash an die HashAPI senden und die Einreichung authentifizieren.


1) Erste über den/Token/Endpunkt Ihrer Zugriffstoken & Aktualisierungs-Token, indem Sie Ihre Anmeldeinformationen als Parameter einreichen: Ich werde ein paar Haupt-Anfragen mit der Hash-API und ROTATION-less PHP-Implementierungen gehen .

Zuerst müssen Sie Ihren Benutzernamen und Ihr Passwort als Anfrageparameter an unseren/token/Endpunkt senden, um Ihr Zugangstoken zu erhalten. Ihre Anmeldeinformationen werden als Parameter gesendet, nicht als Anforderungsheader.

Code:

// 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); 

Musterantwort:

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

2) Erhalten eines aktualisierten Zugriffstoken über den/Refresh/Endpunkt, indem Sie Ihre Aktualisierungs-Token als Parameter eingeben.

Ihr Zugriffstoken ist eine Stunde lang gültig, bevor es aktualisiert werden muss. Sie müssen Ihr Aktualisierungs-Token, das Sie mit Ihrem Autorisierungstoken erhalten haben, an unseren/refresh/endpoint senden. Sie erhalten ein neues Autorisierungstoken, das für eine weitere Stunde gültig ist. Ihr Zugriffstoken wird als Parameter gesendet, nicht als Anforderungsheader.

Code:

// 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); 

Musterantwort:

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

3) Übermittlung Ihrer Hash mit dem Hash-API mit dem Autorisierungs-Token als Header in der Anfrage.

Jetzt, da Sie Ihr Zugriffstoken haben, können Sie Hashs an die Hash-API senden. Sie müssen eine Anforderung mit Ihrem Hash als Anforderungsparameter und Ihr Autorisierungstoken als Anforderungsheader erstellen.

Code:

// 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); 

Musterantwort:

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

4) Erhalten Sie den entsprechenden blockchain Eingang mit einem receiptId.

Nachdem Sie einen Hash gesendet haben, erhalten Sie eine Bestätigungs-ID. Diese ID ist ein eindeutiger Zeiger innerhalb des Tierion-Systems auf Ihren Blockchain-Empfang. Diese ID korreliert nicht mit der Blockchain selbst, der Empfang tut dies. Um die Quittung zu erhalten, senden Sie die Quittungs-ID an unsere/Quittungen/Endpunkt.

Sie fügen die Empfangs-ID an das Ende der Anforderungs-URL an, statt sie über einen Anforderungsparameter zu senden.

Code:

// 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); 

Musterantwort:

{ 
    "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\"}]}" 
} 

Wenn Sie weitere Fragen haben, können Sie in unserem Team zu erreichen, bei [email protected] oder Schauen Sie sich unsere Hash API documentation an. Die Antwort here enthält weitere Informationen zu PHP HTTP-Anfragen.

+0

Vielen Dank !!! Ich verstehe, was ich jetzt tun muss !!!! – wxcvbn

+0

Wie kann ich diese Transaktion in Blockchain finden? Zum Beispiel habe ich eine receipId = "57bb2143c7a7eb032af78b25", aber wenn ich diese in die Suchleiste auf blockchain.info tippen, gibt es diesen Fehler: Unbekanntes Suchmuster – wxcvbn

+0

Ich habe einen vierten Punkt zu der obigen Antwort in Bezug auf den Erhalt Ihrer Quittung hinzugefügt. Sie müssen die Bestätigungs-ID an unseren/Empfangs-/Endpunkt senden, um den vollständigen Empfang der Blockchain zu erhalten, der die Quell-ID enthält, die Sie dann auf Blockchain.info nachschlagen können. –

Verwandte Themen