﻿---
title: "โหนด RPC"
description: "โหนด RPC ให้อินเทอร์เฟซแบบคำขอและการตอบกลับแก่กระเป๋าและแอปพลิเคชันเพื่ออ่านข้อมูลบล็อกเชนและเผยแพร่ธุรกรรม เรียนรู้ว่าการเปลี่ยน endpoint แก้ปัญหาใดได้หรือไม่ได้ และวิธีลดความเสี่ยงด้านความพร้อมใช้งาน ความเป็นส่วนตัว และความปลอดภัย"
image: "https://wiki.fcontext.com/og.png"
---

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

# โหนด RPC

> จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน RPC endpoint ที่ไม่ถูกต้องหรือเป็นอันตรายอาจเปิดเผยกิจกรรม ส่งคืนข้อมูลที่ทำให้เข้าใจผิด หรือรบกวนการส่งธุรกรรม และธุรกรรมสินทรัพย์ดิจิทัลอาจทำให้เกิดความสูญเสียที่ไม่อาจเรียกคืนได้

<a id="answer"></a>

## คำตอบโดยตรง

โหนด RPC คือโหนดบล็อกเชนหรือบริการที่อยู่ด้านหน้าหนึ่งโหนดหรือหลายโหนด ซึ่งรับคำขอเรียกกระบวนการจากระยะไกลจากกระเป๋า เครื่องมือสำรวจบล็อก และแอปพลิเคชัน บนเครือข่ายที่เข้ากันได้กับ Ethereum อินเทอร์เฟซที่ใช้ทั่วไปคือ JSON-RPC ซอฟต์แวร์จึงอ่านข้อมูลของโหนด จำลองการเรียกใช้ ประมาณค่า gas และส่งไบต์ธุรกรรมที่ลงนามแล้วเพื่อเผยแพร่ได้โดยไม่ต้องดูแลโหนดของตนเอง

URL ที่ตั้งค่าในกระเป๋าคือ **RPC endpoint** ไม่ใช่ตัวบล็อกเชน การเปลี่ยน endpoint อาจหลีกเลี่ยงเหตุขัดข้องของผู้ให้บริการ โหนดที่ล้าหลัง ขีดจำกัดอัตราคำขอ เมธอดที่ไม่รองรับ หรือปัญหาการเชื่อมต่อ แต่ไม่สามารถเปลี่ยนกฎของสัญญา กู้คืนธุรกรรมที่ถูกย้อนกลับ ย้อนการโอนที่ยืนยันแล้ว หรือแก้การหยุดทำงานทั่วทั้งเครือข่ายได้ endpoint ใหม่ต้องให้บริการเครือข่ายและ chain ID ที่ตั้งใจใช้

<a id="mechanism"></a>

## กลไกการทำงาน

ไคลเอนต์ส่งคำขอผ่านรูปแบบการรับส่งที่รองรับ เช่น HTTP หรือ WebSocket คำขอ JSON-RPC ระบุชื่อเมธอด ส่งพารามิเตอร์ และมีตัวระบุที่ปรากฏซ้ำในการตอบกลับ โหนดดำเนินเมธอดกับมุมมองของเชนที่จัดเก็บไว้ภายใน แล้วส่งผลลัพธ์หรือข้อผิดพลาดกลับมา การเชื่อมต่อ WebSocket ยังรองรับการสมัครรับข้อมูลได้เมื่อทั้งไคลเอนต์และ endpoint มีความสามารถนี้

เมธอดอ่านแต่ละรายการมีความหมายและข้อกำหนดข้อมูลต่างกัน ตัวอย่างเช่น `eth_blockNumber` รายงานบล็อกล่าสุดที่โหนดรู้จัก ส่วน `eth_getBalance` อ่านยอดคงเหลือของที่อยู่ ณ แท็กหรือหมายเลขบล็อกที่ระบุ ผลจากโหนดที่ทำงานปกติอาจต่างกันชั่วคราว เนื่องจากส่วนหัวเชน พูลธุรกรรมที่รอดำเนินการ โหมดการตัดข้อมูล หรือส่วนขยายที่รองรับต่างกัน ผู้ให้บริการแบบโฮสต์ยังอาจกำหนดการยืนยันตัวตน โควตา ขีดจำกัดขนาดคำขอ หรือข้อจำกัดเมธอด ซึ่งไม่ใช่กฎฉันทามติของบล็อกเชน

