RPC de Solana
getMultipleAccounts
Devuelve la información de las cuentas para una lista de claves públicas.
POST
/
getMultipleAccounts
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getMultipleAccounts",
"params": [
[
"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"
]
]
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getMultipleAccounts",
"params": [["vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg", "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"]]
}
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: 'getMultipleAccounts',
params: [
[
'vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg',
'4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA'
]
]
})
};
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' => 'getMultipleAccounts',
'params' => [
[
'vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg',
'4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA'
]
]
]),
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\": \"getMultipleAccounts\",\n \"params\": [\n [\n \"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\",\n \"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA\"\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\": \"getMultipleAccounts\",\n \"params\": [\n [\n \"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\",\n \"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA\"\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\": \"getMultipleAccounts\",\n \"params\": [\n [\n \"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\",\n \"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA\"\n ]\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": "1",
"result": {
"context": {
"apiVersion": "2.0.15",
"slot": 341197247
},
"value": [
{
"lamports": 88849814690250,
"owner": "11111111111111111111111111111111",
"data": [
"",
"base58"
],
"executable": false,
"rentEpoch": 18446744073709552000,
"space": 0
}
]
}
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Parámetros no válidos",
"data": {
"additionalInfo": "Comprueba los parámetros de la solicitud y asegúrate de que sean válidos."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "No autorizado",
"data": {
"additionalInfo": "Verifica tu clave de API e inténtalo de nuevo."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Demasiadas solicitudes",
"data": {
"additionalInfo": "Superaste la cantidad de solicitudes permitidas. Espera e inténtalo de nuevo más tarde."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Error interno",
"data": {
"additionalInfo": "Ocurrió un error inesperado en el servidor. Inténtalo de nuevo más tarde o contacta al equipo de soporte."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Servicio no disponible",
"data": {
"additionalInfo": "El servicio no está disponible en este momento. Inténtalo de nuevo más tarde o contacta al equipo de soporte."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Tiempo de espera agotado en la puerta de enlace",
"data": {
"additionalInfo": "Se agotó el tiempo de espera de la solicitud. Inténtalo de nuevo más tarde o contacta al equipo de soporte."
}
},
"id": "1"
}Nueva función:
getMultipleAccounts ahora admite el parámetro changedSinceSlot para actualizaciones incrementales. Cuando se especifica, el método devuelve solo las cuentas que se modificaron en el número de slot indicado o después. Para las cuentas que existen pero no han cambiado desde el slot especificado, la respuesta contendrá status: "unchanged".Parámetros de la solicitud
array
requerido
Matriz de direcciones de cuentas de Solana (hasta 100) que se obtendrán en una sola solicitud por lotes optimizada.
string
El nivel de confirmación de la solicitud.
confirmedfinalizedprocessed
number
El slot mínimo en el que se puede evaluar la solicitud.
object
Solicita un segmento de los datos de la cuenta.
number
Número de bytes que se devolverán.
number
Desplazamiento en bytes desde el que se empezará a leer.
string
Formato de codificación de los datos de cuenta devueltos.
jsonParsedbase58base64base64+zstd
number
Devuelve solo las cuentas que se modificaron en este número de slot o después. Para las cuentas que existen pero no han cambiado desde el slot especificado, la respuesta incluirá el estado “unchanged”.
Autorizaciones
Cuerpo
application/json
La versión del protocolo JSON-RPC.
Opciones disponibles:
2.0 Ejemplo:
"2.0"
Un identificador único para la solicitud.
Ejemplo:
"1"
El nombre del método RPC que se invocará.
Opciones disponibles:
getMultipleAccounts Ejemplo:
"getMultipleAccounts"
Parámetros del método.
Matriz de direcciones de cuentas de Solana (hasta 100) que se obtendrán en una sola solicitud por lotes optimizada.
Ejemplo:
[ "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg", "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA" ]
¿Esta página le ayudó?
⌘I
getMultipleAccounts
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "1",
"method": "getMultipleAccounts",
"params": [
[
"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"
]
]
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "1",
"method": "getMultipleAccounts",
"params": [["vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg", "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"]]
}
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: 'getMultipleAccounts',
params: [
[
'vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg',
'4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA'
]
]
})
};
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' => 'getMultipleAccounts',
'params' => [
[
'vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg',
'4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA'
]
]
]),
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\": \"getMultipleAccounts\",\n \"params\": [\n [\n \"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\",\n \"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA\"\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\": \"getMultipleAccounts\",\n \"params\": [\n [\n \"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\",\n \"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA\"\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\": \"getMultipleAccounts\",\n \"params\": [\n [\n \"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg\",\n \"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA\"\n ]\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": "1",
"result": {
"context": {
"apiVersion": "2.0.15",
"slot": 341197247
},
"value": [
{
"lamports": 88849814690250,
"owner": "11111111111111111111111111111111",
"data": [
"",
"base58"
],
"executable": false,
"rentEpoch": 18446744073709552000,
"space": 0
}
]
}
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Parámetros no válidos",
"data": {
"additionalInfo": "Comprueba los parámetros de la solicitud y asegúrate de que sean válidos."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "No autorizado",
"data": {
"additionalInfo": "Verifica tu clave de API e inténtalo de nuevo."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Demasiadas solicitudes",
"data": {
"additionalInfo": "Superaste la cantidad de solicitudes permitidas. Espera e inténtalo de nuevo más tarde."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Error interno",
"data": {
"additionalInfo": "Ocurrió un error inesperado en el servidor. Inténtalo de nuevo más tarde o contacta al equipo de soporte."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Servicio no disponible",
"data": {
"additionalInfo": "El servicio no está disponible en este momento. Inténtalo de nuevo más tarde o contacta al equipo de soporte."
}
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Tiempo de espera agotado en la puerta de enlace",
"data": {
"additionalInfo": "Se agotó el tiempo de espera de la solicitud. Inténtalo de nuevo más tarde o contacta al equipo de soporte."
}
},
"id": "1"
}