僅供教育參考,不構成投資建議。錯誤或惡意的 RPC 端點可能暴露活動、回傳誤導性資料或干擾交易提交;數位資產交易可能造成不可逆損失。
直接答案
RPC 節點是接受錢包、區塊瀏覽器和應用程式遠端程序呼叫請求的區塊鏈節點,也可以是位於一個或多個節點前方的服務。在相容以太坊的網路上,常用介面是 JSON-RPC。軟體無需自行維護節點,就能藉此讀取節點資料、模擬呼叫、估算 Gas,並提交已簽署的交易位元組以供廣播。
錢包中設定的 URL 是 RPC 端點,不是區塊鏈本身。更換端點可以避開供應商中斷、節點資料過時、速率限制、不支援的方法或連線故障。它不能改變合約規則、挽回已回滾的交易、撤銷已確認的轉帳,也不能修復全網停擺。新端點必須服務於預期的網路和鏈 ID。
運作方式
用戶端透過 HTTP 或 WebSocket 等支援的傳輸方式傳送請求。JSON-RPC 請求會指定方法、提供參數並包含識別碼,回應會重複該識別碼。節點依據自己所見的本地鏈狀態執行方法,並回傳結果或錯誤。用戶端和端點都提供相應功能時,WebSocket 連線還可支援訂閱。
不同讀取方法的含義和資料需求不同。例如,eth_blockNumber 回報該節點已知的最新區塊,而 eth_getBalance 讀取某地址在指定區塊標籤或區塊號碼處的餘額。健康節點之間的結果也可能暫時不同,因為它們的鏈頭、待處理交易池、裁剪模式或所支援的擴充功能不同。託管供應商還可能施加身分驗證、配額、請求大小限制或方法限制;這些不是區塊鏈共識規則。
在典型的錢包交易中,錢包會在本地建立並簽署交易,再透過 eth_sendRawTransaction 傳送已簽署位元組。RPC 節點檢查請求並嘗試向對等節點傳播交易。回傳交易雜湊只表示節點接受了這些位元組並準備提交;並不證明交易會被納入區塊、執行成功或達到最終確定性。應在正確的鏈上獨立核對納入情況和狀態。
因此,端點是信任和可用性依賴。它可以觀察被查詢的地址、IP 資訊、時間和已提交交易;可以遺漏或延遲資料;也可以呈現過時或不完整的視圖。密碼學簽章能阻止端點暗中竄改已正確簽署的交易,但不能保證讀取回應真實,也不能保護未簽署的中繼資料和隱私。
範例
錢包可以用以下請求向以太坊執行用戶端查詢區塊號碼:
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}有效回應可能如下:
{"jsonrpc":"2.0","id":1,"result":"0x12ab34"}十六進位結果是該端點已知的最新區塊號碼。如果錢包慣用的供應商逾時,而第二個信譽良好的端點回傳更新的區塊和預期鏈 ID,更換端點可能恢復餘額查詢和交易提交。如果兩個端點都顯示同一筆交易已回滾,更換 RPC 不會改變這個鏈上結果。
風險與控制
- 網路錯誤:複製來的端點可能服務於另一條鏈或分叉。簽署前,應透過獨立來源核對鏈 ID、網路名稱、原生資產和近期區塊。
- 讀取錯誤或過時:故障或惡意端點可能回傳舊餘額、遺漏日誌或錯誤回報模擬結果。透過另一家供應商或自營節點比較重要讀取;需要可重現性時應明確指定區塊。
- 隱私洩漏:地址和交易查詢可能把錢包活動與網路中繼資料關聯起來。避免傳送不必要的地址,審查供應商的資料保留政策;若隱私收益值得維運成本,可考慮可信的自託管端點。
- 交易審查或延遲:端點可以拒絕或延遲廣播。保存已簽署交易的雜湊,透過獨立的區塊瀏覽器或節點檢查;若交易不存在,可使用第二條信譽良好的廣播路徑。在檢查 nonce 和費用影響前,不要簽署替代交易。
- 憑證暴露:嵌入公開程式碼的 API 金鑰可能被竊取並耗盡配額。在支援時依來源或服務限制金鑰,不要在用戶端保存高權限憑證,並輪換已洩漏的金鑰。
- 危險的節點暴露:公開管理介面或啟用範圍過廣的 RPC 介面會擴大攻擊面。自託管 RPC 預設應綁定本機,只開放必要的命名空間,增加身分驗證和網路控制,絕不暴露已解鎖帳戶。
- 錢包欺騙:端點 URL 不需要助記詞或私鑰。拒絕任何索取這些資訊的服務,在錢包中檢查交易欄位,絕不要僅憑 RPC 回應判斷目標合約身分。
常見誤解
- 「RPC 就是區塊鏈。」它只是存取節點所見區塊鏈狀態的介面。
- 「有交易雜湊就表示已確認。」它通常只證明端點接受了已簽署位元組;執行和最終確定性是不同階段。
- 「更換 RPC 會改變費用或合約行為。」它可能改變費用估算或存取品質,但實際執行由交易和協議規則決定。
- 「所有端點回傳完全相同的資料。」同步狀態、待處理交易池、保留歷史、用戶端擴充功能和供應商政策都可能不同。
- 「HTTPS 能保證每個回應可信。」HTTPS 保護與指定伺服器的連線,但不能證明伺服器的區塊鏈資料完整或正確。
相關主題
來源
- JSON-RPC API - Ethereum.org(存取日期:2026-08-21)
- 執行 API 規範 - Ethereum Execution APIs(存取日期:2026-08-21)
- JSON-RPC 伺服器 - go-ethereum(存取日期:2026-08-21)
- 執行自己的以太坊節點 - Ethereum.org(存取日期:2026-08-21)