สำหรับธุรกรรมกระเป๋าทั่วไป กระเป๋าจะสร้างและลงนามธุรกรรมภายในเครื่อง แล้วส่งไบต์ที่ลงนามแล้วด้วย `eth_sendRawTransaction` โหนด RPC ตรวจสอบคำขอและพยายามเผยแพร่ธุรกรรมไปยัง peer แฮชธุรกรรมที่ส่งกลับหมายความว่าโหนดยอมรับไบต์เพื่อส่งเท่านั้น ไม่ได้พิสูจน์ว่าธุรกรรมจะถูกรวม สำเร็จ หรือถึงสถานะสิ้นสุด ควรตรวจสอบการรวมและสถานะอย่างเป็นอิสระบนเชนที่ถูกต้อง

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

<a id="example"></a>

## ตัวอย่าง

กระเป๋าสามารถขอหมายเลขบล็อกจากไคลเอนต์ชั้นดำเนินการของ Ethereum ด้วยคำขอนี้:

```json
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}
```

การตอบกลับที่ถูกต้องอาจมีลักษณะดังนี้:

```json
{"jsonrpc":"2.0","id":1,"result":"0x12ab34"}
```

ผลลัพธ์เลขฐานสิบหกคือหมายเลขบล็อกล่าสุดที่ endpoint นั้นรู้จัก หากผู้ให้บริการปกติหมดเวลารอ แต่ endpoint ที่น่าเชื่อถือแห่งที่สองส่งคืนบล็อกที่ใหม่กว่าและ chain ID ที่คาดไว้ การสลับอาจทำให้การสอบถามยอดคงเหลือและการส่งธุรกรรมกลับมาใช้ได้ หากทั้งสอง endpoint แสดงใบเสร็จธุรกรรมที่ถูกย้อนกลับเหมือนกัน การเปลี่ยน RPC จะไม่เปลี่ยนผลลัพธ์บนเชนนั้น

<a id="risks"></a>

## ความเสี่ยงและการควบคุม

- **เครือข่ายผิด:** endpoint ที่คัดลอกมาอาจให้บริการอีกเชนหรืออีก fork ก่อนลงนาม ให้ตรวจสอบ chain ID ชื่อเครือข่าย สินทรัพย์ดั้งเดิม และบล็อกล่าสุดกับแหล่งข้อมูลอิสระ
- **ผลการอ่านเท็จหรือล้าสมัย:** endpoint ที่ผิดพลาดหรือเป็นอันตรายอาจส่งคืนยอดคงเหลือเก่า ละเว้นบันทึก หรือรายงานผลจำลองผิด เปรียบเทียบข้อมูลสำคัญผ่านผู้ให้บริการอื่นหรือโหนดที่ดำเนินการเอง และกำหนดบล็อกให้ชัดเจนเมื่อต้องการให้ทำซ้ำได้
- **การรั่วไหลของความเป็นส่วนตัว:** การสอบถามที่อยู่และธุรกรรมอาจเชื่อมกิจกรรมกระเป๋ากับเมทาดาทาของเครือข่าย หลีกเลี่ยงการส่งที่อยู่ที่ไม่จำเป็น ตรวจสอบนโยบายการเก็บรักษา และพิจารณา endpoint ที่โฮสต์เองและเชื่อถือได้เมื่อประโยชน์ด้านความเป็นส่วนตัวคุ้มกับต้นทุนดำเนินงาน
- **การเซ็นเซอร์หรือหน่วงธุรกรรม:** endpoint อาจปฏิเสธหรือชะลอการเผยแพร่ เก็บแฮชธุรกรรมที่ลงนามแล้ว ตรวจสอบเครื่องมือสำรวจหรือโหนดอิสระ และใช้เส้นทางที่น่าเชื่อถือแห่งที่สองหากไม่พบธุรกรรม อย่าลงนามธุรกรรมทดแทนโดยไม่ตรวจสอบ nonce และผลกระทบต่อค่าธรรมเนียม
- **ข้อมูลประจำตัวถูกเปิดเผย:** คีย์ API ในโค้ดสาธารณะอาจถูกขโมยและใช้โควตาจนหมด จำกัดคีย์ตามต้นทางหรือบริการเมื่อรองรับ ไม่นำข้อมูลประจำตัวที่มีสิทธิ์สูงไว้ในไคลเอนต์ และเปลี่ยนคีย์ที่รั่วไหล
- **เปิดเผยโหนดอย่างอันตราย:** การเผยแพร่อินเทอร์เฟซ RPC สำหรับผู้ดูแลหรือเปิดใช้กว้างเกินไปเพิ่มพื้นผิวการโจมตี โดยค่าเริ่มต้นให้ผูก RPC ที่โฮสต์เองไว้กับเครื่อง เปิดเฉพาะ namespace ที่จำเป็น เพิ่มการยืนยันตัวตนและการควบคุมเครือข่าย และอย่าเปิดเผยบัญชีที่ปลดล็อกแล้ว
- **การหลอกลวงกระเป๋า:** URL ของ endpoint ไม่จำเป็นต้องใช้วลี seed หรือคีย์ส่วนตัว ปฏิเสธบริการที่ขอข้อมูลเหล่านี้ ตรวจสอบช่องธุรกรรมในกระเป๋า และอย่าใช้เพียงการตอบกลับ RPC เพื่อระบุตัวสัญญาปลายทาง

