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

# simulateTransaction

> Bir işlem göndermeyi simüle eder

## Parametreler

<ResponseField name="transaction" type="string" required>
  Base-64 kodlu dize olarak simüle edilecek işlem
</ResponseField>

<ResponseField name="config" type="object" optional>
  Şunları içeren yapılandırma nesnesi:

  <ResponseField name="sigVerify" type="boolean" optional>
    True ise işlem imzalarını doğrula
  </ResponseField>

  <ResponseField name="commitment" type="string" optional>
    Onay seviyesi (processed, confirmed, finalized)
  </ResponseField>

  <ResponseField name="encoding" type="string" optional>
    İşlem kodlama formatı (base58, base64, json)
  </ResponseField>

  <ResponseField name="replaceRecentBlockhash" type="boolean" optional>
    True ise işlemin yakın blockhash'ini en son blockhash ile değiştir
  </ResponseField>

  <ResponseField name="accounts" type="object" optional>
    Hesaplar yapılandırma nesnesi:

    <ResponseField name="encoding" type="string" optional>
      Hesap verisi kodlama formatı (base58, base64, json)
    </ResponseField>

    <ResponseField name="addresses" type="array" optional>
      Veri döndürülecek hesap adresleri dizisi
    </ResponseField>
  </ResponseField>

  <ResponseField name="minContextSlot" type="number" optional>
    İsteğin değerlendirilebileceği minimum slot
  </ResponseField>
</ResponseField>

## Yanıt

<ResponseField name="result" type="object">
  Şunları içeren nesne:

  <ResponseField name="err" type="string | null">
    İşlem simülasyonu başarısız olursa hata, simülasyon başarılıysa null
  </ResponseField>

  <ResponseField name="logs" type="array">
    İşlem talimatlarının yürütme sırasında çıktıladığı günlük mesajları dizisi
  </ResponseField>

  <ResponseField name="accounts" type="array" optional>
    Verileriyle birlikte hesaplar dizisi (talep edildiyse)
  </ResponseField>

  <ResponseField name="unitsConsumed" type="number" optional>
    İşlem tarafından tüketilen hesaplama birimi sayısı
  </ResponseField>

  <ResponseField name="returnData" type="object" optional>
    Simülasyondan program geri dönüş verisi
  </ResponseField>
</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": "simulateTransaction",
  "params": [
    "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTFNhyKNMr3WNFCrXgDS7uV7u",
    {
      "sigVerify": false,
      "commitment": "confirmed",
      "encoding": "base64"
    }
  ]
}'
```

### web3.js Kullanımı

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

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

// Create and simulate transaction
const transaction = new Transaction().add(
  SystemProgram.transfer({
    fromPubkey: new PublicKey('83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri'),
    toPubkey: new PublicKey('J7rBdM6AecPDEZp8aPq5tPmsPzPhQG4HD6YtAcQBDfJj'),
    lamports: 1000000000
  })
);

const simulation = await connection.simulateTransaction(transaction);
console.log('Simulation result:', simulation);
```

## Notlar

1. Gerçekten göndermeden bir işlem göndermeyi simüle eder
2. Yanıt yürütme günlüklerini ve hataları içerir
3. Simülasyon mevcut durum üzerinde gerçekleştirilir
4. Durum değişiklikleri kalıcı olmaz
5. İşlemleri test etmek ve hata ayıklamak için kullanışlıdır

## En İyi Uygulamalar

1. Gerçek işlemler göndermeden önce simülasyon kullanın
2. Hesaplama birimi tüketimini kontrol edin
3. Hatalar için program günlüklerini analiz edin
4. Simülasyon sonrası hesap durumlarını doğrulayın
5. Simülasyon hatalarını uygun şekilde yönetin

## Yaygın Hatalar

| Kod    | Mesaj                         | Çözüm                                                |
| ------ | ----------------------------- | ---------------------------------------------------- |
| -32601 | Method not found              | Bir Solana RPC düğümüne bağlı olduğunuzu doğrulayın  |
| -32602 | Invalid params                | İşlem formatını ve kodlamayı kontrol edin            |
| -32003 | Transaction simulation failed | İşlem geçerliliğini ve hesap bakiyelerini doğrulayın |
| -32004 | Blockhash not found           | Daha yakın tarihli bir blockhash kullanın            |
| -32005 | Node is behind                | Farklı bir RPC düğümü deneyin                        |
