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: jsonParsedbase58base64base64+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> - эпоха, в которой эта учетная запись будет сдавать в аренду, как u64
    • size: <u64> - размер данных учетной записи

Пример кода #

curl https://api.devnet.solana.com -s -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": { "apiVersion": "2.0.15", "slot": 341197247 },
    "value": [
      {
        "data": ["", "base58"],
        "executable": false,
        "lamports": 88849814690250,
        "owner": "11111111111111111111111111111111",
        "rentEpoch": 18446744073709551615,
        "space": 0
      },
      {
        "data": ["", "base58"],
        "executable": false,
        "lamports": 998763433,
        "owner": "2WRuhE4GJFoE23DYzp2ij6ZnuQ8p9mJeU6gDgfsjR4or",
        "rentEpoch": 18446744073709551615,
        "space": 0
      }
    ]
  },
  "id": 1
}