> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# getValidityProof

> Возвращает одно ZK-доказательство, которое программа сжатия использует для проверки действительности указанных аккаунтов и возможности создания новых адресов.

## Параметры запроса

<ParamField body="hashes" type="array">
  Массив криптографических хешей сжатых аккаунтов Solana для проверки
</ParamField>

<ParamField body="newAddressesWithTrees" type="array">
  Массив адресов аккаунтов Solana и связанных с ними деревьев Меркла для проверки
</ParamField>


## OpenAPI

````yaml ru/openapi/zk-compression/getValidityProof.yaml POST /
openapi: 3.0.3
info:
  title: API проверки доказательств с нулевым разглашением Solana
  description: >
    Расширенный индексатор Solana для проверки сжатия состояния с использованием
    криптографии с нулевым разглашением.

    Этот специализированный API позволяет проверять сжатые NFT и аккаунты
    токенов в блокчейне Solana

    с помощью криптографических доказательств достоверности, математически
    гарантируя целостность данных сжатых 

    активов и сохраняя при этом гарантии безопасности модели консенсуса Solana.
  license:
    name: Apache-2.0
  version: 0.50.0
servers:
  - url: https://mainnet.helius-rpc.com
    description: RPC-эндпоинт Mainnet
  - url: https://devnet.helius-rpc.com
    description: RPC-эндпоинт Devnet
security: []
paths:
  /:
    summary: getValidityProof
    post:
      description: >
        Получает криптографические доказательства достоверности с нулевым
        разглашением для сжатых аккаунтов Solana.

        Этот расширенный эндпоинт проверки возвращает компоненты математического
        доказательства, необходимые для

        проверки сжатых NFT и аккаунтов токенов без использования полных данных
        в блокчейне.

        Он необходим приложениям, которым требуется криптографическая проверка
        состояния сжатых активов

        с одновременным использованием технологии сжатия состояния Solana для
        снижения затрат на хранение

        и повышения масштабируемости.
      operationId: getValidityProof
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  description: Версия протокола JSON-RPC.
                  enum:
                    - '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Идентификатор запроса.
                  default: '1'
                method:
                  type: string
                  description: Имя вызываемого метода.
                  enum:
                    - getValidityProof
                  default: getValidityProof
                params:
                  type: object
                  default:
                    hashes:
                      - gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT
                  properties:
                    hashes:
                      type: array
                      items:
                        $ref: '#/components/schemas/Hash'
                      description: >-
                        Массив криптографических хешей сжатых аккаунтов Solana,
                        которые необходимо проверить
                    newAddressesWithTrees:
                      type: array
                      items:
                        $ref: '#/components/schemas/AddressWithTree'
                      description: >-
                        Массив адресов аккаунтов Solana и связанных с ними
                        деревьев Меркла для проверки
                  additionalProperties: false
        required: true
      responses:
        '200':
          description: >-
            Доказательство достоверности для сжатых аккаунтов Solana успешно
            получено
          content:
            application/json:
              schema:
                type: object
                required:
                  - value
                  - context
                properties:
                  context:
                    $ref: '#/components/schemas/Context'
                  value:
                    $ref: '#/components/schemas/CompressedProofWithContext'
                additionalProperties: false
        '400':
          description: >-
            Некорректный запрос — недопустимые параметры или неправильный формат
            запроса.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Invalid params
                id: '1'
        '401':
          description: Не авторизовано — недействительный или отсутствующий API-ключ.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Unauthorized
                id: '1'
        '429':
          description: Слишком много запросов — превышен лимит частоты запросов.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Too many requests
                id: '1'
        '500':
          description: Внутренняя ошибка сервера — на сервере произошла ошибка.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Internal error
                id: '1'
        '503':
          description: Сервис недоступен — сервис временно недоступен.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Service unavailable
                id: '1'
        '504':
          description: Истекло время ожидания шлюза — время ожидания запроса истекло.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Gateway timeout
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    Hash:
      type: string
      description: >-
        32-байтовый криптографический хеш в виде строки base58, используемый для
        проверки сжатого аккаунта Solana.
      example: 11111112cMQwSC9qirWGjZM6gLGwW69X22mqwLLGP
    AddressWithTree:
      type: object
      required:
        - address
        - tree
      properties:
        address:
          $ref: '#/components/schemas/SerializablePubkey'
          description: >-
            Адрес аккаунта Solana для проверки с помощью доказательства с
            нулевым разглашением
        tree:
          $ref: '#/components/schemas/SerializablePubkey'
          description: Адрес дерева Меркла, в котором хранится сжатый аккаунт Solana
      additionalProperties: false
    Context:
      type: object
      required:
        - slot
      properties:
        slot:
          type: integer
          default: 100
          example: 100
          description: >-
            Текущий слот блокчейна Solana для этого запроса доказательства
            достоверности
    CompressedProofWithContext:
      type: object
      required:
        - compressedProof
        - roots
        - rootIndices
        - leafIndices
        - leaves
        - merkleTrees
      properties:
        compressedProof:
          $ref: '#/components/schemas/CompressedProof'
          description: >-
            Криптографическое доказательство с нулевым разглашением для проверки
            сжатых аккаунтов Solana
        leafIndices:
          type: array
          items:
            type: integer
            format: int32
            minimum: 0
          description: Индексы листьев в деревьях Меркла Solana для сжатых аккаунтов
        leaves:
          type: array
          items:
            type: string
          description: Данные листовых узлов для проверяемых сжатых аккаунтов Solana
        merkleTrees:
          type: array
          items:
            type: string
          description: Адреса деревьев Меркла Solana, содержащих сжатые аккаунты
        rootIndices:
          type: array
          items:
            type: integer
            format: int64
            minimum: 0
          description: Индексы корней в деревьях Меркла Solana для сжатых аккаунтов
        roots:
          type: array
          items:
            type: string
          description: Корневые хеши деревьев Меркла Solana для сжатых аккаунтов
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: Версия протокола JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: Код ошибки.
              example: -32602
            message:
              type: string
              description: Сообщение об ошибке.
            data:
              type: object
              description: Дополнительные данные об ошибке.
        id:
          type: string
          description: Идентификатор, соответствующий запросу.
          example: '1'
    SerializablePubkey:
      type: string
      description: >-
        Открытый ключ Solana в виде строки base58, используемый для
        идентификации аккаунтов, деревьев и программ.
      default: 11111118eRTi4fUVRoeYEeeTyL4DPAwxatvWT5q1Z
      example: 11111118eRTi4fUVRoeYEeeTyL4DPAwxatvWT5q1Z
    CompressedProof:
      type: object
      required:
        - a
        - b
        - c
      properties:
        a:
          type: string
          format: binary
          description: >-
            Первый компонент доказательства достоверности Solana с нулевым
            разглашением
        b:
          type: string
          format: binary
          description: >-
            Второй компонент доказательства достоверности Solana с нулевым
            разглашением
        c:
          type: string
          format: binary
          description: >-
            Третий компонент доказательства достоверности Solana с нулевым
            разглашением
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Ваш API-ключ Helius. Его можно получить бесплатно в [панели
        управления](https://dashboard.helius.dev/api-keys).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.