15 Commits

Author SHA1 Message Date
Iuri Matias
a44aebe6bc move blockchain connection code to its own module 2018-08-22 19:17:51 -04:00
emizzle
3f0f02b9ef 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.
2018-08-22 19:11:47 -04:00
emizzle
22a2b50a22 Handle geth process exit via crash/kill and also via killing embark blockchain
First case - run `embark run` which starts a blockchain node, then manually kill the `geth` process. Would throw `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` error and ruins the dashboard.

Second case, 1) run `embark blockchain` 2) run `embark run` 3) kill `embark blockchain` throws the error `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` and ruins the dashboard.

The first case was solved by having the child blockchain process that spawns geth listen for geth exit, then kill itself.

The second case required updating of `eth-block-tracker` to v4.0.1 inside of the `embark-web3-provider-engine`. v4.0.1 was a major version update and introduced breaking changes. Those changes were handled inside of `embark-web3-provider-engine`, covered in **blocker** PR https://github.com/jrainville/provider-engine/pull/1.
2018-08-22 19:11:41 -04:00
Iuri Matias
dba9330ec1 fixes due to bad rebase 2018-08-22 18:36:34 -04:00
Iuri Matias
15aa5d6e75 fixes due to bad rebase 2018-08-22 18:32:43 -04:00
Iuri Matias
b24c9e296b fixes due to bad rebase 2018-08-22 18:21:44 -04:00
Iuri Matias
3be7782237 move blockchain connection code to its own module 2018-08-22 16:29:36 -04:00
emizzle
f36dfd0b1c Handle geth process exit via crash/kill and also via killing embark blockchain
First case - run `embark run` which starts a blockchain node, then manually kill the `geth` process. Would throw `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` error and ruins the dashboard.

Second case, 1) run `embark blockchain` 2) run `embark run` 3) kill `embark blockchain` throws the error `{ [Error: connect ECONNREFUSED 127.0.0.1:8543] message: 'connect ECONNREFUSED 127.0.0.1:8543', code: -32603 }` and ruins the dashboard.

The first case was solved by having the child blockchain process that spawns geth listen for geth exit, then kill itself.

The second case required updating of `eth-block-tracker` to v4.0.1 inside of the `embark-web3-provider-engine`. v4.0.1 was a major version update and introduced breaking changes. Those changes were handled inside of `embark-web3-provider-engine`, covered in **blocker** PR https://github.com/jrainville/provider-engine/pull/1.
2018-08-21 16:34:16 -04:00
Jonathan Rainville
2fe1b05492 use embarkJS secureSend 2018-08-21 16:11:06 -04:00
Jonathan Rainville
c211430fbd use secureSend for deploy 2018-08-21 16:11:06 -04:00
Jonathan Rainville
083c936351 create separate function for secure send 2018-08-21 16:10:22 -04:00
Iuri Matias
53cd27b87d move subscriptions listener to blockchain connector module 2018-08-21 16:09:48 -04:00
Jonathan Rainville
e5c498b59d hotfix network id comparison string vs number 2018-08-21 16:07:58 -04:00
Jonathan Rainville
ca32d7aac0 warn if mismatch on network id 2018-08-21 16:05:59 -04:00
Iuri Matias
4919114f36 move blockchain connection code to its own module 2018-08-21 16:04:22 -04:00