Get Stateproof
Returns the contents of the address book file, signature files, and record file that can be used to validate the transaction occurred on the Hedera network given transaction id.
curl --request GET \
--url https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproofimport requests
url = "https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof")
.asString();require 'uri'
require 'net/http'
url = URI("https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"address_books": [
"MjljY2IxNGNjNWY2NWM1MmZlYjc0MjkyYjAxZDUyZmRjZjJkZTY0NWQzOTRiNTM3MDQ2ODBkYjZkMTMyZWM2Yw=="
],
"record_file": {
"head": "AAAABQAAAAAAAAAbAAAAAAAAAAE==",
"start_running_hash_object": "9CLag6JRdB4AAAABWP+BGwAAADCTEm5j2O9qy33fqKR/F0sKXYqPPQCt92kA2koMvkg4h6uhnEX/H0iXWL4CxWCK+C8=",
"end_running_hash_object": "9CLag6JRdB4AAAABWP+BGwAAADAkK6BKPFKbOX46Kul0OiAYR5x52X0cJLgPvmOjupycWgXRyItITx7HrfSjH5LpU6Q=",
"hashes_before": [
"RxKzucDUGgqBgR+CXXfAKgYuE/xhIaBlo+hmMKyxrm8nmSiaG3a9hlLGHh6+yXFm"
],
"hashes_after": [
"TOJuZz3EUX1RNdRJBfz7n+V9cYyEm//ER9h3s/y1d8nzs0VqYltJFE0dPangRC6c",
"RiRHvjPQPqUXNlvDJ6lPiv40ZOPVV3VcWRH8GOKFf6Xv9jK0vUjR2qGfjI/IRZRy"
],
"record_stream_object": "43CSm6VCnYsAAAABAAAA2gpgCBYqJAoQCLDqARCA3AsaBgjQ6f2WBhIQCLDqARCm5QsaBgjghf6WBjiR6EhCMDNd1b7xmTuNNiLcn2bdlAI=",
"block_number": "AAECoA=="
},
"signature_files": {
"0.0.3": "MWFmYzZlNWVjNGJiZTg0ZWJjNTVkMGViNDViMjE2Mzg2ZTQ2NjUzZTYyYmM1NjE2YThmZGJjNzQ1ZWIyMTQxNQ==",
"0.0.4": "ZDI4ZDIwMGJiYTdkNDhmNTA3ZTE0MGZhNjIyOGFiYTdmMjlmZjhiMmEzZjJhOGVlYjg1NzQyZGMwNTNjZWM3MQ==",
"0.0.5": "MWY0YmU5OGE3NWE4N2NkNjQ5ZTNlMWE1ODI1OTI3NTgwNWM1Y2RmNjNmYjA0YjMzMTdlZmI1MTEwNzQ2NDVjNw==",
"0.0.6": "NzNiZTVmMTZkNmY4NTQ4MjdiN2M4MTEzZmFlY2I1YzIwNGI5ZjFkNjhiMzdkMzczNTg4OTRkOWFiZmM5N2U4Mw==",
"0.0.7": "NDJiZTVmMTZkNmY4NTQ4MjdiN2M4MTEzZmFlY2I1YzIwNGI5ZjFkNjhiMzdkMzczNTg4OTRkOWFiZmM5N2U4Mw=="
},
"version": 6
}{
"_status": {
"messages": [
{
"message": "Invalid parameter: account.id"
},
{
"message": "Invalid Transaction id. Please use \\shard.realm.num-sss-nnn\\ format where sss are seconds and nnn are nanoseconds"
}
]
}
}{
"_status": {
"messages": [
{
"message": "Transaction not found"
}
]
}
}{
"_status": {
"messages": [
{
"message": "Require at least 1/3 signature files to prove consensus, got 1 out of 4 for file 2019-10-11T13_33_25.526889Z.rcd_sig"
}
]
}
}20 Compute Units.
Path Parameters
Transaction id
Query Parameters
Filter the query result by the nonce of the transaction. A zero nonce represents user submitted transactions while a non-zero nonce is generated by main nodes. The filter honors the last value. Default is 0 when not specified.
x >= 0Filter transactions by the scheduled flag. If true, return information for the scheduled transaction. If false, return information for the non-scheduled transaction.
Response
OK
- Option 1
- Option 2
The network address book valid at the time of the transaction
The record file the transaction belongs to, in compact format
Show child attributes
Show child attributes
The nodes' signature files for the record file
Show child attributes
Show child attributes
The record file format version, either 5 or 6
x >= 0curl --request GET \
--url https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproofimport requests
url = "https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof")
.asString();require 'uri'
require 'net/http'
url = URI("https://{network}.hedera.validationcloud.io/v1/{API_KEY}/api/v1/transactions/{transactionId}/stateproof")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"address_books": [
"MjljY2IxNGNjNWY2NWM1MmZlYjc0MjkyYjAxZDUyZmRjZjJkZTY0NWQzOTRiNTM3MDQ2ODBkYjZkMTMyZWM2Yw=="
],
"record_file": {
"head": "AAAABQAAAAAAAAAbAAAAAAAAAAE==",
"start_running_hash_object": "9CLag6JRdB4AAAABWP+BGwAAADCTEm5j2O9qy33fqKR/F0sKXYqPPQCt92kA2koMvkg4h6uhnEX/H0iXWL4CxWCK+C8=",
"end_running_hash_object": "9CLag6JRdB4AAAABWP+BGwAAADAkK6BKPFKbOX46Kul0OiAYR5x52X0cJLgPvmOjupycWgXRyItITx7HrfSjH5LpU6Q=",
"hashes_before": [
"RxKzucDUGgqBgR+CXXfAKgYuE/xhIaBlo+hmMKyxrm8nmSiaG3a9hlLGHh6+yXFm"
],
"hashes_after": [
"TOJuZz3EUX1RNdRJBfz7n+V9cYyEm//ER9h3s/y1d8nzs0VqYltJFE0dPangRC6c",
"RiRHvjPQPqUXNlvDJ6lPiv40ZOPVV3VcWRH8GOKFf6Xv9jK0vUjR2qGfjI/IRZRy"
],
"record_stream_object": "43CSm6VCnYsAAAABAAAA2gpgCBYqJAoQCLDqARCA3AsaBgjQ6f2WBhIQCLDqARCm5QsaBgjghf6WBjiR6EhCMDNd1b7xmTuNNiLcn2bdlAI=",
"block_number": "AAECoA=="
},
"signature_files": {
"0.0.3": "MWFmYzZlNWVjNGJiZTg0ZWJjNTVkMGViNDViMjE2Mzg2ZTQ2NjUzZTYyYmM1NjE2YThmZGJjNzQ1ZWIyMTQxNQ==",
"0.0.4": "ZDI4ZDIwMGJiYTdkNDhmNTA3ZTE0MGZhNjIyOGFiYTdmMjlmZjhiMmEzZjJhOGVlYjg1NzQyZGMwNTNjZWM3MQ==",
"0.0.5": "MWY0YmU5OGE3NWE4N2NkNjQ5ZTNlMWE1ODI1OTI3NTgwNWM1Y2RmNjNmYjA0YjMzMTdlZmI1MTEwNzQ2NDVjNw==",
"0.0.6": "NzNiZTVmMTZkNmY4NTQ4MjdiN2M4MTEzZmFlY2I1YzIwNGI5ZjFkNjhiMzdkMzczNTg4OTRkOWFiZmM5N2U4Mw==",
"0.0.7": "NDJiZTVmMTZkNmY4NTQ4MjdiN2M4MTEzZmFlY2I1YzIwNGI5ZjFkNjhiMzdkMzczNTg4OTRkOWFiZmM5N2U4Mw=="
},
"version": 6
}{
"_status": {
"messages": [
{
"message": "Invalid parameter: account.id"
},
{
"message": "Invalid Transaction id. Please use \\shard.realm.num-sss-nnn\\ format where sss are seconds and nnn are nanoseconds"
}
]
}
}{
"_status": {
"messages": [
{
"message": "Transaction not found"
}
]
}
}{
"_status": {
"messages": [
{
"message": "Require at least 1/3 signature files to prove consensus, got 1 out of 4 for file 2019-10-11T13_33_25.526889Z.rcd_sig"
}
]
}
}