10 Commits

Author SHA1 Message Date
Iuri Matias
a3d828af05 move blockchain connection code to its own module 2018-08-22 19:04:30 -04:00
emizzle
53c59263b6 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:03:03 -04:00
emizzle
b474b202b9 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:02:48 -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