Go-Ethereum

如何將 geth 附加到本地 Parity RPC 埠 8545?

  • October 8, 2021

我正在parity使用預設情況下--jsonrpc偵聽埠的標誌執行。8545

我正在嘗試附加一個geth實例,如文件中所述

將控制台附加到正在執行的 geth 實例。預設情況下,這發生在預設 IPC 端點上的 IPC 上,但必要時可以指定自定義端點:

geth attach                   # connect over IPC on default endpoint
geth attach ipc:/some/path    # connect over IPC on custom endpoint
geth attach http://host:8545  # connect over HTTP
geth attach ws://host:8546    # connect over websocket

但我收到一個致命錯誤:

Fatal: Unable to attach to geth node - Invalid endpoint

這是我測試過的命令:

~ $ geth attach http://127.0.0.1:8545
Fatal: Unable to attach to geth node - Invalid endpoint
~ $ geth attach http://localhost:8545
Fatal: Unable to attach to geth node - Invalid endpoint
~ $ geth attach ws://localhost:8545
Fatal: Unable to attach to geth node - Invalid endpoint

如何將 geth 附加到埠 8545 上的本地 RPC?

#通過蓋斯:

執行 Parity 節點時,請使用--geth標誌,例如parity --geth.

然後進入另一個視窗執行geth attach

這個的輸出是:

Welcome to the Geth JavaScript console!
>

Parity 的偉大之處在於您無需擔心打開 JSON-RPC,因為它預設處於打開狀態。

#通過節點:

另一種方法是使用提供相同功能的 NodeJS web3 庫。從奇偶校驗快速入門

npm install web3
node # Enter REPL
Web3 = require("web3");
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

現在您可以像 Javascript 控制台一樣與 Parity 互動:

web3.eth.getBlockNumber().then(blockNumber => console.log(blockNumber)) // Regular Geth command, except connected to Parity
743397

引用自:https://ethereum.stackexchange.com/questions/3356