Commit Graph

36 Commits

Author SHA1 Message Date
emizzle f67a807ac8 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-06-26 13:02:41 +10:00
emizzle 4ce7a179fd 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-06-26 13:02:41 +10:00
Jonathan Rainville aa02aeb74c move pingEndpoint to utils 2018-06-19 09:02:19 -04:00
emizzle ba66d763fe Add support for infura network hosts with api key.
Fix bug with non-development code generation.
2018-06-19 15:14:37 +10:00
emizzle b56def7c57 Updated web3 endpoint for use with infura api key and https
Allows `protocol` to be specified in config/contract.js[on] for `<env>/deployment/protocol`.
2018-06-19 14:43:55 +10:00
Jonathan Rainville ed1ac3af2e register web3 after init 2018-06-18 14:33:25 -04:00
Jonathan Rainville eb0ccbe7cc remove useless param 2018-06-15 15:22:06 -04:00
Jonathan Rainville f32ac90e71 enable connecting to ws node in tests 2018-06-15 15:16:55 -04:00
Jonathan Rainville c8c0a5c42f enable websocket provider 2018-06-15 14:35:50 -04:00
Jonathan Rainville dcbd868b78 get gasPrice if no gasPrice set in contract.json 2018-06-14 15:22:50 -04:00
Jonathan Rainville a6a5bac053 use new provider when using account with a node specified 2018-06-07 16:07:58 -04:00
Jonathan Rainville bfc8663a61 change account funding order to enable starting a node before 2018-06-07 12:55:07 -04:00
Iuri Matias cd6dcb7548 fix setting default account 2018-06-06 10:39:02 -04:00
Iuri Matias 37d54e22db refactor services monitor to use events instead of passing addCheck around 2018-06-01 19:32:14 -04:00
Jonathan Rainville b5e96beb81 little oopsie 2018-05-30 12:07:48 -04:00
Jonathan Rainville ff0d24aa1f Merge branch 'features/ipfs-process' of https://github.com/embark-framework/embark into features/ipfs-process
# Conflicts:
#	lib/contracts/blockchain.js
2018-05-30 12:02:30 -04:00
Jonathan Rainville b5d9a86680 start blockchain process at false and deploy on ready 2018-05-30 12:00:44 -04:00
Jonathan Rainville a88ab82261 conflict in blockchain.js 2018-05-30 11:02:01 -04:00
Iuri Matias cd96aebdcd early return if failing to connect to node 2018-05-28 17:55:59 -04:00
Jonathan Rainville 8d9c192e91 fix little oopsie in waterfall 2018-05-28 11:53:35 -04:00
Jonathan Rainville a69d12e637 pass isDev and locale to process 2018-05-23 11:52:07 -04:00
Jonathan Rainville 871c2fb228 fix tests 2018-05-23 11:17:02 -04:00
Jonathan Rainville 6145c0b92c start node only when no node is present 2018-05-23 11:17:02 -04:00
Jonathan Rainville 29a50ea9cd refactor assertNodeConnection to use it in watch 2018-05-23 11:17:02 -04:00
Iuri Matias 315d8c2197 fix merge 2018-05-23 11:17:02 -04:00
Jonathan Rainville aea270af02 detect no node using request 2018-05-23 11:17:01 -04:00
Jonathan Rainville 5f3361d030 conflict in en.json 2018-05-23 11:16:56 -04:00
Iuri Matias 000d7beb27 move code to assert connection to blockchain module 2018-05-23 11:15:06 -04:00
Iuri Matias 78f64945ab remove web3 dependency from deploy tracker; use request instead to get block 2018-05-23 11:15:05 -04:00
Iuri Matias a8e29976b7 move deploy to blockchain component 2018-05-23 11:15:05 -04:00
Iuri Matias 9b1a78cdaa move Contract object to blockchain module 2018-05-23 11:15:05 -04:00
Iuri Matias 84dcfca254 move getBlock to blockchain module 2018-05-23 11:15:05 -04:00
Iuri Matias 1547a115a4 move getCode to blockchain 2018-05-23 11:15:05 -04:00
Iuri Matias ae93d78cc2 move accounts to web3 module 2018-05-23 11:15:04 -04:00
Iuri Matias 4d0ebc03ad move web3 init to its own module 2018-05-23 11:15:04 -04:00
Iuri Matias 28ef2ed067 move web3 utils to utils module 2018-05-23 11:15:04 -04:00