Die Vertragstransaktion wurde an eine „Null“-Adresse gesendet

Ich habe versucht, einen Vertrag über Geth bereitzustellen. Mein Verständnis war, dass beim Erstellen der Transaktion zum Bereitstellen des Vertrags ein Nullwert angegeben werden könnte.

Nachdem ich die Transaktion geschürft hatte, versuchte ich, die Transaktion über den vom rcp-Aufruf zurückgegebenen Hash nachzuschlagen, erhielt ich die folgende Antwort in Geth:

{
  blockHash: "0x06fe2ca8aae95b44057dbb663bed0faf9e8cc4d33418b21067d64de0eaa02f51",
  blockNumber: 37,
  from: "0x3440825288a9de705e2dbc26e4f6494b4d1f6426",
  gas: 90000,
  gasPrice: 20000000000,
  hash: "0x5e4c06e62aa70544f3349f51521e19454d4b43a224a402492cc256b115208391",
  input: "0x",
  nonce: 2,
  r: "0x3397da9897ee38d81511288de20e19d9b83ec98c056dc28604726749f350fd97",
  s: "0x44e3a8ef63f6e39118287b74deed6aa5b53f4234ad7f0669680bf9f2a4f7e030",
  to: null,
  transactionIndex: 0,
  v: "0x1c",
  value: 0
}

Ist mein Verständnis der Funktionsweise der Vertragsbereitstellung falsch? Warum ist die Adresse in der Blockchain null? Wie kann ich den Vertrag oder zugehörige Methoden/Funktionen aufrufen?

Ich wäre sehr dankbar für jede mögliche Hilfe, die bereitgestellt werden könnte, danke.

Ich verstehe, wenn Sie einen Vertrag in der Geth-Konsole bereitstellen, können Sie die Vertragsadresse zurückerhalten, aber wie kann ich die Vertragsadresse von einem RPC-Aufruf erhalten, der nur den Transaktionshash zurückgibt?
Sicherlich sollte die Blockchain den Ort haben, an dem die Transaktion irgendwohin gesendet wurde. Dies scheint nicht der Fall zu sein, wenn die Transaktion anhand ihres Hashs nachgeschlagen wird (siehe oben). Irgendwelche Ideen, wie ich dies in Bezug auf RPC-Aufrufe tun sollte? Sicherlich muss ich nicht meine eigene Vertragsadresse generieren, bevor ich den RPC-Anruf tätige?

Antworten (2)

Hast du daran gedacht, es abzubauen?

Ungefähr auf halber Höhe dieser Seite: „Wenn eine Transaktion einen Vertrag erstellt, enthält sie auch die Vertragsadresse.“ https://github.com/ethereum/homestead-guide/blob/master/source/contracts-and-transactions/accessing-contracts-and-transactions.rst

Hoffentlich hilft etwas auf dieser Seite.

Der Aufruf, nach dem ich gesucht habe, war eth_getTransactionReceipt, angesichts des Transaktions-Hashs, der die Vertragsadresse im Ergebnis lieferte.
Ich hatte aus irgendeinem Grund daran gedacht, die Transaktion in der Geth-Konsole abzubauen, wenn Sie die Transaktionsdetails erhalten, die das Objekt in meiner ursprünglichen Frage zurückgeben. Aus irgendeinem Grund müssen Sie eth_getTransactionReceipt über rpc aufrufen, um die Adresse anzuzeigen, an der der Vertrag bereitgestellt wird.

Es ist normal, auf null gesetzt zu werden (noch nicht abgebaut). Nach der Erstellung (Abbau) erhält Ihr Vertrag eine Adresse.

prüfen: https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethgettransaction

to: String, 20 Bytes - address of the receiver.
     null when its a contract creation transaction.