How to install MetaMask extension in Electron?

I successfully installed the extension from https://github.com/aragon/metamask-plugin

When the Electron application is running, I see that the MetaMask plugin is loaded, but cannot handle it. There are some errors:

Uncaught TypeError: global._runtime.onConnect is not a function at Object.connect (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:139) at setupStreams (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:216) at Object.<anonymous> (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:187) at Object.3../lib/extension (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:265) at s (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1) at e (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1) at blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1 connect @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:139 setupStreams @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:216 (anonymous) @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:187 3../lib/extension @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:265 s @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1 e @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1 (anonymous) @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1 

and

 App.js:49 Uncaught TypeError: window._setupMetaMaskPageStream is not a function at onMetaMaskLoad (http://localhost:1212/dist/renderer.dev.js:1081:14) at onMetaMaskLoad (http://localhost:1212/dist/renderer.dev.js:19790:30) at Object.ReactErrorUtils.invokeGuardedCallback (webpack:///./node_modules/react-dom/lib/ReactErrorUtils.js?:69:16) at executeDispatch (webpack:///./node_modules/react-dom/lib/EventPluginUtils.js?:85:21) at Object.executeDispatchesInOrder (webpack:///./node_modules/react-dom/lib/EventPluginUtils.js?:108:5) at executeDispatchesAndRelease (webpack:///./node_modules/react-dom/lib/EventPluginHub.js?:43:22) at executeDispatchesAndReleaseTopLevel (webpack:///./node_modules/react-dom/lib/EventPluginHub.js?:54:10) at Array.forEach (native) at forEachAccumulated (webpack:///./node_modules/react-dom/lib/forEachAccumulated.js?:24:9) at Object.processEventQueue (webpack:///./node_modules/react-dom/lib/EventPluginHub.js?:254:7) 
+5
source share
1 answer

Both of these errors are scope binding errors. The functions this.setupMetaMaskPageStream and this._runtime.onConnect are called from within the MetaMaskController from other functions, but it seems that they are called without saving the scope of the MetaMask controller, by default for the global context (hence window._setupMetaMaskPageStream ).

Without seeing your code, it's hard to understand how you called these methods with the wrong context, but it probably includes the bind or call functions.

+1
source

Source: https://habr.com/ru/post/1270520/


All Articles