getMultipleAccounts RPC Method
Возвращает информацию об учетной записи для списка Pubkeys.
Параметры #
array
required
An array of Pubkeys to query, as base-58 encoded strings (up to a maximum of 100)
object
optional
Объект конфигурации, содержащий следующие поля:
commitment string
optional
minContextSlot number
optional
The minimum slot that the request can be evaluated at
dataSlice object
optional
Request a slice of the account's data.
length: <usize>
- количество байт для возвратаoffset: <usize>
- смещение байт, от которого начнёт читать
Info
Нарезка данных доступна только для кодировок base58, base64 или base64+zstd.
encoding string
optional
Default:
base64
формат кодировки для данных клиента
Values: jsonParsed
base58
base64
base64+zstd
- Base58 работает медленно и ограничивается менее чем 129 байтами учетных данных.
base64
вернёт данные из base64 для данных аккаунта любого размера.base64+zstd
сжимает данные учетной записи, используя Zstandard и base64-encode результат.- Кодировка jsonParsed пытается использовать парсеры инструкций, специфичных для программы, чтобы вернуть более человекочитаемые и явные данные в списке .
- Если запрашивается jsonParsed, но парсер не найден, поле возвращается к двоичной кодировке, что можно обнаружить, если поле данных является строкой.
Результат #
Результатом будет объект JSON с значением value
равным массиву:
<null>
- если учетная запись на том Pubkey не существует, или<object>
- в противном случае объект JSON, содержащий:- lamports: <u64> - количество lamports, приписанных к этому аккаунту, в формате u64
владелец: <string>
- базовый кодированный Pubkey программы этой учетной записи был назначенdata: <[string, encoding]|object>
- данные, связанные с учетной записью, либо в кодированных бинарных данных, либо в формате JSON{<program>: <state>}
- в зависимости от параметра кодировки- Исполняемый: <bool> - булево число, указывающее, содержит ли аккаунт программу (и предназначено только для чтения)
rentEpoch: <u64>
- эпоха, в которой эта учетная запись будет сдавать в аренду, как u64size: <u64>
- размер данных учетной записи
Пример кода #
curl https://api.devnet.solana.com -X POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getMultipleAccounts",
"params": [
[
"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
"4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"
],
{
"encoding": "base58"
}
]
}
'
Замечание #
{
"jsonrpc": "2.0",
"result": {
"context": {
"slot": 1
},
"value": [
{
"data": ["", "base64"],
"executable": false,
"lamports": 1000000000,
"owner": "11111111111111111111111111111111",
"rentEpoch": 2,
"space": 16
},
{
"data": ["", "base64"],
"executable": false,
"lamports": 5000000000,
"owner": "11111111111111111111111111111111",
"rentEpoch": 2,
"space": 0
}
]
},
"id": 1
}