weixin_39723519
weixin_39723519
2020-12-09 12:52

Error: Unknown internal filterID

With Version 2.1.0 I get a new Error when starting Etherwall. ... Unknown internal filterID: Unknown internal filterID: Unknown internal filterID: Unknown internal filterID: Unknown internal filterID: IPC ready, initializing poller Connected to IPC socket Connecting to IPC socket \.\pipe\geth.ipc Geth starting C:/Program Files/Geth/geth.exe --syncmode fast --cache=1024 --maxpeers=48 --datadir C:/Users/User/AppData/Roaming/Ethereum/ --nousb Checking to see if there is an already running geth... Etherwall starting Connecting to main Etherwall server

The error disappears if I deactivate Watches under contracts.

该提问来源于开源项目:almindor/etherwall

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

11条回答

  • weixin_39620334 weixin_39620334 5月前

    Actually going to keep this open and see if I can detect the old version. If not I'll have to wipe any user-made watches with some sort of dialog telling the user.

    I've added a FAQ entry so people can work around.

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Hmm looking at the code there might also be a getLogs problem. Can you please try the work-around and see if it worked?

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Should be fixed now, will release 2.1.1 by Tuesday

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Just a note on what the issue was: when you're on full node client and have a watch Etherwall requests a "history" of events to pre-fill on start.

    The reason why this error didn't pop up on testing was that it only shows up if the watched contract has an event in the given timeframe (usually up to a day). I tested with thin client where history is not loaded at all due to constraints and on testnet but I didn't have a recent event to load.

    Thanks for reporting.

    点赞 评论 复制链接分享
  • weixin_39723519 weixin_39723519 5月前

    Tryed the work around and it helps for Augur but not for XENON, GOLEM and OmiseGo - seems to be connected to the contract itself in some way also then. Should be enough to delete and add the Watch again, don't need to remove and add the contract also, correct?

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Hey so I was wrong in my original assumption. The issue is now fixed in master, will be released with 2.2.1 by Tuesday.

    Basically here's what went wrong: When you have a watch installed you use a "filter" with geth to check for new incoming events. This part changed in order to accommodate for ERC20 "internal" filters to watch your token balances.

    Etherwall also supports getting events from the "past" via the eth_getLogs call which uses the same handler to parse out the resulting data as the filter calls. I forgot to add a new param to this call that identifies the "internal" filter ID and so when this call is made and if there were any events in history to get, you'll get that error for every one of them.

    This only happens if: 1. you're running in full node mode 2. you have at least one watch defined 3. there are historic events for the given watch in the last 1h or so

    I suspect the reason why it worked for Augur is simply that there were no events matching your filter in the hour when you ran it.

    Just to be sure tho I'll post the binary here for testing before releasing so you can confirm it's fixed. You're on windows correct?

    点赞 评论 复制链接分享
  • weixin_39723519 weixin_39723519 5月前

    Yes I am on Windows

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Found out some more problems caused by this, will release an alpha build of 2.1.1 soon so you can test. I'd appreciate if you tested this ASAP so I can release it out.

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Could you please test with: https://github.com/almindor/etherwall/releases/tag/v2.1.1-alpha ? Should have all the logs/events issues fixed.

    Please report success or failure here ASAP. I'll try to make the official release tonight or tomorrow.

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    released 2.1.1 with fix. If you still get issues please reopen

    点赞 评论 复制链接分享
  • weixin_39620334 weixin_39620334 5月前

    Yes old watches are no longer compatible. You'll have to re-create them. I'm afraid I forgot to do the "cleanup" and old stored watches will cause this. It doesn't really do any harm but it makes them useless.

    This is due to how their structure changed and how the new filters are implemented. If you also used the erc20 "alpha" releases any token contracts added need to be re-added.

    I'm going to close this as it's a minor issue with a workaround. If you re-add your watches and still get trouble please reopen.

    点赞 评论 复制链接分享

相关推荐