<a id="misconceptions"></a>

## ความเข้าใจผิดที่พบบ่อย

- **“RPC คือบล็อกเชน”** RPC เป็นอินเทอร์เฟซไปยังมุมมองบล็อกเชนของโหนด
- **“มีแฮชธุรกรรมแปลว่ายืนยันแล้ว”** โดยทั่วไปพิสูจน์เพียงว่า endpoint ยอมรับไบต์ที่ลงนามแล้ว การดำเนินการและสถานะสิ้นสุดเป็นคนละขั้นตอน
- **“เปลี่ยน RPC แล้วค่าธรรมเนียมหรือพฤติกรรมสัญญาเปลี่ยน”** ค่าประมาณหรือคุณภาพการเข้าถึงอาจเปลี่ยน แต่ธุรกรรมและกฎโปรโตคอลกำหนดการดำเนินการจริง
- **“ทุก endpoint ส่งคืนข้อมูลเหมือนกัน”** สถานะซิงค์ พูลที่รอดำเนินการ ประวัติที่เก็บไว้ ส่วนขยายไคลเอนต์ และนโยบายผู้ให้บริการอาจต่างกัน
- **“HTTPS ทำให้ทุกคำตอบเชื่อถือได้”** HTTPS ป้องกันการเชื่อมต่อไปยังเซิร์ฟเวอร์ที่ระบุ แต่ไม่ได้พิสูจน์ว่าข้อมูลบล็อกเชนของเซิร์ฟเวอร์ครบถ้วนหรือถูกต้อง

<a id="related"></a>

## หัวข้อที่เกี่ยวข้อง

- [โหนดเต็มรูปแบบ](/crypto/full-node/)
- [บล็อกเชน](/crypto/blockchain/)
- [เมมพูล](/crypto/mempool/)
- [RPC สำหรับธุรกรรมส่วนตัว](/crypto/private-transaction-rpc/)
- [เครื่องมือสำรวจบล็อก](/crypto/block-explorer/)

<a id="sources"></a>

## แหล่งข้อมูล

- [JSON-RPC API](https://ethereum.org/developers/docs/apis/json-rpc/) - Ethereum.org (เข้าถึงเมื่อ: 2026-08-21)
- [ข้อกำหนด Execution API](https://ethereum.github.io/execution-apis/docs/quickstart/) - Ethereum Execution APIs (เข้าถึงเมื่อ: 2026-08-21)
- [เซิร์ฟเวอร์ JSON-RPC](https://geth.ethereum.org/docs/interacting-with-geth/rpc) - go-ethereum (เข้าถึงเมื่อ: 2026-08-21)
- [ใช้งานโหนด Ethereum ของคุณเอง](https://ethereum.org/developers/docs/nodes-and-clients/run-a-node/) - Ethereum.org (เข้าถึงเมื่อ: 2026-08-21)

Source: https://wiki.fcontext.com/th/crypto/rpc-node/index.mdx
