ethereumjs/keythereum

I keep getting an initialization error on require("keythereum")

Closed this issue · 5 comments

I already did npm install with keythereum="^0.2.5" in the packages (even removed all node_modules and reinstalled)
In code I simply do the following which generates the error:
var keythereum = require('keythereum');

module initialization error: Error at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/var/task/node_modules/ethereumjs-util/index.js:1:76) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17)

Any ideas?

I haven't seen this error before. It looks like it's choking on ethereumjs-util. Are you able to install ethereumjs-util on its own and require it, without generating this error?

Other helpful info: what OS and Node versions are you using? Are you running this in Node or in the browser (if browser, which one?)?

I'm running this on AWS Lambda, locally everything works fine.

I tried what you asked to simply include ethereumjs-util, and it also gives
me an error:

INSTALLED DEPENDENCIES:

"dependencies": {
"ethereumjs-util": "^4.1.0",
}

FUNCTION:

var util = require('ethereumjs-util');

var x = util.sha3("This is my message");

var response = {
message: x
};

ERROR:
{

  • errorMessage:
    "/var/task/node_modules/ethereumjs-util/node_modules/keccakjs/node_modules/sha3/build/Release/sha3.node:
    undefined symbol: node_module_register",
  • errorType: "Error",
  • stackTrace:
    [
    • "Module.load (module.js:356:32)",
    • "Function.Module._load (module.js:312:12)",
    • "Module.require (module.js:364:17)",
    • "require (module.js:380:17)",
    • "Object.
      (/var/task/node_modules/ethereumjs-util/node_modules/keccakjs/index.js:1:80)"
      ,
    • "Module._compile (module.js:456:26)",
    • "Object.Module._extensions..js (module.js:474:10)",
    • "Module.load (module.js:356:32)",
    • "Function.Module._load (module.js:312:12)",
    • "Module.require (module.js:364:17)"
      ]

}

Any idea what this could be?

Cox Davy
www.brainframe.me
Brainframe Technologies S.àr.l. au capital de 20.000 € * | 00352* 26780053
*Autorisation d'établissement: N° 10064632 | RCSL B.203.013 | TVA:
LU28203280 *

Disclaimer

*Les informations contenues dans ce message sont destinées exclusivement à
l’usage de la personne à laquelle elles sont adressées. Elles peuvent
contenir des données confidentielles et/ou privilégiées et/ou protégées par
des droits de propriété intellectuelle ou d’autres lois. Si vous avez reçu
ce message par erreur, veuillez le détruire, ainsi que toutes ses annexes,
et notifier son expéditeur ; il vous est interdit de copier ou d’utiliser
ce messages ou ses annexes ou de divulguer son contenu à quiconque. La
transmission de données par e-mail ne peut être garantie comme un moyen sûr
et infaillible, ni comme étant exempt de tout virus. L’expéditeur décline
toute responsabilité en cas de perte ou de dommage résultant de ce message
ou de son utilisation, quelle qu’elle soit. *

*The information contained in this message is intended for the addressee
only and may contain confidential and/or privileged information and/or
information protected by intellectual property rights or other legal rules.
If you are not the intended recipient, please delete this message and any
attachment to it and notify the sender; you may not copy or use this
message or its attachments in any way nor disclose its contents to anyone.
Emails cannot be guaranteed to be secure or to be error or virus free. No
liability is accepted by the sender for any loss damage arising in any way
from this message or its use. *

On Wed, Mar 9, 2016 at 5:59 PM, Jack Peterson notifications@github.com
wrote:

I haven't seen this error before. It looks like it's choking on
ethereumjs-util https://github.com/ethereumjs/ethereumjs-util. Are you
able to install ethereumjs-util on its own and require it, without
generating this error?

Other helpful info: what OS and Node versions are you using? Are you
running this in Node or in the browser (if browser, which one?)?


Reply to this email directly or view it on GitHub
#8 (comment)
.

Disclaimer

*The information contained in this message is intended for the addressee
only and may contain confidential and/or privileged information and/or
information protected by intellectual property rights or other legal rules.
If you are not the intended recipient, please delete this message and any
attachment to it and notify the sender; you may not copy or use this
message or its attachments in any way nor disclose its contents to anyone.
Emails cannot be guaranteed to be secure or to be error or virus free. No
liability is accepted by the sender for any loss damage arising in any way
from this message or its use. *

