Json-Rpc
為什麼不能使用過濾器(eth_newFilter)追溯擷取事件?
我
eth_newFilter
在一組交易之前和之後放置了相同的過濾器。在事務擷取 0 個事件後安裝的那個。事件是如何運作的?除了 ,還有其他方法可以追溯地捕捉事件eth_getLogs
嗎?from ethjsonrpc import EthJsonRpc c = EthJsonRpc('127.0.0.1', 8545) ADDRESS = "0xdb1154368ba2645e6c090f3d1f3ddd5c8c1f8008" params = { "fromBlock": "0x01", "address": ADDRESS } before = c.eth_newFilter(params) for i in range(100): tx = c.call_with_transaction(c.eth_coinbase(), ADDRESS, 'setValue(uint32)', [i]) receipt = c.eth_getTransactionReceipt(tx) after = c.eth_newFilter(params) print len(c.eth_getFilterLogs(before)) // 100 print len(c.eth_getFilterLogs(after)) // 0 print len(c.eth_getLogs(params)) // 100
我正在使用 testrpc 作為區塊鏈客戶端。
不幸的是,TestRPC 不支持過去的事件。您可以嘗試使用此處詳述的私有 Geth 鏈。