Solana RPC
getSignaturesForAddress
getSignaturesForAddress trả về các chữ ký giao dịch đã xác nhận có chứa một địa chỉ Solana trong accountKeys, theo thứ tự ngược thời gian từ khối gần đây nhất.
POST
/
getSignaturesForAddress
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getSignaturesForAddress",
"params": [
"Vote111111111111111111111111111111111111111"
]
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getSignaturesForAddress",
"params": ["Vote111111111111111111111111111111111111111"]
}
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: 'getSignaturesForAddress',
params: ['Vote111111111111111111111111111111111111111']
})
};
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' => 'getSignaturesForAddress',
'params' => [
'Vote111111111111111111111111111111111111111'
]
]),
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\": \"getSignaturesForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\"\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\": \"getSignaturesForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\"\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\": \"getSignaturesForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"slot": 114,
"err": null,
"memo": null,
"blockTime": null,
"confirmationStatus": "finalized"
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Tham số không hợp lệ"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "Không được phép"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Quá nhiều yêu cầu"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Lỗi nội bộ"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Dịch vụ không khả dụng"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Hết thời gian chờ cổng kết nối"
},
"id": "1"
}Để lọc, sắp xếp nâng cao và xem lịch sử tài khoản token, hãy sử dụng
getTransactionsForAddress. Lưu ý rằng getSignaturesForAddress không bao gồm các giao dịch liên quan đến tài khoản token liên kết.Tham số yêu cầu
string
bắt buộc
Địa chỉ tài khoản Solana cần truy xuất lịch sử giao dịch (ví, token, chương trình, NFT, v.v.).
string
Mức độ cam kết cho yêu cầu. Mức cam kết
processed không được hỗ trợ.confirmedfinalized
number
Slot tối thiểu mà tại đó yêu cầu có thể được đánh giá.
number
Số lượng chữ ký giao dịch tối đa được trả về trong một yêu cầu (1-1.000).
string
Tham số phân trang để lấy các giao dịch trước chữ ký này (sớm hơn theo thời gian).
string
Lấy các giao dịch cho đến khi gặp chữ ký này, hữu ích khi truy vấn các khoảng thời gian cụ thể.
Ủ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 giao thức JSON-RPC.
Tùy chọn có sẵn:
2.0 Ví dụ:
"2.0"
Mã định danh duy nhất cho yêu cầu.
Ví dụ:
"1"
Tên của phương thức RPC cần gọi.
Tùy chọn có sẵn:
getSignaturesForAddress Ví dụ:
"getSignaturesForAddress"
Mảng chứa địa chỉ tài khoản bắt buộc và đối tượng cấu hình tùy chọn.
Địa chỉ tài khoản Solana cần truy xuất lịch sử giao dịch (ví, token, chương trình, NFT, v.v.).
Ví dụ:
"Vote111111111111111111111111111111111111111"
Trang này có hữu ích không?
⌘I
getSignaturesForAddress
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getSignaturesForAddress",
"params": [
"Vote111111111111111111111111111111111111111"
]
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getSignaturesForAddress",
"params": ["Vote111111111111111111111111111111111111111"]
}
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: 'getSignaturesForAddress',
params: ['Vote111111111111111111111111111111111111111']
})
};
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' => 'getSignaturesForAddress',
'params' => [
'Vote111111111111111111111111111111111111111'
]
]),
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\": \"getSignaturesForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\"\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\": \"getSignaturesForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\"\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\": \"getSignaturesForAddress\",\n \"params\": [\n \"Vote111111111111111111111111111111111111111\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
"slot": 114,
"err": null,
"memo": null,
"blockTime": null,
"confirmationStatus": "finalized"
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Tham số không hợp lệ"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "Không được phép"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Quá nhiều yêu cầu"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Lỗi nội bộ"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Dịch vụ không khả dụng"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Hết thời gian chờ cổng kết nối"
},
"id": "1"
}