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

# getBlock

> Onaylanmış bir blok hakkında kimlik ve işlem bilgilerini döndürür

## Parametreler

<ParamField query="slot" type="number" required>
  Alınacak bloğun slot numarası
</ParamField>

<ParamField query="config" type="object" optional>
  Aşağıdaki isteğe bağlı alanları içeren yapılandırma nesnesi:

  <Expandable title="config fields">
    <ParamField query="encoding" type="string" optional default="json">
      İşlem verisi için kodlama formatı:

      * `json` - JSON formatı
      * `jsonParsed` - Ayrıştırılmış işlem verisiyle JSON formatı
      * `base58` - Base-58 kodlu ikili veri
      * `base64` - Base-64 kodlu ikili veri
    </ParamField>

    <ParamField query="transactionDetails" type="string" optional default="full">
      Döndürülecek işlem detayı seviyesi:

      * `full` - Tam işlem verisi
      * `signatures` - Yalnızca işlem imzaları
      * `none` - İşlem verisi yok
    </ParamField>

    <ParamField query="rewards" type="boolean" optional default={true}>
      Ödüller dizisinin doldurulup doldurulmayacağı
    </ParamField>

    <ParamField query="commitment" type="string" optional>
      Sorgulanacak banka durumu:

      * `processed` - En son blok (onaylanmamış)
      * `confirmed` - Süper çoğunluk tarafından onaylanmış
      * `finalized` - Süper çoğunluk tarafından sonuçlandırılmış
    </ParamField>

    <ParamField query="maxSupportedTransactionVersion" type="number" optional>
      Yanıtlarda döndürülecek maksimum işlem sürümü
    </ParamField>
  </Expandable>
</ParamField>

## Yanıt

<ResponseField name="result" type="object | null">
  Blok bulunamazsa `null` döndürür. Aksi takdirde şunları içeren bir nesne döndürür:

  <Expandable title="result fields">
    <ResponseField name="blockhash" type="string">
      Bu bloğun blockhash'i (base-58)
    </ResponseField>

    <ResponseField name="previousBlockhash" type="string">
      Önceki bloğun blockhash'i (base-58)
    </ResponseField>

    <ResponseField name="parentSlot" type="number">
      Üst bloğun slot dizini
    </ResponseField>

    <ResponseField name="transactions" type="array">
      İşlem bilgisi dizisi (`transactionDetails` != "none" ise):

      * `full` için: Tam işlem nesneleri
      * `signatures` için: Yalnızca işlem imzaları
    </ResponseField>

    <ResponseField name="rewards" type="array">
      Ödül nesneleri dizisi (`rewards` = true ise):

      * `pubkey`: string - Açık anahtar (base-58)
      * `lamports`: number - Ödül lamport sayısı
      * `postBalance`: number - Ödül sonrası hesap bakiyesi
      * `rewardType`: string - Ödül türü
      * `commission`: number - Oy hesabı komisyonu (yalnızca oy)
    </ResponseField>

    <ResponseField name="blockTime" type="number | null">
      Tahmini üretim zamanı (Unix zaman damgası)
    </ResponseField>

    <ResponseField name="blockHeight" type="number | null">
      Bu bloğun altındaki blok sayısı
    </ResponseField>
  </Expandable>
</ResponseField>

## Kod Örnekleri

### Temel İstek

```bash theme={null}
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlock",
  "params": [
    430,
    {
      "encoding": "json",
      "transactionDetails": "full",
      "rewards": true
    }
  ]
}'
```

### Ayrıştırılmış İşlem Verisiyle İstek

```bash theme={null}
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlock",
  "params": [
    430,
    {
      "encoding": "jsonParsed",
      "transactionDetails": "full",
      "rewards": true,
      "maxSupportedTransactionVersion": 0
    }
  ]
}'
```

### web3.js Kullanımı

```typescript theme={null}
import { Connection } from '@solana/web3.js';

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const slot = 430;

const block = await connection.getBlock(
  slot,
  {
    maxSupportedTransactionVersion: 0
  }
);
```

## Notlar

1. Blok üretim zamanı, genesis blok zamanına ve geçen slotlara göre tahmini bir değerdir.
2. Tüm bloklar ödül içermez.
3. `jsonParsed` kodlaması, bilinen program düzenlerine dayalı olarak işlem talimat verilerini ayrıştırmaya çalışır.
4. Bazı bloklar atlanmış olabilir (lider atanmamış veya blok üretimi başarısız).
5. Blok verileri, defter yapılandırmasına göre düğümden silinmiş olabilir.

## En İyi Uygulamalar

1. Yalnızca işlem imzalarına ihtiyacınız varsa `transactionDetails: "signatures"` kullanın.
2. Ödül verisi gerekmiyorsa `rewards: false` ayarlayın.
3. En son bloğa ihtiyacınız varsa önce `getBlockHeight` kullanmayı düşünün.
4. Gerçek zamanlı güncellemeler için WebSocket aboneliği kullanmayı düşünün.

## Yaygın Hatalar

| Kod    | Mesaj                           | Çözüm                                        |
| ------ | ------------------------------- | -------------------------------------------- |
| -32004 | Block not available for slot    | Blok silinmiş veya atlanmış                  |
| -32602 | Invalid param: WrongSize        | Slot numarasının geçerli olduğunu doğrulayın |
| -32602 | Invalid param: Too large        | Daha yakın tarihli bir blok isteyin          |
| -32009 | Transaction version unsupported | `maxSupportedTransactionVersion` belirtin    |
