﻿---
title: "RPC 節點"
description: "RPC 節點為錢包和應用程式提供請求與回應介面，用於讀取區塊鏈資料和廣播交易。了解更換端點能解決什麼、不能解決什麼，以及如何降低可用性、隱私和安全風險。"
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 端點可能暴露活動、回傳誤導性資料或干擾交易提交；數位資產交易可能造成不可逆損失。

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

## 直接答案

RPC 節點是接受錢包、區塊瀏覽器和應用程式遠端程序呼叫請求的區塊鏈節點，也可以是位於一個或多個節點前方的服務。在相容以太坊的網路上，常用介面是 JSON-RPC。軟體無需自行維護節點，就能藉此讀取節點資料、模擬呼叫、估算 Gas，並提交已簽署的交易位元組以供廣播。

錢包中設定的 URL 是 **RPC 端點**，不是區塊鏈本身。更換端點可以避開供應商中斷、節點資料過時、速率限制、不支援的方法或連線故障。它不能改變合約規則、挽回已回滾的交易、撤銷已確認的轉帳，也不能修復全網停擺。新端點必須服務於預期的網路和鏈 ID。

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

## 運作方式

用戶端透過 HTTP 或 WebSocket 等支援的傳輸方式傳送請求。JSON-RPC 請求會指定方法、提供參數並包含識別碼，回應會重複該識別碼。節點依據自己所見的本地鏈狀態執行方法，並回傳結果或錯誤。用戶端和端點都提供相應功能時，WebSocket 連線還可支援訂閱。

不同讀取方法的含義和資料需求不同。例如，`eth_blockNumber` 回報該節點已知的最新區塊，而 `eth_getBalance` 讀取某地址在指定區塊標籤或區塊號碼處的餘額。健康節點之間的結果也可能暫時不同，因為它們的鏈頭、待處理交易池、裁剪模式或所支援的擴充功能不同。託管供應商還可能施加身分驗證、配額、請求大小限制或方法限制；這些不是區塊鏈共識規則。

在典型的錢包交易中，錢包會在本地建立並簽署交易，再透過 `eth_sendRawTransaction` 傳送已簽署位元組。RPC 節點檢查請求並嘗試向對等節點傳播交易。回傳交易雜湊只表示節點接受了這些位元組並準備提交；並不證明交易會被納入區塊、執行成功或達到最終確定性。應在正確的鏈上獨立核對納入情況和狀態。

因此，端點是信任和可用性依賴。它可以觀察被查詢的地址、IP 資訊、時間和已提交交易；可以遺漏或延遲資料；也可以呈現過時或不完整的視圖。密碼學簽章能阻止端點暗中竄改已正確簽署的交易，但不能保證讀取回應真實，也不能保護未簽署的中繼資料和隱私。

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

## 範例

錢包可以用以下請求向以太坊執行用戶端查詢區塊號碼：

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

有效回應可能如下：

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

十六進位結果是該端點已知的最新區塊號碼。如果錢包慣用的供應商逾時，而第二個信譽良好的端點回傳更新的區塊和預期鏈 ID，更換端點可能恢復餘額查詢和交易提交。如果兩個端點都顯示同一筆交易已回滾，更換 RPC 不會改變這個鏈上結果。

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

## 風險與控制

- **網路錯誤：**複製來的端點可能服務於另一條鏈或分叉。簽署前，應透過獨立來源核對鏈 ID、網路名稱、原生資產和近期區塊。
- **讀取錯誤或過時：**故障或惡意端點可能回傳舊餘額、遺漏日誌或錯誤回報模擬結果。透過另一家供應商或自營節點比較重要讀取；需要可重現性時應明確指定區塊。
- **隱私洩漏：**地址和交易查詢可能把錢包活動與網路中繼資料關聯起來。避免傳送不必要的地址，審查供應商的資料保留政策；若隱私收益值得維運成本，可考慮可信的自託管端點。
- **交易審查或延遲：**端點可以拒絕或延遲廣播。保存已簽署交易的雜湊，透過獨立的區塊瀏覽器或節點檢查；若交易不存在，可使用第二條信譽良好的廣播路徑。在檢查 nonce 和費用影響前，不要簽署替代交易。
- **憑證暴露：**嵌入公開程式碼的 API 金鑰可能被竊取並耗盡配額。在支援時依來源或服務限制金鑰，不要在用戶端保存高權限憑證，並輪換已洩漏的金鑰。
- **危險的節點暴露：**公開管理介面或啟用範圍過廣的 RPC 介面會擴大攻擊面。自託管 RPC 預設應綁定本機，只開放必要的命名空間，增加身分驗證和網路控制，絕不暴露已解鎖帳戶。
- **錢包欺騙：**端點 URL 不需要助記詞或私鑰。拒絕任何索取這些資訊的服務，在錢包中檢查交易欄位，絕不要僅憑 RPC 回應判斷目標合約身分。

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

## 常見誤解

- **「RPC 就是區塊鏈。」**它只是存取節點所見區塊鏈狀態的介面。
- **「有交易雜湊就表示已確認。」**它通常只證明端點接受了已簽署位元組；執行和最終確定性是不同階段。
- **「更換 RPC 會改變費用或合約行為。」**它可能改變費用估算或存取品質，但實際執行由交易和協議規則決定。
- **「所有端點回傳完全相同的資料。」**同步狀態、待處理交易池、保留歷史、用戶端擴充功能和供應商政策都可能不同。
- **「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）
- [執行 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）
- [執行自己的以太坊節點](https://ethereum.org/developers/docs/nodes-and-clients/run-a-node/) - Ethereum.org（存取日期：2026-08-21）

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