Nodes

在本地執行 Geth RPC 伺服器是否也需要擁有完整的乙太坊節點?

  • March 29, 2022

我一直在嘗試了解智能合約並嘗試通過一些範例來工作。具體來說,我發現了這個關於創建 Oracle 的文章——https: //github.com/axic/tinyoracle。指令指定使用命令啟動 RPC 伺服器

geth --rpc --rpcaddr "127.0.0.1" --rpcport "8545" --unlock 0

我注意到這產生了很多輸出,包括如下行

WARN [06-14|15:17:56] Synchronisation failed, retrying         err="block download canceled (requested)"
WARN [06-14|15:18:19] Synchronisation failed, retrying         err="block download canceled (requested)"
INFO [06-14|15:19:18] Imported new block headers               count=192 elapsed=969.455ms number=192 hash=5221b7…6c6c14 ignored=0
INFO [06-14|15:19:18] Imported new block receipts              count=192 elapsed=1.612ms   number=192 hash=5221b7…6c6c14 size=768.00B ignored=0
INFO [06-14|15:19:20] Imported new block headers               count=192 elapsed=26.918ms  number=384 hash=5377ec…85cf44 ignored=0
INFO [06-14|15:19:20] Imported new block receipts              count=192 elapsed=1.504ms   number=384 hash=5377ec…85cf44 size=768.00B ignored=0
INFO [06-14|15:19:21] Imported new block headers               count=192 elapsed=27.780ms  number=576 hash=28e01b…6ebada ignored=0

這似乎還在繼續。我最終中斷了這個過程。我不是 100% 確定發生了什麼,但看起來乙太坊節點正在下載到我的本地機器上。有沒有辦法在不下載整個節點的情況下執行 Geth RPC 伺服器?

格思

當使用 geth 並且您沒有指定網路時,這將使用預設網路,即主網,因此它將開始下載區塊鏈。執行該命令時,您還可以指定正在與哪個網路通信。

例如https://github.com/ethereumproject/go-ethereum/wiki/Command-Line-Options#external-chain-configuration-and-handling-multiple-chains

Ganache-Cli - 當地發展建議

如果您剛開始,並且只是在進行本地開發,我的建議是使用Ganache-CLI之類的工具執行本地節點,因為我發現帶有 Truffle 的開發人員工具集非常好。https://github.com/trufflesuite/ganache-cli

網路部署 - 如果您仍想使用 Geth

或者,如果您仍想在您的機器上同步區塊鏈以部署到網路,您可以這樣做,但我建議使用修剪方法(這將節省時間和空間)。這個問題有助於回答如何做到這一點。 什麼是奇偶光剪枝模式?

區塊鍊是一個不斷增長的記錄列表(塊)

這將永遠不會停止同步,因為塊在不斷增長

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