From cc6ca349bb416544172b16b304ed440592e830dd Mon Sep 17 00:00:00 2001 From: Jayson Date: Sun, 24 May 2020 16:11:43 -0600 Subject: [PATCH 1/3] allow connection to external ganache-cli server --- .../common/services/EthereumChainService.js | 7 +- .../config/ConfigScreens/ServerScreen.js | 75 +++++++++++++------ src/main/types/settings/flavors/ethereum.js | 3 +- static/node/chain/chain.js | 8 +- 4 files changed, 65 insertions(+), 28 deletions(-) diff --git a/src/integrations/ethereum/common/services/EthereumChainService.js b/src/integrations/ethereum/common/services/EthereumChainService.js index 836a09045..1d8888ec5 100644 --- a/src/integrations/ethereum/common/services/EthereumChainService.js +++ b/src/integrations/ethereum/common/services/EthereumChainService.js @@ -22,6 +22,7 @@ class EthereumChainService extends EventEmitter { constructor(config) { super(); this.config = config; + console.log(config) } start() { @@ -149,12 +150,12 @@ class EthereumChainService extends EventEmitter { _exitHandler(code, signal) { this._child = null; if (code != null) { - this.emit("message", + this.emit("message", "error", `Blockchain process exited prematurely with code '${code}', due to signal '${signal}'.`, ); } else { - this.emit("message", + this.emit("message", "error", `Blockchain process exited prematurely due to signal '${signal}'.`, ); @@ -163,7 +164,7 @@ class EthereumChainService extends EventEmitter { _stdHandler (stdio, data) { // Remove all \r's and the final line ending - this.emit("message", + this.emit("message", stdio, data .toString() diff --git a/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js b/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js index b9b852394..2d707d577 100644 --- a/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js +++ b/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js @@ -246,6 +246,35 @@ class ServerScreen extends Component { +
+

CONNECT TO SERVER

+
+
+
+ + +
+
+
+

+ Connect to server specified above, or start a server with those settings. + Enabling this feature expects that you have a ganace server running. +

+
+
+
+

AUTOMINE

@@ -330,7 +359,7 @@ class ServerScreen extends Component {
- +

CHAIN FORKING

@@ -372,54 +401,54 @@ class ServerScreen extends Component {
@@ -452,13 +481,13 @@ class ServerScreen extends Component { value={this.props.config.settings.workspace.server.fork_block_number || ""} onChange={this.validateChange.bind(this)} /> -
+

The URL of the block number to fork from, e.g., 56789

- +
- + diff --git a/src/main/types/settings/flavors/ethereum.js b/src/main/types/settings/flavors/ethereum.js index 6b2a94021..437ff565c 100644 --- a/src/main/types/settings/flavors/ethereum.js +++ b/src/main/types/settings/flavors/ethereum.js @@ -13,6 +13,7 @@ module.exports = { unlocked_accounts: [], locked: false, vmErrorsOnRPCResponse: true, + connectToServer: true, logger: null, verbose: false, gasLimit: 6721975, @@ -22,4 +23,4 @@ module.exports = { fork_block_number: null }, projects: [], -} \ No newline at end of file +} diff --git a/static/node/chain/chain.js b/static/node/chain/chain.js index 7fbe7513b..2005e5c9a 100644 --- a/static/node/chain/chain.js +++ b/static/node/chain/chain.js @@ -50,7 +50,13 @@ async function stopServer() { async function startServer(options) { await stopServer(); - + if (options.connectToServer) { + process.send({ type: "server-started", data: { + + } }); + return + } + let sanitizedOptions = Object.assign({}, options); delete sanitizedOptions.mnemonic; From 4910daee9fa4262676611e736cde14c84949210b Mon Sep 17 00:00:00 2001 From: Jayson Date: Sun, 24 May 2020 16:17:07 -0600 Subject: [PATCH 2/3] revert console.log --- .../ethereum/common/services/EthereumChainService.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/integrations/ethereum/common/services/EthereumChainService.js b/src/integrations/ethereum/common/services/EthereumChainService.js index 1d8888ec5..f0f8a4e07 100644 --- a/src/integrations/ethereum/common/services/EthereumChainService.js +++ b/src/integrations/ethereum/common/services/EthereumChainService.js @@ -22,7 +22,6 @@ class EthereumChainService extends EventEmitter { constructor(config) { super(); this.config = config; - console.log(config) } start() { From 82f73d576f6641863c703049138b5d3148f5489d Mon Sep 17 00:00:00 2001 From: Jayson Date: Sun, 24 May 2020 16:18:37 -0600 Subject: [PATCH 3/3] fix typo --- .../renderer/screens/config/ConfigScreens/ServerScreen.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js b/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js index 2d707d577..c31365d1a 100644 --- a/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js +++ b/src/integrations/ethereum/renderer/screens/config/ConfigScreens/ServerScreen.js @@ -269,7 +269,7 @@ class ServerScreen extends Component {

Connect to server specified above, or start a server with those settings. - Enabling this feature expects that you have a ganace server running. + Enabling this feature expects that you have a Ganache server running.