La transacción del contrato se envió a una dirección 'nula'

Intenté implementar un contrato a través de geth, entendí que se podía dar un valor nulo al crear la transacción para implementar el contrato.

Después de extraer la transacción, intenté buscar la transacción a través del hash devuelto por la llamada rcp, recibí la siguiente respuesta en 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
}

¿Mi comprensión de cómo funciona la implementación del contrato es incorrecta? ¿Por qué la dirección es nula en la cadena de bloques? ¿Cómo puedo llamar al contrato o métodos/funciones asociados?

Estaría muy agradecido por cualquier ayuda que pudiera ser proporcionada, gracias.

Entiendo que si implementa un contrato en la consola geth, puede obtener la dirección del contrato devuelta, pero ¿cómo puedo obtener la dirección del contrato de una llamada rpc que solo devuelve el hash de la transacción?
Seguramente, la cadena de bloques debería tener la ubicación en la que se envió la transacción a alguna parte, no parece ser el caso cuando se busca la transacción por su hash (ver arriba). ¿Alguna idea de cómo debería hacer esto con respecto a las llamadas de rpc? ¿Seguramente no tendré que generar mi propia dirección de contrato antes de hacer la llamada de rpc?

Respuestas (2)

¿Te acordaste de minarlo?

Aproximadamente a la mitad de esta página, "Si una transacción crea un contrato, también contendrá la dirección del contrato". https://github.com/ethereum/homestead-guide/blob/master/source/contracts-and-transactions/accessing-contracts-and-transactions.rst

Esperemos que algo en esa página ayude.

La llamada que estaba buscando era eth_getTransactionReceipt, dado el hash de la transacción, esto proporcionó la dirección del contrato en el resultado.
Recordé extraer la transacción por alguna razón en la consola geth si obtiene los detalles de la transacción, devuelve el objeto en mi pregunta original. Por alguna razón, debe llamar a eth_getTransactionReceipt a través de rpc para ver la dirección en la que se implementó el contrato.

es normal que se establezca en nulo (aún no extraído) después de la creación (minería) su contrato obtendrá una dirección.

comprobar: https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethgettransaction

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