---
title: "Solana RPC Endpoint FAQ"
description: "เรียนรู้ว่า Solana RPC endpoint คืออะไร วิธีรับ Solana endpoint กับ ERPC และแนวทางแก้ปัญหาการใช้งาน RPC"
canonical: "https://erpc.global/th/faq/rpc/general/"
locale: "th"
---

# Solana RPC Endpoint FAQ

คำถามเกี่ยวกับการเรียกเก็บเงิน แผนฟรี การชำระเงิน และ error 401 หรือ 429 อยู่ใน [วิธีเริ่มต้น](https://erpc.global/th/faq/how-to-start/general/)

คำถามเกี่ยวกับระยะทาง ความเร็ว และภูมิภาค อยู่ใน [ความหน่วงและภูมิภาค](https://erpc.global/th/faq/latency/general/)

## Q. Solana RPC endpoint คืออะไร และจะเริ่มใช้งานกับ ERPC ได้อย่างไร?

Solana RPC endpoint คือ URL ที่แอป บอทเทรด กระเป๋าเงิน หรือระบบ analytics ใช้ส่ง JSON-RPC requests ไปยัง Solana และรับข้อมูลจาก chain ส่วน ERPC จะให้ Solana endpoint แบบ managed ที่รองรับทั้ง HTTP และ WebSocket ผ่าน global proxy network เดียวกัน

เริ่มต้นได้โดยสร้างหรือเปิดบัญชี ERPC ใน [ERPC Web Dashboard](https://dashboard.erpc.global/th) คัดลอก API key แล้วเพิ่มลงในพารามิเตอร์ `api-key` ของ endpoint URL:

```text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
```

ใช้รูปแบบ API key เดียวกันสำหรับ WebSocket subscriptions:

```text
wss://edge.erpc.global?api-key=<YOUR_API_KEY>
```

## Q. ใช้ WebSocket ได้ไหม?

ได้ รองรับ WebSocket ผ่าน endpoint เดียวกัน ช่วยให้คุณรับการอัปเดตข้อมูลแบบ real-time ได้อย่างมีประสิทธิภาพ

## Q. โหนดของคุณตั้งอยู่ในภูมิภาคใดบ้าง?

ปัจจุบันเราให้บริการ nodes ใน region ต่อไปนี้:

- Frankfurt (FRA)
- Amsterdam (AMS)
- London (LON)
- New York (NY)
- Tokyo (TY)
- Singapore (SGP)

RPC endpoint ของ ERPC ขับเคลื่อนด้วย Cloudflare โดยใช้ global network ที่มี edge server มากกว่า 300 จุด request จะถูกส่งผ่าน Cloudflare edge location ที่ใกล้ที่สุดโดยอัตโนมัติ แล้วส่งต่อไปยังโหนด ERPC ที่เหมาะสมที่สุด เพื่อให้ได้เส้นทางเครือข่ายที่สั้นที่สุดเท่าที่เป็นไปได้และความหน่วงต่ำอย่างสม่ำเสมอจากทุกที่ในโลก

สถาปัตยกรรมนี้ขจัดผลกระทบจากระยะทางทางภูมิศาสตร์หรือ routing ที่ซับซ้อน และให้การเชื่อมต่อกับโหนด Solana ที่ได้รับการปรับให้เหมาะสมอยู่เสมอ พร้อมความเสถียรและประสิทธิภาพสูงสุด

ERPC Web Dashboard: [ERPC Web Dashboard](https://dashboard.erpc.global/th)

## Q. ทำไมจึงไม่พบบล็อกหรือธุรกรรมของ Solana ที่เก่ากว่า หรือทำไมจึงเห็น -32011?

นอกจาก `getTransactionsForAddress` แล้ว request ที่ไม่มี `history=true` จะได้รับคำตอบจากช่วงข้อมูลล่าสุดที่แต่ละ node เก็บไว้ ดังนั้นบล็อกหรือธุรกรรมที่เก่ากว่าอาจคืนค่า error `This request needs history access. Add history=true to the endpoint URL.` (code `-32011`) หรือ `null` หรือผลลัพธ์ว่าง ขึ้นอยู่กับ method เพิ่ม `history=true` ใน URL `https://edge.erpc.global` ของ HTTP request เพื่อขอข้อมูลเหล่านั้น

ส่ง API key ใน URL:

```text
https://edge.erpc.global?api-key=<YOUR_API_KEY>&history=true
```

หรือส่งใน header `Authorization: Bearer <YOUR_API_KEY>` และคง `history=true` ไว้ใน URL:

```text
https://edge.erpc.global?history=true
```

การค้นหาบล็อกหรือธุรกรรมที่เก่ากว่าอาจใช้เวลานานกว่า request ปกติมาก ในบางกรณีนานเป็นวินาที History Access เป็นตัวเลือกแยกต่างหากที่แยกการค้นหาเหล่านี้ออกจาก request ปกติ เพื่อให้ request ปกติยังคงเร็ว ยกเว้น `getTransactionsForAddress` ในโหมด `"full"` การเรียกแต่ละครั้งที่ History Access ตอบจะใช้มากกว่าราคาปกติของ method 640 tokens

โควตาฟรี รวมถึงของแพ็กเกจ Free มีขีดจำกัดสำหรับ History Access แพ็กเกจ Free จำกัดไว้ที่หนึ่ง request ของ History Access ต่อ 10 วินาที

หากไม่มี `history=true` การเรียก `getTransactionsForAddress` ที่ตั้งค่า `transactionDetails` เป็น `"full"` จะคืนค่า error `-32011` เดียวกัน ไม่ว่าข้อมูลจะเก่าหรือใหม่ ราคาระบุอยู่ในเอกสาร ERPC

[เอกสาร ERPC: RPC](https://erpc.global/th/doc/rpc/general/)

## Q. Output ของ Shreds / getBlock อยู่ ๆ ก็ดูเสียหาย หรือคืนค่า -32015 — มีอะไรเปลี่ยนไป?

Solana Transaction v1 (SIMD-0385) เริ่มมีผลบน Solana mainnet เมื่อวันที่ 15 กันยายน 2026 ที่ epoch 1035 โดย wire layout ของ transaction แบบ v1 จะขึ้นต้นด้วย byte นำหน้าเวอร์ชัน `0x81` ลายเซ็นจะอยู่หลัง message และไม่มี length prefix แบบ legacy อีกต่อไป

หากคุณถอดรหัส entry ของ ShredStream หรือ UDP Forwarding ด้วยตัวเอง ตัวถอดรหัส `bincode` หรือ `solana-entry` ที่ต่ำกว่าเวอร์ชัน 4.2 จะอ่าน byte `0x81` นี้ผิดเป็นจำนวนลายเซ็น ซึ่งจะแสดงออกมาเป็น EOF error, compact-length overflow หรือ error "invalid message version" ผู้ใช้ Geyser gRPC ที่ deserialize raw transaction ด้วย crate ก่อน 4.2 ก็เจอปัญหาเดียวกัน การเรียก RPC `getBlock` และ `getTransaction` ด้วย `maxSupportedTransactionVersion: 0` จะคืนค่า `-32015 Transaction version (1) is not supported by the requesting client` ส่วน `getTransactionsForAddress` ในโหมด `full` จะรายงาน error เดียวกันในทุกแถวที่ได้รับผลกระทบ หากคุณอ่าน JSON response ที่ parse แล้วของ ERPC โดยตั้งค่า version 1 อยู่แล้ว คุณจะไม่ได้รับผลกระทบ

ตั้งค่า `maxSupportedTransactionVersion` เป็น `1` ใน options object ซึ่งเป็นพารามิเตอร์ตัวที่สองของ `getBlock` และ `getTransaction` รวมถึงใน options ของ `getTransactionsForAddress` ด้วย:

```json
{
  "maxSupportedTransactionVersion": 1
}
```

อัปเกรด Solana Stream SDK เป็น `2.0.0`: `solana-stream-sdk` สำหรับ Rust บน crates.io หรือ `@validators-dao/solana-stream-sdk` และ `@validators-dao/solana-shreds-client` บน npm และอัปเกรด `@validators-dao/solana-entry-decoder` แยกต่างหากเป็น `2.5.0` ทั้งนี้ `1.4.0` และ entry-decoder `2.4.0` ไม่รองรับ v1 ส่วนตัวถอดรหัส Rust ที่เขียนเองควรย้ายไปใช้ `solana-entry` `4.2.x`

- [คู่มือการย้ายระบบ](https://github.com/ValidatorsDAO/solana-stream/blob/main/docs/transaction-v1.md)
- [บันทึกการเปลี่ยนแปลงของ SDK 2.0.0](https://github.com/ValidatorsDAO/solana-stream/releases/tag/v2.0.0)
- [Repository ของ Solana Stream SDK](https://github.com/ValidatorsDAO/solana-stream)
- [SIMD-0385: ข้อเสนอ Transaction v1](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0385-transaction-v1.md)
- [การอัปเกรด Solana: Larger Transaction Sizes](https://solana.com/upgrades/larger-transaction-sizes)
- [เอกสาร Solana RPC: getBlock](https://solana.com/docs/rpc/http/getblock)
- [เอกสาร Solana RPC: getTransaction](https://solana.com/docs/rpc/http/gettransaction)
- [เอกสาร ERPC: เริ่มต้นใช้งาน ShredStream](https://erpc.global/th/doc/shredstream/quickstart/)
- [เอกสาร ERPC: เริ่มต้นใช้งาน Geyser gRPC](https://erpc.global/th/doc/geyser-grpc/quickstart/)
- [เอกสาร ERPC: RPC](https://erpc.global/th/doc/rpc/general/)

## Q. Unlimited Endpoint รองรับเมธอดใดบ้าง?

Unlimited Endpoints ออกแบบมาสำหรับการเรียก Solana RPC มาตรฐานที่มีความหน่วงต่ำ เมธอดที่รองรับคือ:

- `getSlot`
- `getBlockHeight`
- `getLatestBlockhash`
- `getBalance`
- `getAccountInfo`
- `getMultipleAccounts`
- `getTransaction`
- `sendTransaction`
- `simulateTransaction`
- `getSignatureStatuses`
- `getRecentPrioritizationFees`
- `getHealth`
- `getVersion`
- `getEpochInfo`
- `getBlock`

สำหรับเมธอดอื่น โปรดใช้ `https://edge.erpc.global?api-key=<YOUR_API_KEY>`

## Q. Transactions บน dedicated node มี success rate ต่ำ

อัตราความสำเร็จและความเร็วของ transaction ได้รับผลกระทบอย่างมากจากกลไกที่เรียกว่า QoS (Quality of Service) เรามี QoS สำหรับ dedicated node โดยเฉพาะ ดูรายละเอียดเพิ่มเติมได้จากหน้าด้านล่าง หรือสอบถามผ่าน ERPC Web Dashboard

- [QoS สำหรับ Dedicated Node (ERPC)](https://erpc.global/th/staked-connection/)
- [คู่มือ Stake-weighted QoS บน Solana](https://solana.com/developers/guides/advanced/stake-weighted-qos)

## Q. ฉันจะทำให้ได้ความหน่วงต่ำที่สุดเท่าที่จะเป็นไปได้อย่างไร?

การตั้งค่าที่เหมาะที่สุดเพื่อความหน่วงต่ำสุดคือ dedicated RPC node ร่วมกับ [เซิร์ฟเวอร์ Bare Metal](https://erpc.global/th/baremetal/) ของเรา ทั้งสองอยู่บนเครือข่ายเดียวกัน ทำให้สื่อสารแบบส่วนตัวระยะทางเป็นศูนย์ได้ โดยมี ping ประมาณ 0.1ms

โปรดติดต่อเราผ่าน ERPC Web Dashboard สำหรับรายละเอียดเพิ่มเติม

[ERPC Web Dashboard](https://dashboard.erpc.global/th)
