Go-Ethereum

在 geth 中列出過濾器。它們是否超時並過期?

  • June 19, 2018

假設我進行 JSON-RPC 呼叫以創建一個新過濾器,如下所示(來自文件頁面):

// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'

// Result
{
 "id":1,
 "jsonrpc": "2.0",
 "result": "0x1" // This is the filter ID- 0x1
}

現在我已經在 geth 客戶端註冊了一個過濾器,現在我可以進一步呼叫該過濾器。

我可以去 geth 控制台並列出所有註冊的過濾器(以防我忘記它們或只是出於其他原因)?它們是否會過期/超時,當然除非在重新啟動後清除所有過濾器。

我可以去 geth 控制台並列出所有註冊的過濾器(以防我忘記它們或只是出於其他原因)?

AFAIK 無法列出已安裝的過濾器,至少對於公開的 API。

它們是否會過期/超時,當然除非在重新啟動後清除所有過濾器。

來自JSON RPC 文件:“當一段時間內沒有使用 eth_getFilterChanges 請求過濾器時,過濾器超時。” 在 Geth 實現中,時間段是從最後一次 eth_getFilterChanges 輪詢開始的 5 分鐘,之後過濾器過期。

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