Go-Ethereum
過濾器:logs.blockNumber = undefined
我有以下程式碼:
var filter = web3.eth.filter({ fromBlock:4076955, toBlock:"latest", address:"0x0123456789012345678901234567890123456789" }); filter.get(function(error,logs){ if (!error) { console.log("Found block " + logs.blockNumber); console.log(JSON.stringify(logs,null,2)); } }
當我執行程式碼時,我得到:
Found block undefined []
我本來希望得到一個數字
logs.blockNumber
和一個對像作為返回值(來源: https ://github.com/ethereum/wiki/wiki/JavaScript-API#watch-callback-return-value )**問題:**為什麼我沒有得到預期的結果?
也許,問題是因為
filter.get()
返回日誌數據,只有web3.eth.filter
在您正在查看的事務出現之前初始化。更多資訊在這個問題。
我認為這是因為傳遞給回調的結果
filter.get
是一個條目數組。我找不到任何我之前做過的程式碼範例,但我很確定logs
在你的回調中是一組塊或日誌,而不僅僅是一個。嘗試只是傳遞console.log.bind(console)
給filter.get
,看看原始值是什麼?