Compression ZK
getValidityProof
Retourne une preuve ZK unique utilisée par le programme de compression pour vérifier que les comptes donnés sont valides et que les nouvelles adresses peuvent être créées.
POST
/
cURL
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getValidityProof",
"params": {
"hashes": [
"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT"
]
}
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getValidityProof",
"params": { "hashes": ["gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT"] }
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: '1',
method: 'getValidityProof',
params: {hashes: ['gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT']}
})
};
fetch('https://mainnet.helius-rpc.com/?api-key=', 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://mainnet.helius-rpc.com/?api-key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => '1',
'method' => 'getValidityProof',
'params' => [
'hashes' => [
'gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mainnet.helius-rpc.com/?api-key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getValidityProof\",\n \"params\": {\n \"hashes\": [\n \"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mainnet.helius-rpc.com/?api-key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getValidityProof\",\n \"params\": {\n \"hashes\": [\n \"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.helius-rpc.com/?api-key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getValidityProof\",\n \"params\": {\n \"hashes\": [\n \"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"context": {
"slot": 100
},
"value": {
"compressedProof": {
"a": "<string>",
"b": "<string>",
"c": "<string>"
},
"leafIndices": [
1
],
"leaves": [
"<string>"
],
"merkleTrees": [
"<string>"
],
"rootIndices": [
1
],
"roots": [
"<string>"
]
}
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "Unauthorized"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Too many requests"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Internal error"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Service unavailable"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Gateway timeout"
},
"id": "1"
}Paramètres de la requête
array
Tableau de hachages cryptographiques pour les comptes compressés Solana à vérifier
array
Tableau d’adresses de comptes Solana avec leurs arbres de Merkle associés pour vérification
Autorisations
Votre clé API Helius. Vous pouvez en obtenir une gratuitement dans le tableau de bord.
Corps
application/json
La version du protocole JSON-RPC.
Options disponibles:
2.0 Un identifiant pour identifier la requête.
Le nom de la méthode à invoquer.
Options disponibles:
getValidityProof Show child attributes
Show child attributes
Cette page vous a-t-elle été utile ?
⌘I
cURL
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getValidityProof",
"params": {
"hashes": [
"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT"
]
}
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getValidityProof",
"params": { "hashes": ["gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT"] }
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: '1',
method: 'getValidityProof',
params: {hashes: ['gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT']}
})
};
fetch('https://mainnet.helius-rpc.com/?api-key=', 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://mainnet.helius-rpc.com/?api-key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => '1',
'method' => 'getValidityProof',
'params' => [
'hashes' => [
'gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mainnet.helius-rpc.com/?api-key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getValidityProof\",\n \"params\": {\n \"hashes\": [\n \"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mainnet.helius-rpc.com/?api-key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getValidityProof\",\n \"params\": {\n \"hashes\": [\n \"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.helius-rpc.com/?api-key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"1\",\n \"method\": \"getValidityProof\",\n \"params\": {\n \"hashes\": [\n \"gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"context": {
"slot": 100
},
"value": {
"compressedProof": {
"a": "<string>",
"b": "<string>",
"c": "<string>"
},
"leafIndices": [
1
],
"leaves": [
"<string>"
],
"merkleTrees": [
"<string>"
],
"rootIndices": [
1
],
"roots": [
"<string>"
]
}
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "Unauthorized"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Too many requests"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Internal error"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Service unavailable"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Gateway timeout"
},
"id": "1"
}