Nén ZK
getValidityProof
Trả về một bằng chứng ZK duy nhất được chương trình nén sử dụng để xác minh rằng các tài khoản đã cho là hợp lệ và có thể tạo các địa chỉ mới.
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"
}Tham số yêu cầu
array
Mảng các hàm băm mật mã cho tài khoản nén Solana cần xác minh
array
Mảng các địa chỉ tài khoản Solana cùng với các cây Merkle liên kết để xác minh
Ủy quyền
Khóa API Helius của bạn. Bạn có thể nhận khóa miễn phí trong bảng điều khiển.
Nội dung
application/json
Phiên bản của giao thức JSON-RPC.
Tùy chọn có sẵn:
2.0 ID dùng để nhận dạng yêu cầu.
Tên của phương thức cần gọi.
Tùy chọn có sẵn:
getValidityProof Show child attributes
Show child attributes
Trang này có hữu ích không?
⌘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"
}