> ## 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.

# Как использовать getBlockTime

> Узнайте о сценариях использования getBlockTime, примерах кода, параметрах запроса, структуре ответа и рекомендациях.

Метод RPC [`getBlockTime`](https://www.helius.dev/docs/api-reference/rpc/http/getblocktime) возвращает расчетное время создания указанного блока, идентифицируемого по номеру слота. Время возвращается в виде временной метки Unix (количество секунд с начала эпохи Unix).

Этот метод полезен, когда необходимо сопоставить создание блока с реальным временем.

<Warning>
  **Не используйте пакетные запросы для повышения производительности**

  Пакетная обработка архивных методов значительно увеличивает задержку. Пакеты размером более 10 запросов не допускаются.
</Warning>

## Распространенные сценарии использования

* **Добавление временных меток к событиям:** Определите время создания конкретного блока, чтобы присвоить временные метки событиям в блокчейне.
* **Анализ интервалов создания блоков:** Рассчитайте разницу во времени между блоками. Для более подробного анализа можно использовать этот метод совместно с другими.
* **Сопоставление данных вне блокчейна:** Сопоставьте события или данные вне блокчейна с активностью в блокчейне по времени создания блоков.

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

Метод `getBlockTime` принимает один параметр:

1. **`slot`** (u64, обязательный): Номер слота блока, для которого необходимо получить расчетное время создания.

## Структура ответа

Поле `result` ответа JSON-RPC будет содержать одно из следующих значений:

* **`timestamp`** (i64): Расчетное время создания в виде временной метки Unix (количество секунд с начала эпохи Unix).
* **`null`**: Если временная метка для указанного блока недоступна (например, блок очень старый и данные были удалены либо блок был пропущен и с ним не связана временная метка).

## Примеры

### 1. Получение расчетного времени конкретного блока

В этом примере запрашивается расчетное время создания для определенного слота. Замените `SLOT_NUMBER_TO_QUERY` фактическим, недавним и подтвержденным слотом в целевой сети (например, Mainnet Beta или Devnet).

<CodeGroup>
  ```bash cURL theme={"system"}
  # Replace SLOT_NUMBER_TO_QUERY with a valid slot, e.g., a recent one from an explorer
  curl https://mainnet.helius-rpc.com/?api-key=<api-key> -X POST -H "Content-Type: application/json" -d \
    '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getBlockTime",
      "params": [
        SLOT_NUMBER_TO_QUERY 
      ]
    }'
  ```

  ```javascript JavaScript (using @solana/web3.js) theme={"system"}
  const { Connection } = require('@solana/web3.js');

  async function getSpecificBlockTime(slotToQuery) {
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=<api-key>');
    try {
      const blockTime = await connection.getBlockTime(slotToQuery);
      if (blockTime !== null) {
        console.log(`Estimated time for slot ${slotToQuery}: ${new Date(blockTime * 1000).toISOString()} (Unix: ${blockTime})`);
      } else {
        console.log(`Timestamp not available for slot ${slotToQuery}.`);
      }
    } catch (error) {
      console.error('Error fetching block time:', error);
    }
  }

  // Example usage: Replace with a recent, valid slot number from Mainnet Beta
  // You can find recent slots on Solana explorers like Solscan or SolanaFM
  const slotToQuery = 300000000; // Replace with an actual slot number
  getSpecificBlockTime(slotToQuery);
  ```
</CodeGroup>

## Рекомендации разработчикам

* **Доступность временных меток:** Временные метки могут быть доступны не для всех блоков, особенно для очень старых или пропущенных слотов. В таких случаях метод возвращает `null`.
* **Расчетное значение:** Время является *расчетным*. Оно вычисляется на основе средневзвешенных по стейку временных меток голосов валидаторов. Хотя это значение обычно достаточно точное, оно не является гарантированной криптографически защищенной временной меткой для каждого отдельного блока в отличие от хеша блока.
* **Зависимость от узла:** Доступность и точность могут незначительно различаться в зависимости от запрашиваемого узла RPC, особенно для самых последних блоков, которые еще не были финализированы.

В этом руководстве объясняется, как использовать `getBlockTime` для получения расчетной временной метки создания любого заданного блока в сети Solana.


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