From 86480440b162bc128f1ef57ba23bf3a5ab3af6cd Mon Sep 17 00:00:00 2001 From: emizzle Date: Tue, 26 Jun 2018 12:59:14 +1000 Subject: [PATCH] Updated online/offline event checks so they are run during initialisation. Changed the online event to `once` and set it to be bound every time the node goes offline. The above changes handle the case where: 1) `embark run` runs and starts geth. 2) geth is killed manually 3) `embark blockchain` is run in separate process to restart geth 4) the `embark run` process detects this change and restarts the web3 provider and recompiles/deploys/builds Every time `embark blochain` is restarted, an error is appended and all are emitted from the `eth-block-tracker`. This is a bug but can't figure out where it originates. The downside is that if, for example, `embark blockchain` is restarted 4 times, there will be 4 errors emitted from the `eth-block-tracker`. Because of this, errors emitted from `eth-block-tracker` have been reduced to trace to avoid clogging the logs. --- lib/modules/blockchain_connector/index.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/modules/blockchain_connector/index.js b/lib/modules/blockchain_connector/index.js index 6ab95f25..84593ffd 100644 --- a/lib/modules/blockchain_connector/index.js +++ b/lib/modules/blockchain_connector/index.js @@ -235,14 +235,6 @@ class BlockchainConnector { if (err && err !== NO_NODE) { return cb(err); } - else if ((statusObj && statusObj.status === 'off') || err === NO_NODE){ - self.provider.stop(); - self.events.on('check:backOnline:Ethereum', () => { - self.provider.startWeb3Provider(() => { - self.logger.trace('web3 provider restarted after ethereum node came back online'); - }); - }); - } cb(statusObj); }); }, 5000, 'off');