Timeline for How to continue to watch the `Events` from the point `geth` was closed?
Current License: CC BY-SA 3.0
15 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Apr 13, 2017 at 13:01 | history | edited | CommunityBot |
replaced http://ethereum.stackexchange.com/ with https://ethereum.stackexchange.com/
|
|
Jan 24, 2017 at 8:15 | comment | added | nergall | I'm facing the same issue myself and I think I'm leaning towards keeping the latest 'handled' block in the DB - the block for which I already processed the events. And then when restarting the server (or geth), listen to all events starting from the one I fully processed + 1. There's still a case in which I can receive the same event twice but that I think should be handled by the business logic if it's critical. | |
Jan 23, 2017 at 18:04 | history | edited | alper | CC BY-SA 3.0 |
deleted 99 characters in body
|
Jan 23, 2017 at 16:11 | history | edited | alper | CC BY-SA 3.0 |
added 33 characters in body
|
Jan 23, 2017 at 16:03 | history | edited | alper | CC BY-SA 3.0 |
added 33 characters in body
|
Jan 23, 2017 at 16:02 | comment | added | alper |
Correct, I just want to continue to watch the Events form the latest block that is seen on the node's geth which is closed. So I have to recall theDAOVotedEvent.watch() with new defined fromBlock: ' ', toBlock: ' ' values. Think it like a pipe . The point is I don't want to see the all Events for efficiency and I just want to continue to watch where it is closed and trigger my contract's function if new Event is already come.
|
|
Jan 23, 2017 at 15:44 | comment | added | FrenchieiSverige |
Always remember that each node of the blockchain has a copy of all transactions that has been mined. So when you are going to open your geth , geth will automatically download a copy of all transactions that happened during your offline time. But your smart contract is still on the blockchain, and running thanks to the other nodes. So events will still be fired, even you are offline. Then, you will just need to use web3.eth.filter(address:YourSmartContractAdress, topic:'YourFunction') to see all events .
|
|
Jan 23, 2017 at 15:38 | comment | added | alper |
You are right and I thought like you as to run geth all the time. But if there is a electricity shut down (which will force geth to shut down for coupe of minutes) or I may need to restart the node (if it is overloaded) there will be missed blocks and missed Events. I just want to rely my system %100 and not to miss any generated Event . @FrenchieiSverige
|
|
Jan 23, 2017 at 15:24 | comment | added | FrenchieiSverige | I don't get why you need to close geth. Because as you mentioned at the end, geth need to get synch (which is normal, because Transactions happened during geth was stopped). Why just not running geth all the time? | |
Jan 23, 2017 at 15:17 | history | edited | alper | CC BY-SA 3.0 |
deleted 10 characters in body
|
Jan 23, 2017 at 15:10 | history | edited | alper | CC BY-SA 3.0 |
added 129 characters in body
|
Jan 23, 2017 at 13:26 | history | edited | alper | CC BY-SA 3.0 |
added 7 characters in body
|
Jan 23, 2017 at 12:44 | history | edited | alper | CC BY-SA 3.0 |
deleted 1 character in body
|
Jan 23, 2017 at 12:36 | history | edited | alper | CC BY-SA 3.0 |
added 195 characters in body
|
Jan 23, 2017 at 12:30 | history | asked | alper | CC BY-SA 3.0 |