Tengo un contrato que compila en browser solidity y solc. Usando el código de implementación generado automáticamente en la solidez del navegador o mi propia versión de npm, termino con el error
"myContract.new" no es una función.
Esto, según entendí, es una función intrínseca al tipo de Contrato, ya que es necesario para el despliegue. cuando lo hago console.log(myContract)
me sale
[Función: Contrato vinculado].
Cuando trato de implementar, también hay un mensaje de error extremadamente inútil / salida de código aleatorio:
node_modules/solc/soljson.js:1 (función (exportaciones, requerir, módulo, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var clave yo Módulo){if(Módulo.hasOwnProperty(clave)){moduleOverrides[clave]=Módulo[clave]}}var ENVIRONMENT_IS_WEB=tipodeventana==="objeto";var ENVIRONMENT_IS_WORKER=typeof importScripts==="función";var ENVIRONMENT_IS_NODE=tipodeproceso==="objeto"&&tipode require==="función"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=función print(x){proceso["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=función imprimirErr(x){proceso["stderr"].escribir(x+"\n")};var nodeFS=require("fs");var nodePath=require("ruta");Módulo["leer"]=función leer (nombre de archivo, binario) {nombre de archivo = nodePath ["normalizar"] (nombre de archivo); var ret=nodeFS["readFileSync"](nombre de archivo);if(!re
Asegúrese de estar utilizando la versión adecuada de web3 para js.
Por ejemplo, ethereum.js
parece estar desactualizado
Así que asegúrese de que su secuencia de comandos javascript comience con:
var Web3 = require('web3');
var web3 = new Web3();
no
var web3 = require('ethereum.js');
Xavier Leprêtre B9lab
contract
oContract
? Solo para asegurarse de que no está usando palabras reservadas.