Dapps

在資源有限的 VPS 伺服器上監聽事件

  • November 2, 2017

我需要在資源有限(1 個 vcore、10go SSD、2go RAM)的小型 vps 伺服器上收聽乙太坊區塊鏈上的事件。是否可以在不執行完整的乙太坊節點的情況下這樣做?有哪些不同的選擇及其缺點?

根據乙太坊文件的日誌部分: https ://solidity.readthedocs.io/en/develop/introduction-to-smart-contracts.html#logs

由於部分日誌數據儲存在布隆過濾器中,因此可以以一種有效且加密安全的方式搜尋這些數據,因此不下載整個區塊鏈的網路對等方(“輕客戶端”)仍然可以找到這些日誌.

您可以在此處了解有關輕客戶端的更多資訊: https ://github.com/ethereum/wiki/wiki/Light-client-protocol

  • 輕客戶端想要“監視”記錄的事件。這裡的協議如下:

+ 輕客戶端獲取所有塊頭,檢查包含布隆過濾器的塊頭,這些過濾器與輕客戶端感興趣的所需地址或主題列表之一匹配 + 在找到可能匹配的塊頭後,輕客戶端下載所有交易收據,檢查它們是否存在與布隆過濾器匹配的交易 + 在找到可能匹配的事務後,輕客戶端檢查其實際日誌 RLP,並查看它是否實際匹配

geth 和 parity 都有一個輕量模式:

parity --light --no-serve-light( https://github.com/paritytech/parity/wiki/Light-Client )

geth --syncmode "light"( https://www.reddit.com/r/ethereum/comments/6lzw8y/how_to_run_ethereum_wallet_in_light_mode/ )

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