eth.getCode gibt "0x" an der Vertragsadresse zurück

Beim Bereitstellen eines Vertrags mit Remix im privaten Netz und mit eth.getCode(<contract's address>), erhalte ich "0x"als Ausgabe. Ein einfacher Vertrag wie unten bringt mir auch das gleiche Ergebnis:

pragma solidity ^0.4.0;

contract SimpleStorage {
    uint storedData;

    function set(uint x) {
        storedData = x;
    }

    function get() constant returns (uint) {
        return storedData;
    }
}

Ich habe versucht, das Gaslimit mit --targetgaslimit zu erhöhen, während ich auch geth initiiert habe, aber es hat auch nicht geholfen. Irgendwelche Vorschläge zur Lösung dieses Problems?

Ausgabe von Tx Receipt hinzufügen:

>eth.getTransactionReceipt("0xb0e9618bc1b05b59fc4624ae7c4db9f95f22bfd24982ef55c5f28ce7e626977c")
{
  blockHash: "0xae9bad233840e5acc872f167b3084e037c64d60d93c0229cdd6e9bc8229169d5",
  blockNumber: 26245,
  contractAddress: null,
  cumulativeGasUsed: 22872,
  from: "0x59d974cd767e994176c4950b7a231cb7c5403ec5",
  gasUsed: 22872,
  logs: [],
  logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  root: "0xff06b18b48d1c2822d15cd03af57fd29ec67b69c6051587477858dbe3e4398da",
  to: "0x8584fa5f7c42783647c0fe344abf31b04886bc12",
  transactionHash: "0xb0e9618bc1b05b59fc4624ae7c4db9f95f22bfd24982ef55c5f28ce7e626977c",
  transactionIndex: 0
}
Wurde die Vertragstransaktion geschürft?
Ja, es wird abgebaut, da ich im TransactionReceipt eine gültige Blocknummer sehen kann
contractAddress ist null, daher erhalten Sie keine Rücksendung. Stellen Sie sicher, dass der Adressparameter in Hex ist!
Das Aktualisieren meines Geth-Clients auf v1.7.2 löste das Problem irgendwie!

Antworten (1)

Ich glaube, Sie haben vergessen, Ihrer Vertragsadresse ein 0x hinzuzufügen, wenn Sie diese Funktion aufrufen.

https://github.com/ethereum/wiki/wiki/JavaScript-API web3.eth.getCode

web3.eth.getCode(addressHexString [, defaultBlock] [, callback]) Ruft den Code an einer bestimmten Adresse ab.

Parameter

String – Die Adresse, von der der Code abgerufen werden soll. Number|String – (optional) Wenn Sie diesen Parameter übergeben, wird der mit web3.eth.defaultBlock festgelegte Standardblock nicht verwendet. Funktion - (optional) Wenn Sie einen Rückruf übergeben, wird die HTTP-Anfrage asynchron gemacht. Einzelheiten finden Sie in diesem Hinweis. Kehrt zurück

String – Die Daten an der angegebenen Adresse addressHexString.

Ich hole die Vertragsadresse aus den folgenden Protokollen, die während des Minings generiert wurden: INFO [11-16|14:34:19] Submitted transaction fullhash=0xb0e9618bc1b05b59fc4624ae7c4db9f95f22bfd24982ef55c5f28ce7e626977c recipient=0x8584fa5f7c42783647c0fe344abf31b04886bc12und frage ab eth.getCode("0x8584fa5f7c42783647c0fe344abf31b04886bc12"), was mir "0x" zurückgibt.