Problem beim Kompilieren/Bereitstellen des Solidity-Vertrags

Ich versuche, einen einfachen Vertrag zu kompilieren und bereitzustellen:

 var Web3 = require("web3");
 var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

var source = "" +
"contract test {\n" +
"   function multiply(uint a) returns(uint d) {\n" +
"       return a * 7;\n" +
"   }\n" +
"}\n";
var compiled = web3.eth.compile.solidity(source);
console.log(compiled);

Aufgrund der Dokumentation hatte ich so etwas erwartet:

"test": {
"code": "0x605280600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b60376004356041565b8060005260206000f35b6000600782029050604d565b91905056",
"info": {
  "source": "contract test {\n\tfunction multiply(uint a) returns(uint d) {\n\t\treturn a * 7;\n\t}\n}\n",
  "language": "Solidity",
  "languageVersion": "0",
  "compilerVersion": "0.8.2",
  "abiDefinition": [
    { ...

aber was ich bekomme ist:

0x606060405260308060106000396000f3606060405260e060020a6000350463c6888fa18114601c575b6002565b346002576007600435026060908150f3209

Ich bin mir nicht sicher, wie ich daraus einen neuen Vertrag erstellen soll, da Beispiele, die ich gefunden habe, sagen, dass ich so etwas tun sollte

var greeterContract = web3.eth.contract(compiled.test.info.abiDefinition);

 var greeter = greeterContract.new(_greeting,{from:web3.eth.accounts[0], data: compiled.test.code, gas: 1000000}, function(e, contract){

Irgendwelche Ideen, was ich falsch gemacht habe?

PS Ich verwende Parity als Anbieter

Eine Schritt-für-Schritt-Anleitung, aber mit geth, ist unter ethereum.stackexchange.com/questions/2751/… verfügbar .

Antworten (1)

eth_compileSolidityKlingt so, als ob Parity nicht gemäß den Spezifikationen implementiert wird .

Bearbeiten: Sieht aus wie ein Grund, warum sie nicht das vollständige Ergebnis zurückgeben, ist, dass sie es (noch) nicht können. Laut diesem Link erhalten sie die ABI nicht von der Kompilierung: https://github.com/ethcore/parity/issues/2276#issuecomment-249277973

Bearbeiten 2: Sieht so aus, als gäbe es hier ein Gespräch darüber: https://github.com/ethcore/parity/issues/2272