Dapps
在資源有限的 VPS 伺服器上監聽事件
我需要在資源有限(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/ )