BitcoinMethods

gettxoutproof

The gettxoutproof RPC method facilitates the verification of transaction inclusion within a specific block, returning a serialized proof of transaction inclusion.

gettxoutproof

Overview

The 'gettxoutproof' RPC method facilitates the verification of transaction inclusion within a specific block, returning a serialized proof of transaction inclusion.

Request

shell

wget --no-check-certificate --quiet \
  --method POST \
  --timeout=0 \
  --header 'Content-Type: application/json' \
  --header 'accept: application/json' \
  --header 'X-CoinAPI-Key: 73034021-THIS-IS-SAMPLE-KEY' \
  --body-data '{"jsonrpc":"2.0","id":1,"method":"gettxoutproof","params": [ ]}' \
   'https://bitcoin-mainnet.node.coinapi.io'

csharp

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://bitcoin-mainnet.node.coinapi.io");
request.Headers.Add("accept", "application/json");
request.Headers.Add("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY");
var content = new StringContent("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"gettxoutproof\",\"params\": [ ]}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());

php

<?php
$client = new Client();
$headers = [
  'Content-Type' => 'application/json',
  'accept' => 'application/json',
  'X-CoinAPI-Key' => '73034021-THIS-IS-SAMPLE-KEY'
];
$body = '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gettxoutproof",
  "params": []
}';
$request = new Request('POST', 'https://bitcoin-mainnet.node.coinapi.io', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
?>

python

import http.client
import json

conn = http.client.HTTPSConnection("mainnet-bitcoin.node.coinapi.io")
payload = json.dumps({
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gettxoutproof",
  "params": []
})
headers = {
  'Content-Type': 'application/json',
  'accept': 'application/json',
  'X-CoinAPI-Key': '73034021-THIS-IS-SAMPLE-KEY'
}
conn.request("POST", "/", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

javascript

var settings = {
"url": "https://bitcoin-mainnet.node.coinapi.io",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"accept": "application/json",
"X-CoinAPI-Key": "73034021-THIS-IS-SAMPLE-KEY"
},
"data": JSON.stringify({
"jsonrpc": "2.0",
"id": 1,
"method": "gettxoutproof",
"params": []
}),
};

$.ajax(settings).done(function (response) {
console.log(response);
});

go

package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://bitcoin-mainnet.node.coinapi.io"
  method := "POST"

  payload := strings.NewReader(`{"jsonrpc":"2.0","id":1,"method":"gettxoutproof","params": [ ]}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("accept", "application/json")
  req.Header.Add("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

ruby

require "uri"
require "json"
require "net/http"

url = URI("https://bitcoin-mainnet.node.coinapi.io")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["accept"] = "application/json"
request["X-CoinAPI-Key"] = "73034021-THIS-IS-SAMPLE-KEY"
request.body = JSON.dump({
  "jsonrpc": "2.0",
  "id": 1,
  "method": "gettxoutproof",
  "params": []
})

response = https.request(request)
puts response.read_body

java

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"gettxoutproof\",\"params\": [ ]}");
Request request = new Request.Builder()
  .url("https://bitcoin-mainnet.node.coinapi.io")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("accept", "application/json")
  .addHeader("X-CoinAPI-Key", "73034021-THIS-IS-SAMPLE-KEY")
  .build();
Response response = client.newCall(request).execute();

Request Parameters

'txids'

  • Type: JSON array
  • Requirement: Mandatory
  • Description: A JSON array that includes a collection of transaction identifiers (hashes).

'blockhash'

  • Type: String
  • Requirement: Optional
  • Description: When specified, the method searches for the transaction ID within the block associated with this particular hash.

Response

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "01000000d5c7b5ec4cb293bdcfc9a3e51b8696870ab75a2ef9d2e7e1205732a06b19f594efadbb4901"
}
  • Type: String
  • Description: A string that embodies serialized, hex-encoded data representing the proof of transaction inclusion.
Service StatusGitHub SDK