Ich versuche herauszufinden, wie ich einen Vertrag mit web3 in Version 1.0.0-beta.11 bereitstellen kann, und ich weiß nicht, ob ich auf einen Fehler in web3 stoße, ein Inkompatibilitätsproblem mit der Version von solc I. m benutze, oder wenn ich einfach etwas falsch mache.
Ich verwende die neueste Version von Solc, die auf NPM veröffentlicht wurde: 0.4.13. Ich versuche, den folgenden Vertrag bereitzustellen:
contract Greetings {
string message;
function Greetings() {
message = "I am ready!";
}
function setGreetings(string _message) public {
message = _message;
}
function getGreetings() constant returns (string) {
return message;
}
}
mit der folgenden Reihe von Anweisungen, die in einer Knotenkonsole ausgeführt werden:
sourceCode = fs.readFileSync('Greetings.sol').toString()
compiledCode = solc.compile(sourceCode)
contractABI = JSON.parse(compiledCode.contracts[':Greetings'].interface)
[ { constant: false,
inputs: [ [Object] ],
name: ‘setGreetings’,
outputs: [],
payable: false,
type: ‘function’,
signature: ‘0x49da5de4’ },
{ constant: true,
inputs: [],
name: ‘getGreetings’,
outputs: [ [Object] ],
payable: false,
type: ‘function’,
signature: ‘0xca4c3a41’ },
{ inputs: [],
payable: false,
type: ‘constructor’,
signature: ‘constructor’ } ]
contract = new web3.eth.Contract(contractABI)
byteCode = compiledCode.contracts[':Greetings'].bytecode
contract.deploy({data: byteCode, arguments:[]}).send({from: '0x00D1AE0A6fC13B9ecdefA118B94cF95ac16D4ab0', gas: 4700000}).on('error', function(error){console.error(error);}).then(function(newContractInstance){console.log(newContractInstance.options.address)})
und dort auf dem letzten erhalte ich den folgenden kryptischen Fehler:
TypeError: Cannot read property 'length' of undefined
at /Users/jdoe/myproject/node_modules/web3/packages/web3-eth-contract/src/index.js:356:43
irgendeine Ahnung was ich falsch mache?
Scheint, als würden Sie von #948 gebissen . Siehe auch diese andere Frage . -beta.12
Sollte anscheinend in gelöst werden
AbweichenFisch
contractABI
ab der vierten Zeile?Sebastian
AbweichenFisch
prasanna