Commit Graph

34 Commits

Author SHA1 Message Date
emizzle 728713a183
Embark blockchain logs when running standalone
When running `embark blockchain` followed by `embark run` previously, logs generated in the standalone `embark blockchain` process were black boxed and not accessible to the main Embark process.

This is fixed by creating a client IPC connection in the `embark blockchain` process that connects to the IPC server connection running in `embark run`. The connection is made by way of polling `ipc.connect` and continues polling even after a connection is made in case `embark run` is killed and restarted without restarting `embark blockchain`.

`LogHandler` was introduced to extrapolate functionality used in `ProcessLauncher` that needed to also be used in the standalone blockchain process. It also caps the number of logs that are stored in memory per process by a constant value defined in `constants.json`.

A `blockchain_listener` was module was created (and run inside of `embark run`) that listens for logs emitted by the `embark blockchain` client IPC and runs them through the `LogHandler`. Additionally, this module registers the API endpoints needed to handle requests for blockchain process logs in the cockpit (which were 404’ing before).

# Conflicts:
#	lib/modules/blockchain_process/blockchain.js
2018-10-25 12:51:43 +02:00
Iuri Matias 7532562e28
rebase fixes 2018-10-23 10:34:46 +02:00
Michael Bradley, Jr dd4bb22da5
blockchain -- defaultHost, dockerHostSwap 2018-10-23 10:14:00 +02:00
Iuri Matias 95df68e67c
fixes due to bad rebase 2018-10-23 09:46:40 +02:00
Michael Bradley, Jr fc27e710fc
blockchain -- defaultHost, dockerHostSwap 2018-10-23 09:37:24 +02:00
Giuseppe Bertone 81e798c89c
Add support for Parity
Addons
 - New chain initialization and genesis management
 - Option to choose client to use
 - Option to "ping forever" for Geth
 - Creation and unlock of accounts at client's start
 - Utility to fund accounts with ethers
 - Miner settings inside the ethereum client
 - Workaround to CORS problem: origin is now http://embark
 - Several double callback's checks

Updates
 - Boilerplate, templates, configuration files and demo stuff
 - Messages and i18n strings
 - Tests

Fixes
 - Geth client now uses miner.gastarget instead of the deprecated targetGasLimit
 - Workaround for shh_version with Parity

Reworks of other PRs into the new code
 - Included delayed proxy
 - Send ready only when the proxy is started
 - Start HTTP and WS proxies individually
 - Async setupProxy
 - Fixed datadir for GethMiner
2018-10-22 19:53:49 +02:00
emizzle 3e9abdcdd2
fix rebase 2018-10-22 19:33:40 +02:00
Iuri Matias 967703a333
restore ws functionality to webserver 2018-10-22 19:30:12 +02:00
emizzle f378ea55da
fix rebase #2 2018-10-22 19:30:12 +02:00
emizzle 58ba0549c4
Fix rebase 2018-10-22 19:30:12 +02:00
Iuri Matias 58a75f5080
restore ws functionality to webserver 2018-10-22 19:25:19 +02:00
Michael Bradley, Jr 5d4ac32a2a
Boolean() -> !! 2018-10-22 19:25:14 +02:00
Iuri Matias 4b81968482
restore ws functionality to webserver 2018-10-22 19:24:41 +02:00
Iuri Matias a7a6a03bfe make linter happy 2018-09-28 16:38:42 -04:00
Iuri Matias 24d661a65e fix blockchain defaults for config-less dapps 2018-09-28 16:32:37 -04:00
Iuri Matias 71cbb07ad8
Merge pull request #878 from embark-framework/bug_fix/minewhenneeded-fixes-3
Fix datadir for miner (PR for next branch)
2018-09-21 09:36:06 -04:00
Anthony Laibe 907b486531 Send ready only when the proxy is started 2018-09-20 10:16:48 +01:00
Iuri Matias 4a321e3c0c coerce boolean value using more commmon !! 2018-09-20 15:33:33 +10:00
emizzle ab7784c1e9 Fix datadir for miner
The datadir path was not being passed to the miner, was resolving as `undefined`, and therefore, was not setting up an ipc connection correctly and no communication was happening.

The fix passes the `datadir` from the blockchain config to the miner in the constructor.
2018-09-20 15:30:06 +10:00
emizzle c477445896 Start HTTP and WS proxies individually
As geth is starting up, the output is monitored for endpoint info. Once the HTTP or WS endpoints are opened, the corresponding proxies are started.

This is more maintainable in the long run in case the geth process being started does not allow for rpc or websockets, or geth modifies the order in which endpoint are opened.
2018-09-20 15:08:02 +10:00
Michael Bradley, Jr eba9ce361e setupProxy should not be conditional on isDev 2018-09-19 22:31:54 -05:00
Michael Bradley, Jr 917757b04c outer function doesn't need to be async 2018-09-19 21:13:19 -05:00
Michael Bradley, Jr aae7954020 await proxy just before createFundAndUnlockAccounts 2018-09-19 20:11:36 -05:00
Michael Bradley, Jr 35c772d727 async setupProxy 2018-09-19 20:10:46 -05:00
Anthony Laibe 4c0b4c2410 Delay the start of the proxy 2018-09-18 12:12:17 +01:00
emizzle 472b87f4cd Adding back calling code block for dev_funds
This may have been removed in the rebase, adding it back in.
2018-09-17 22:48:24 +10:00
Anthony Laibe 8ffc9b89e2 Swarm use local data dir 2018-09-13 13:37:44 +01:00
Anthony Laibe df651865c1 Enable no-else-return 2018-08-30 14:53:04 +01:00
Anthony Laibe 23f7ec396a Allow zero config in blockchain 2018-08-27 10:06:37 +01:00
Iuri Matias 792e7dff5b lint is king 2018-08-21 16:12:57 -04:00
Iuri Matias 58ba4bde48 move simulator & proxy to blockchain process module 2018-08-21 16:07:58 -04:00
Jonathan Rainville 363608287f fixes and linting 2018-08-21 16:05:59 -04:00
Iuri Matias dc86cbaccb move proxy out of core 2018-08-21 16:02:18 -04:00
Iuri Matias d7c67ffcf7 move blockchain process related files into blockchain module 2018-08-21 16:02:18 -04:00