*Les informations contenues dans ce message sont destinées exclusivement à
l’usage de la personne à laquelle elles sont adressées. Elles peuvent
contenir des données confidentielles et/ou privilégiées et/ou protégées par
des droits de propriété intellectuelle ou d’autres lois. Si vous avez reçu
ce message par erreur, veuillez le détruire, ainsi que toutes ses annexes,
et notifier son expéditeur ; il vous est interdit de copier ou d’utiliser
ce messages ou ses annexes ou de divulguer son contenu à quiconque. La
transmission de données par e-mail ne peut être garantie comme un moyen sûr
et infaillible, ni comme étant exempt de tout virus. L’expéditeur décline
toute responsabilité en cas de perte ou de dommage résultant de ce message
ou de son utilisation, quelle qu’elle soit. *

I also tried with dependency v1.3.6 of utils like the one from keythereum:

"dependencies": {
"ethereumjs-util": "^1.3.6",

Then I get a slightly different error, but it seems to have something to do
with sha3

{

  • errorMessage:
    "/var/task/node_modules/ethereumjs-util/node_modules/sha3/build/Release/sha3.node:
    undefined symbol: node_module_register",
  • errorType: "Error",
  • stackTrace:
    [
    • "Module.load (module.js:356:32)",
    • "Function.Module._load (module.js:312:12)",
    • "Module.require (module.js:364:17)",
    • "require (module.js:380:17)",
    • "Object.
      (/var/task/node_modules/ethereumjs-util/index.js:1:76)",
    • "Module._compile (module.js:456:26)",
    • "Object.Module._extensions..js (module.js:474:10)",
    • "Module.load (module.js:356:32)",
    • "Function.Module._load (module.js:312:12)",
    • "Module.require (module.js:364:17)"
      ]

}

Cox Davy
www.brainframe.me
Brainframe Technologies S.àr.l. au capital de 20.000 € * | 00352* 26780053
*Autorisation d'établissement: N° 10064632 | RCSL B.203.013 | TVA:
LU28203280 *

Disclaimer

*Les informations contenues dans ce message sont destinées exclusivement à
l’usage de la personne à laquelle elles sont adressées. Elles peuvent
contenir des données confidentielles et/ou privilégiées et/ou protégées par
des droits de propriété intellectuelle ou d’autres lois. Si vous avez reçu
ce message par erreur, veuillez le détruire, ainsi que toutes ses annexes,
et notifier son expéditeur ; il vous est interdit de copier ou d’utiliser
ce messages ou ses annexes ou de divulguer son contenu à quiconque. La
transmission de données par e-mail ne peut être garantie comme un moyen sûr
et infaillible, ni comme étant exempt de tout virus. L’expéditeur décline
toute responsabilité en cas de perte ou de dommage résultant de ce message
ou de son utilisation, quelle qu’elle soit. *

*The information contained in this message is intended for the addressee
only and may contain confidential and/or privileged information and/or
information protected by intellectual property rights or other legal rules.
If you are not the intended recipient, please delete this message and any
attachment to it and notify the sender; you may not copy or use this
message or its attachments in any way nor disclose its contents to anyone.
Emails cannot be guaranteed to be secure or to be error or virus free. No
liability is accepted by the sender for any loss damage arising in any way
from this message or its use. *

On Wed, Mar 9, 2016 at 6:22 PM, Davy Cox dcox@brainframe.me wrote:

I'm running this on AWS Lambda, locally everything works fine.

I tried what you asked to simply include ethereumjs-util, and it also
gives me an error:

INSTALLED DEPENDENCIES:

"dependencies": {
"ethereumjs-util": "^4.1.0",
}

FUNCTION:

var util = require('ethereumjs-util');

var x = util.sha3("This is my message");

var response = {
message: x
};

ERROR:
{

  • errorMessage: "/var/task/node_modules/ethereumjs-util/node_modules/keccakjs/node_modules/sha3/build/Release/sha3.node:
    undefined symbol: node_module_register",
  • errorType: "Error",
  • stackTrace:
    [
    • "Module.load (module.js:356:32)",
    • "Function.Module._load (module.js:312:12)",
    • "Module.require (module.js:364:17)",
    • "require (module.js:380:17)",
    • "Object.
      (/var/task/node_modules/ethereumjs-util/node_modules/keccakjs/index.js:1:80)"
      ,
    • "Module._compile (module.js:456:26)",
    • "Object.Module._extensions..js (module.js:474:10)",
    • "Module.load (module.js:356:32)",
    • "Function.Module._load (module.js:312:12)",
    • "Module.require (module.js:364:17)"
      ]

}

Any idea what this could be?

Cox Davy
www.brainframe.me
Brainframe Technologies S.àr.l. au capital de 20.000 € * | 00352*
26780053
*Autorisation d'établissement: N° 10064632 | RCSL B.203.013 | TVA:
LU28203280 *

Disclaimer

*Les informations contenues dans ce message sont destinées exclusivement à
l’usage de la personne à laquelle elles sont adressées. Elles peuvent
contenir des données confidentielles et/ou privilégiées et/ou protégées par
des droits de propriété intellectuelle ou d’autres lois. Si vous avez reçu
ce message par erreur, veuillez le détruire, ainsi que toutes ses annexes,
et notifier son expéditeur ; il vous est interdit de copier ou d’utiliser
ce messages ou ses annexes ou de divulguer son contenu à quiconque. La
transmission de données par e-mail ne peut être garantie comme un moyen sûr
et infaillible, ni comme étant exempt de tout virus. L’expéditeur décline
toute responsabilité en cas de perte ou de dommage résultant de ce message
ou de son utilisation, quelle qu’elle soit. *

*The information contained in this message is intended for the addressee
only and may contain confidential and/or privileged information and/or
information protected by intellectual property rights or other legal rules.
If you are not the intended recipient, please delete this message and any
attachment to it and notify the sender; you may not copy or use this
message or its attachments in any way nor disclose its contents to anyone.
Emails cannot be guaranteed to be secure or to be error or virus free. No
liability is accepted by the sender for any loss damage arising in any way
from this message or its use. *

On Wed, Mar 9, 2016 at 5:59 PM, Jack Peterson notifications@github.com
wrote:

I haven't seen this error before. It looks like it's choking on
ethereumjs-util https://github.com/ethereumjs/ethereumjs-util. Are you
able to install ethereumjs-util on its own and require it, without
generating this error?

Other helpful info: what OS and Node versions are you using? Are you
running this in Node or in the browser (if browser, which one?)?


Reply to this email directly or view it on GitHub
#8 (comment)
.

Disclaimer

*The information contained in this message is intended for the addressee
only and may contain confidential and/or privileged information and/or
information protected by intellectual property rights or other legal rules.
If you are not the intended recipient, please delete this message and any
attachment to it and notify the sender; you may not copy or use this
message or its attachments in any way nor disclose its contents to anyone.
Emails cannot be guaranteed to be secure or to be error or virus free. No
liability is accepted by the sender for any loss damage arising in any way
from this message or its use. *

*Les informations contenues dans ce message sont destinées exclusivement à
l’usage de la personne à laquelle elles sont adressées. Elles peuvent
contenir des données confidentielles et/ou privilégiées et/ou protégées par
des droits de propriété intellectuelle ou d’autres lois. Si vous avez reçu
ce message par erreur, veuillez le détruire, ainsi que toutes ses annexes,
et notifier son expéditeur ; il vous est interdit de copier ou d’utiliser
ce messages ou ses annexes ou de divulguer son contenu à quiconque. La
transmission de données par e-mail ne peut être garantie comme un moyen sûr
et infaillible, ni comme étant exempt de tout virus. L’expéditeur décline
toute responsabilité en cas de perte ou de dommage résultant de ce message
ou de son utilisation, quelle qu’elle soit. *

Hm, I have had npm spit out errors about sha3 before, although if I remember correctly these were during installation and had something to do with a libgmp dependency. Try this:

sudo apt-get install libgmp-dev libgmp3-dev

Then nuke keythereum (rm -Rf node_modules && npm install) and try requiring again. Same error? If so, are you able to install/run the secp256k1 module? It's partially native code, which is both fast and headache-inducing...

Closing this issue for now; feel free to re-open if you're still experiencing this issue.