Go-Ethereum
Geth 和 OpenEthereum(Parity) 之間的區塊鍊是否兼容?
我正在嘗試建立一個完整的節點。作為一名 DeGoogler,我本能地避免使用 Go,所以我預設使用 OpenEthereum。在我的機器上編譯後,我得到“非法指令”,這似乎是因為我的舊處理器和它缺乏被編譯為“開啟”的 AESNI。在製品…
同時,我認為“乙太坊區塊鏈就是乙太坊區塊鏈”,所以我創建了一個 geth vm 來開始同步。在閱讀高級配置時,我偶然發現了這篇文章,其中指出區塊鍊是 geth 和 parity 節點之間的不同大小。怎麼回事?!區塊鏈不應該是相同的嗎?
經過反思,可以通過多種方式在磁碟上表示相同的數據是有道理的……我從來沒有想過,在像 geth/parity 這樣的區塊鏈項目的並行開發過程中,格式會有所不同。
有人對這個有經驗麼?有沒有人將他們的節點從 geth 遷移到 parity/openetherum?如果是這樣,是否像我希望的那樣複製鏈狀態目錄並重新同步?
你絕對不能將數據從 Geth 遷移到 Parity(或從任何其他乙太坊客戶端到另一個)。內部運作是(並且必須是)不同的。不同的團隊做不同的事情。
另一方面,“外部”工作必須相同。通過“外部”工作(我剛才編造的一個片語),我指的是網路協議——節點用來相互交談的語言。
這樣想吧。如果一個團隊將進入塊雜湊的字節儲存為由三個空格分隔的一系列字節(我不知道為什麼會這樣做,但他們可以),另一個團隊儲存由兩個點分隔的相同字節,他們都可以重新創建通過簡單地刪除分隔符來創建塊雜湊所需的原始字節,但每個節點在磁碟上會有不同的數據。